This is a new release, fixing recently discovered bugs.
Bugs fixed:
        Cloning of MySqlCommand was not typesafe. To
        clone a MySqlCommand it was necessary to do:
      
        MySqlCommand clone = (MySqlCommand)((ICloneable)comm).Clone();
      
MySQL Connector/NET was changed so that it was possible to do:
        MySqlCommand clone = comm.Clone();
      
        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
        It was not possible to retrieve a value from a MySQL server
        table, if the value was larger than that supported by the .NET
        type System.Decimal.
      
        MySQL Connector/NET was changed to expose the MySqlDecimal
        type, along with the supporting method
        GetMySqlDecimal.
       (Bug#48100)
        An entity model created from a schema containing a table with a
        column of type UNSIGNED BIGINT and a view of
        the table did not behave correctly. When an entity was created
        and mapped to the view, the column that was of type
        UNSIGNED BIGINT was displayed as
        BIGINT.
       (Bug#47872)
        When loading the MySQLClient-mono.sln file
        included with the Connector/NET source into Mono Develop, the
        following error occurred:
      
/home/tbedford/connector-net-src/6.1/MySQLClient-mono.sln(22): Unsupported or unrecognized project: '/home/tbedford/connector-net-src/6.1/Installer/Installer.wixproj'
If the file was modified to remove this problem, then attempting to build the solution generated the following error:
/home/tbedford/connector-net-src/6.1/MySql.Data/Provider/Source/Connection.cs(280,46): error CS0115: `MySql.Data.MySqlClient.MySqlConnection.DbProviderFactory' is marked as an override but no suitable property found to override
        If an error occurred during connection to a MySQL Server,
        deserializing the error message from the packet buffer caused a
        NullReferenceException to be thrown. When the
        method MySqlPacket::ReadString() attempted to
        retrieve the error message, the following line of code threw the
        exception:
      
        string s = encoding.GetString(bits, (int)buffer.Position, end - (int)buffer.Position);
      
This was due to the fact that the encoding field had not been initialized correctly. (Bug#46844)
        In the MySqlDataReader class the
        GetSByte function returned a
        byte value instead of an
        sbyte value.
       (Bug#46620)
        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
      
        An exception was generated when using
        TIMESTAMP columns with the Entity Framework.
       (Bug#46311)
        MySQL Connector/NET sometimes hung, without generating an exception. This
        happened if a read from a stream failed returning a 0, causing
        the code in LoadPacket() to enter an infinite
        loop.
       (Bug#46308)
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}
      
        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
      
        Conversion of MySQL TINYINT(1) to
        boolean failed.
       (Bug#46205, Bug#46359, Bug#41953)
        When populating a MySQL database table in Visual Studio using
        the Table Editor, if a VARCHAR(10) column was
        changed to a VARCHAR(20) column an exception
        was generated:
      
        SystemArgumentException: DataGridViewComboBoxCell value is not valid.
      To replace this default dialog please handle the DataError Event.
        In MySQL Connector/NET 6.0.4 using GetProcData generated
        an error because the parameters data table
        was only created if MySQL Server was at least version 6.0.6, or
        if the UseProcedureBodies connection string
        option was set to true.
      
        Also the DeriveParameters command generated a
        null reference exception. This was because the
        parameters data table, which was null, was
        used in a for each loop.
       (Bug#45952)
        The Entity Framework provider was not calling
        DBSortExpression correctly when the
        Skip and Take methods were
        used, such as in the following statement:
      
        TestModel.tblquarantine.OrderByDescending(q => q.MsgDate).Skip(100).Take(100).ToList();
      
This resulted in the data being unsorted. (Bug#45723)
        The EscapeString code carried out escaping by
        calling string.Replace multiple times. This
        resulted in a performance bottleneck, as for every line a new
        string was allocated and another was disposed of by the garbage
        collector.
       (Bug#45699)
        Adding the Allow Batch=False option to the
        connection string caused MySQL Connector/NET to generate the error:
      
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 'SET character_set_results=NULL' at line 1
The MySQL Connector/NET 6.0.4 installer failed with an error. The error message generated was:
        There is a problem with this Windows Installer package. A DLL required for this
        install to complete could not be run. Contact your support personnel or package vendor.
      
When OK was clicked to acknowledge the error the installer exited. (Bug#45474)
        A MySQL Connector/NET test program that connected to MySQL Server using the
        connection string option compress=true
        crashed, but only when running on Mono. The program worked as
        expected when running on Microsoft Windows.
      
        This was due to a bug in Mono. MySQL Connector/NET was modified to avoid
        using WeakReferences in the
        Compressed stream class, which was causing
        the crash.
       (Bug#45463)
        Calling the Entity Framework SaveChanges()
        method of any MySQL ORM Entity with a column type
        TIME, generated an error message:
      
Unknown PrimitiveKind Time
Insert into two tables failed when using the Entity Framework. The exception generated was:
        The value given is not an instance of type 'Edm.Int32'
      
Input parameters were missing from Stored Procedures when using them with ADO.NET Data Entities. (Bug#44985)
        Errors occurred when using the Entity Framework with cultures
        that used a comma as the decimal separator. This was because the
        formatting for SINGLE,
        DOUBLE and DECIMAL values
        was not handled correctly.
       (Bug#44455)
        When attempting to connect to MySQL using the Compact Framework
        version of MySQL Connector/NET, an
        IndexOutOfRangeException exception was
        generated on trying to open the connection.
       (Bug#43736)
        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
      
After a Reference to "C:\Program Files\MySQL\MySQL Connector Net 5.2.4\Compact Framework\MySql.Data.CF.dll" was added to a Windows Mobile 5.0 project, the project then failed to build, generating a Microsoft Visual C# compiler error.
The error generated was:
Error 2 The type 'System.Runtime.CompilerServices.CompilerGeneratedAttribute' 
      has no constructors defined MysqlTest
      Error 3 Internal Compiler Error (0xc0000005 at address 5A7E3714): 
      likely culprit is 'COMPILE'.
MySQL Connector/NET CHM documentation stated that MySQL Server 3.23 was supported. (Bug#42110)
In the case of long network inactivity, especially when connection pooling was used, connections were sometimes dropped, for example, by firewalls.
        Note: The bugfix introduced a new keepalive
        parameter, which prevents disconnects by sending an empty TCP
        packet after a specified timeout.
       (Bug#40684)
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)
Calling a Stored Procedure with an output parameter through MySQL Connector/NET resulted in a memory leak. Calling the same Stored Procedure without an output parameter did not result in a memory leak. (Bug#36027)
        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


User Comments
Add your own comment.