D.4.3.5. Changes in MySQL Connector/NET 6.2.1 (16 November 2009 beta)

This release fixes bugs since 6.2.0.

Functionality added or changed:

  • The MySqlParameter class now has a property named PossibleValues. This property is NULL unless the parameter is created by MySqlCommandBuilder.DeriveParameters. Further, it will be NULL unless the parameter is of type enum or set - in this case it will be a list of strings that are the possible values for the column. This feature is designed as an aid to the developer. (Bug#48586)

  • Prior to MySQL Connector/NET 6.2, MySqlCommand.CommandTimeout included user processing time, that is processing time not related to direct use of the connector. Timeout was implemented through a .NET Timer, that triggered after CommandTimeout seconds.

    MySQL Connector/NET 6.2 introduced timeouts that are aligned with how Microsoft handles SqlCommand.CommandTimeout. This property is the cumulative timeout for all network reads and writes during command execution or processing of the results. A timeout can still occur in the MySqlReader.Read method after the first row is returned, and does not include user processing time, only IO operations.

    Further details on this can be found in the relevant Microsoft documentation.

  • Starting with MySQL Connector/NET 6.2, there is a background job that runs every three minutes and removes connections from pool that have been idle (unused) for more than three minutes. The pool cleanup frees resources on both client and server side. This is because on the client side every connection uses a socket, and on the server side every connection uses a socket and a thread.

    Prior to this change, connections were never removed from the pool, and the pool always contained the peak number of open connections. For example, a web application that peaked at 1000 concurrent database connections would consume 1000 threads and 1000 open sockets at the server, without ever freeing up those resources from the connection pool.

  • MySQL Connector/NET now supports the processing of certificates when connecting to an SSL-enabled MySQL Server. For further information see the connection string option SSL Mode in the section Section 22.2.6, “Connector/NET Connection String Options Reference” and the tutorial Section 22.2.4.7, “Tutorial: Using SSL with MySQL Connector/NET”.

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();
          

    (Bug#48460)

  • When used, the Encrypt connection string option caused a “Keyword not supported” exception to be generated.

    This option is in fact obsolete, and the option SSL Mode should be used instead. Although the Encrypt option has been fixed so that it does not generate an exception, it will be removed completely in version 6.4. (Bug#48290)

  • When building the MySql.Data project with .NET Framework 3.5 installed, the following build output was displayed:

    Project file contains ToolsVersion="4.0", which is not supported by this version of
    MSBuild. Treating the project as if it had ToolsVersion="3.5".
    

    The project had been created using the .NET Framework 4.0, which was beta, instead of using the 3.5 framework. (Bug#48271)

  • 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)

  • MySQL Connector/NET session support did not work with MySQL Server versions prior to 5.0, as the Session Provider used a call to TIMESTAMPDIFF, which was not available on servers prior to 5.0. (Bug#47219)

Copyright © 2010-2024 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout