Bugs fixed:
Calling
GetSchema()
onIndexes
orIndexColumns
failed where index or column names were restricted.In
SchemaProvider.cs
, methodsGetIndexes()
andGetIndexColumns()
passed their restrictions directly toGetTables()
. This only worked if the restrictions were no more specific thanschemaName
andtableName
. IfIndexName
was given, this was passed toGetTables()
where it was treated asTableType
. As a result no tables were returned, unless the index name happened to beBASE TABLE
orVIEW
. This meant that both methods failed to return any rows. (Bug#43991)The
DATETIME
format contained an erroneous space. (Bug#41021)If connection pooling was not set explicitly in the connection string, MySQL Connector/NET added “;Pooling=False” to the end of the connection string when
MySqlCommand.ExecuteReader()
was called.If connection pooling was explicitly set in the connection string, when
MySqlConnection.Open()
was called it converted “Pooling=True” to “pooling=True”.If
MySqlCommand.ExecuteReader()
was subsequently called, it concatenated “;Pooling=False” to the end of the connection string. The resulting connection string was thus terminated with “pooling=True;Pooling=False”. This disabled connection pooling completely. (Bug#40091)MySQL Connector/NET generated the following exception:
System.NullReferenceException: Object reference not set to an instance of an object. bei MySql.Data.MySqlClient.MySqlCommand.TimeoutExpired(Object commandObject) bei System.Threading._TimerCallback.TimerCallback_Context(Object state) bei System.Threading.ExecutionContext.runTryCode(Object userData) bei System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) bei System.Threading._TimerCallback.PerformTimerCallback(Object state)
If, when using the
MySqlTransaction
transaction object, an exception was thrown, the transaction object was not disposed of and the transaction was not rolled back. (Bug#39817)When a prepared insert query is run that contains an
UNSIGNED TINYINT
in the parameter list, the complete query and data that should be inserted is corrupted and no error is thrown. (Bug#37968)Calling
MySqlDataAdapter.FillSchema
on aSELECT
statement that referred to a table that did not exist left the connection in a bad state. After this call, allSELECT
statements returned an empty result set. If theSELECT
statement referred to a table that did exist then everything worked as expected. (Bug#30518)