MySQL Connector/NET Release Notes  /  Changes in MySQL Connector/Net 6.3  /  Changes in MySQL Connector/NET 6.3.2 (2010-05-24, Beta)

Changes in MySQL Connector/NET 6.3.2 (2010-05-24, Beta)

First Beta release. This release fixes bugs since 6.3.1.

Functionality Added or Changed

  • Procedure caching had a problem whereby if you created a procedure, dropped it, and recreated it with a different number of parameters an exception was generated.

    MySQL Connector/NET has been changed so that if the procedure is recreated with a different number of parameters, it will still be recognized. (Bug #52562)

  • MySQL Connector/NET has been changed to include MySqlDataReader.GetFieldType(string columnname). Further, MySqlDataReader.GetOrdinal() now includes the name of the column in the exception if the column is not found. (Bug #47467)

Bugs Fixed

  • After an exception, the internal datareader, MySqlCommand.Connection.Reader, was not properly closed (it was not set to null). If another query was subsequently executed on that command object an exception was generated with the message There is already an open DataReader associated with this Connection which must be closed first. (Bug #55558)

  • MySQL Connector/NET generated an exception when used to read a TEXT column containing more than 32767 bytes. (Bug #54040)

  • In MySQL Connector/NET, the MySqlConnection.Abort() method contained a try...catch construct, with an empty catch block. This meant that any exception generated at this point would not be caught. (Bug #52769)

  • The procedure cache affected the MySQL Connector/NET performance, reducing it by around 65%. This was due to unnecessary calls of String.Format(), related to debug logging. Even though the logging was disabled the string was still being formatted, resulting in impaired performance. (Bug #52475)

  • If FunctionsReturnString=true was used in the connection string, the decimal separator (according to locale) was not interpreted. (Bug #52187)

  • In MySQL Connector/NET, the LoadCharsetMap() function of the CharSetMap class set the following incorrect mapping:

    mapping.Add("latin1", new CharacterSet("latin1", 1));

    This meant that, for example, the Euro sign was not handled correctly.

    The correct mapping should have been:

    mapping.Add("latin1", new CharacterSet("windows-1252", 1));

    This is because the MySQL latin1 character set is the same as the windows-cp1252 character set and it extends the official ISO 8859-1 or IANA latin1. (Bug #51927)

  • A non-terminated string in SQL threw a CLR exception rather than a syntax exception. (Bug #51788)

  • When calling ExecuteNonQuery on a command object, the following exception occurred:

    Index and length must refer to a location within the string.
    Parameter name: length

    (Bug #51610)

  • MySQL Connector/NET 6.3.1 failed to install. (Bug #51407, Bug #51604)

  • When using table per type inheritance and listing the contents of the parent table, the result of the query was a list of child objects, even though there was no related child record with the same parent Id. (Bug #49850)