Document Store: Connector/NET now supports the
SKIP_LOCKEDlocking options introduced in the MySQL 8.0 release series (see SELECT Statement). The following changes were made to the Connector/NET API:
LockContentionenumeration (with values
SkipLocked=2) was added. The
Defaultenumeration member represents the previous behavior of waiting for the row locks to be released.
LockExclusive()method signatures were modified to include the new
LockContentionparameter. Both methods are members of the
// Default behavior – waits for the row locks to release LockShared() LockShared(LockContention.Default) LockExclusive() LockExclusive(LockContention.Default) // New – fails if the rows are locked LockShared(LockContention.NoWait) LockExclusive(LockContention.NoWait) // New – succeeds excluding the locked rows from the result LockShared(LockContention.SkipLocked) LockExclusive(LockContention.SkipLocked)
Document Store: Previously, when documents without an
_idattribute were added to a collection, Connector/NET automatically generated IDs for them. Now the server generates the
_idattribute, unless a document already contains one. The generated IDs resulting from a document-add operation can be obtained using the new
Result.GeneratedIdsproperty, which returns a list.
This capability requires a MySQL 8.0 GA server. If the server does not support document ID generation, the document-add operation returns an error indicating that document IDs were missing.
GeneratedIdsproperty replaces the
DocumentIdsproperties, which are now removed.
Document Store: Support for the SHA256_MEMORY authentication mechanism was added to enable non-PLAIN insecure connections (without SSL) for user accounts with caching_sha2_password, which is the default authentication plugin introduced in the MySQL 8.0 release series. The changes related to this support include:
New synonyms for the
authconnection string option:
authentication mode(see Options for X Protocol Only).
A new authentication mode for the
SHA256_MEMORY. In addition, the
Defaultmember now has a new synonym:
A new class:
Support was added for the new
caching_sha2_passwordpadding mechanism introduced in the MySQL 8.0 release series. The new padding mechanism is enabled when all of the following conditions apply:
The user account is set with the
SSL is disabled explicitly (
AllowPublicKeyRetrievalconnection option is enabled (
When enabled, the new padding mechanism is used to encode the password during RSA key encryption, which applies the correct padding to match the server.
Attempting to open the MySQL Web Configuration Tool, with Connector/NET and MySQL for Visual Studio prerequisites installed properly, displayed an error message instead of opening the tool. (Bug #27457398, Bug #88544)
Connector/NET could not be installed with NuGet packages from Microsoft Visual Studio 2015. (Bug #27251839, Bug #88838)
When a decimal column was defined with a scale of zero, such as
DECIMAL(8, 0), the value of the
NumericPrecisionfield returned by the
MySqlDataReader.GetSchemaTablemethod was lower by one. For example, it returned 7 instead of 8 as expected. (Bug #26954812, Bug #88058)
The data table returned by the
MySqlDataReader.GetSchemaTablemethod had an inaccurate value of zero assigned to the
LONGBLOBdata types, and also indicated that the
IsLongfield value was
falsewhen it should have returned
true. (Bug #26876592, Bug #87876)
MySqlDataReader.GetSchemaTablemethod returned different column-size values when used with different character sets. (Bug #26876582, Bug #87868)
Support for making a secure connection to a server configured to use TLSv1.2 was limited by external factors. (Bug #25689154)
Connection strings that included TLS/SSL connection parameters in URI type-string format generated an exception instead of making a connection with the X Protocol. (Bug #24510329)
Attempting to generate an Entity Framework model from a MySQL 5.7 database using either EF5 or EF6 produced an exception that prevented the operation from generating the expected model. (Bug #22173048, Bug #79163)