MySQL Connector/NET Release Notes  /  Changes in MySQL Connector/Net 5.2  /  Changes in MySQL Connector/NET 5.2.8 (Not released)

Changes in MySQL Connector/NET 5.2.8 (Not released)

Bugs Fixed

  • If MySqlConnection.GetSchema was called for "Indexes" on a table named b`a`d as follows:

    DataTable schemaPrimaryKeys = connection.GetSchema(
      "Indexes",
      new string[] { null, schemaName, "b`a`d"});

    Then the following exception was generated:

    You have an error in your SQL syntax; check the manual that corresponds to
    your MySQL server version for the right syntax to use near 'a`d`' at line 1

    (Bug #48101)

  • When the connection string option Connection Reset = True was used, a connection reset used the previously used encoding for the subsequent authentication operation. This failed, for example, if UCS2 was used to read the last column before the reset. (Bug #47153)

  • In the MySqlDataReader class the GetSByte function returned a byte value instead of an sbyte value. (Bug #46620)

  • When trying to create stored procedures from an SQL script, a MySqlException was thrown when attempting to redefine the DELIMITER:

    MySql.Data.MySqlClient.MySqlException was unhandled
    Message="You have an error in your SQL syntax; check the manual that corresponds to your
    MySQL server version for the right syntax to use near 'DELIMITER' at line 1"
    Source="MySql.Data"
    ErrorCode=-2147467259
    Number=1064
    StackTrace:
    à MySql.Data.MySqlClient.MySqlStream.ReadPacket()
    à MySql.Data.MySqlClient.NativeDriver.ReadResult(UInt64& affectedRows, Int64&
    lastInsertId)
    à MySql.Data.MySqlClient.MySqlDataReader.GetResultSet()
    à MySql.Data.MySqlClient.MySqlDataReader.NextResult()
    à MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
    à MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
    à MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
    à MySql.Data.MySqlClient.MySqlScript.Execute()

    Note: The MySqlScript class has been fixed to support the delimiter statement as it is found in SQL scripts. (Bug #46429)

  • The MySQL Connector/NET Profile Provider, MySql.Web.Profile.MySQLProfileProvider, generated an error when running on Mono. When an attempt was made to save a string in Profile.Name the string was not saved to the my_aspnet_Profiles table. If an attempt was made to force the save with Profile.Save() the following error was generated:

    Server Error in '/mono' Application
    
    --------------------------------------------------------------------------------
    
    The requested feature is not implemented.
    Description: HTTP 500. Error processing request.
    
    Stack Trace:
    
    System.NotImplementedException: The requested feature is not implemented.
    at MySql.Data.MySqlClient.MySqlConnection.EnlistTransaction
    (System.Transactions.Transaction transaction) [0x00000]
    at MySql.Data.MySqlClient.MySqlConnection.Open () [0x00000]
    at MySql.Web.Profile.MySQLProfileProvider.SetPropertyValues
    (System.Configuration.SettingsContext context,
    System.Configuration.SettingsPropertyValueCollection collection) [0x00000]
    
    
    --------------------------------------------------------------------------------
    Version information: Mono Version: 2.0.50727.1433; ASP.NET Version: 2.0.50727.1433

    (Bug #46375)

  • When using MySQL Connector/NET 6.0.4 and a MySQL Server 4.1 an exception was generated when trying to execute:

    connection.GetSchema("Columns", ...);

    The exception generated was:

    'connection.GetSchema("Columns")' threw an exception of type
    'System.ArgumentException'System.Data.DataTable {System.ArgumentException}
    base{"Input string was not in a correct format.Couldn't store <'Select'> in
    NUMERIC_PRECISION Column.  Expected type is UInt64."}System.Exception
    {System.ArgumentException}

    (Bug #46270)

  • The MySQL Connector/NET method StoredProcedure.GetParameters(string) ignored the programmer's setting of the UseProcedureBodies option. This broke any application for which the application's parameter names did not match the parameter names in the Stored Procedure, resulting in an ArgumentException with the message Parameter 'foo' not found in the collection. and the following stack trace:

    MySql.Data.dll!MySql.Data.MySqlClient.MySqlParameterCollection.GetParameterFlexible(stri
    ng parameterName = "pStart", bool throwOnNotFound = true) Line 459C#
    MySql.Data.dll!MySql.Data.MySqlClient.StoredProcedure.Resolve() Line 157 + 0x25
    bytesC#
    MySql.Data.dll!MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(System.Data.CommandBeha
    vior behavior = SequentialAccess) Line 405 + 0xb bytesC#
    MySql.Data.dll!MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(System.Data.Comma
    ndBehavior behavior = SequentialAccess) Line 884 + 0xb bytesC#
    System.Data.dll!System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(System
    .Data.CommandBehavior behavior) + 0xb bytes
    System.Data.dll!System.Data.Common.DbDataAdapter.FillInternal(System.Data.DataSet
    dataset = {System.Data.DataSet}, System.Data.DataTable[] datatables = null, int
    startRecord = 0, int maxRecords = 0, string srcTable = "Table", System.Data.IDbCommand
    command = {MySql.Data.MySqlClient.MySqlCommand}, System.Data.CommandBehavior behavior) +
    0x83 bytes
    System.Data.dll!System.Data.Common.DbDataAdapter.Fill(System.Data.DataSet dataSet, int
    startRecord, int maxRecords, string srcTable, System.Data.IDbCommand command,
    System.Data.CommandBehavior behavior) + 0x120 bytes
    System.Data.dll!System.Data.Common.DbDataAdapter.Fill(System.Data.DataSet dataSet) +
    0x5f bytes

    (Bug #46213)

  • Conversion of MySQL TINYINT(1) to boolean failed. (Bug #46205, Bug #46359, Bug #41953)

  • If the application slept for longer than the specified net_write_timeout, and then resumed Read operations on a connection, then the application failed silently. (Bug #45978)

  • When reading data, such as with a MySqlDataAdapter on a MySqlConnection, MySQL Connector/NET could potentially enter an infinite loop in CompressedStream.ReadNextpacket() if compression was enabled. (Bug #43678)

  • An error occurred when building MySQL Connector/NET from source code checked out from the public SVN repository. This happened on Linux using Mono and Nant. The Mono JIT compiler version was 1.2.6.0. The Nant version was 0.85.

    When an attempt was made to build (for example) the MySQL Connector/NET 5.2 branch using the command:

    $ nant -buildfile:Client.build

    The following error occurred:

    BUILD FAILED
    
    Error loading buildfile.
    Encoding name 'Windows-1252' not supported.
    Parameter name: name

    (Bug #42411)

  • MySQL Connector/NET CHM documentation stated that MySQL Server 3.23 was supported. (Bug #42110)

  • Using a DataAdapter with a linked MySqlCommandBuilder the following exception was thrown when trying to call da.Update(DataRow[] rows):

    Connection must be valid and open

    (Bug #34657)