Functionality Added or Changed
Important change: Due to a number of issues with the use of server-side prepared statements, MySQL Connector/Net 5.0.2 has disabled their use by default. The disabling of server-side prepared statements does not affect the operation of the connector in any way.
To enable server-side prepared statements you must add the following configuration property to your connector string properties:
ignore prepare=false
The default value of this property is true.
Implemented a stored procedure cache. By default, the connector
caches the metadata for the last 25 procedures that are seen.
You can change the number of procedures that are cached by using
the procedure cache connection string.
An Ignore Prepare option has been added to
the connection string options. If enabled, prepared statements
will be disabled application-wide. The default for this option
is true.
Improved CommandBuilder.DeriveParameters to
first try and use the procedure cache before querying for the
stored procedure metadata. Return parameters created with
DeriveParameters now have the name
RETURN_VALUE.
Important change: Binaries for .NET 1.0 are no longer supplied with this release. If you need support for .NET 1.0, you must build from source.
The ICSharpCode ZipLib is no longer used by the Connector, and is no longer distributed with it.
Bugs Fixed
When using a DbNull.Value as the value for a
parameter value, and then later setting a specific value type,
the command would fail with an exception because the wrong type
was implied from the DbNull.Value.
(Bug #24565)
Within Mono, using the PreparedStatement
interface could result in an error due to a
BitArray copying error.
(Bug #18186)
An System.OverflowException would be raised
when accessing a varchar field over 255 bytes.
(Bug #23749)
Using Driver.IsTooOld() would return the
wrong value.
(Bug #24661)
Nested transactions do not raise an error or warning. (Bug #22400)
Additional text added to error message. (Bug #25178)
When adding parameter objects to a command object, if the
parameter direction is set to ReturnValue
before the parameter is added to the command object then when
the command is executed it throws an error.
(Bug #25013)
MySqlConnection throws a
NullReferenceException and
ArgumentNullException when connecting to
MySQL v4.1.7.
(Bug #25726)
When closing and then re-opening a connection to a database, the character set specification is lost. (Bug #25614)
Trying to fill a table schema through a stored procedure triggers a runtime error. (Bug #25609)
One system where IPv6 was enabled, MySQL Connector/Net would incorrectly resolve host names. (Bug #23758)
Times with negative values would be returned incorrectly. (Bug #25912)
The CommandBuilder would mistakenly add
insert parameters for a table column with auto incrementation
enabled.
(Bug #23862)
Using ExecuteScalar() with more than one
query, where one query fails, will hang the connection.
(Bug #25443)
When connecting to a server, the return code from the connection could be zero, even though the host name was incorrect. (Bug #24802)
Stored procedure executions are not thread safe. (Bug #23905)
SELECT did not work correctly
when using a WHERE clause containing a UTF-8
string.
(Bug #25651)
