-
Document Store: Connector/NET now supports the
NOWAITandSKIP_LOCKEDlocking options introduced in the MySQL 8.0 release series (see SELECT Statement). The following changes were made to the Connector/NET API:The
LockContentionenumeration (with valuesDefault=0,NoWait=1andSkipLocked=2) was added. TheDefaultenumeration member represents the previous behavior of waiting for the row locks to be released.The existing
LockShared()andLockExclusive()method signatures were modified to include the newLockContentionparameter. Both methods are members of theMySqlX.XDevAPI.CRUD.FindStatementandMySqlX.XDevAPI.Relational.TableSelectStatementclasses.-
Usage examples:
// 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)
(WL #11307)
-
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 newResult.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.
Incompatibility: The
GeneratedIdsproperty replaces theDocumentIdandDocumentIdsproperties, which are now removed. (WL #11421) -
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:authenticationandauthentication mode(see Options for X Protocol Only).A new authentication mode for the
MySqlAuthenticationModeenumeration:SHA256_MEMORY. In addition, theDefaultmember now has a new synonym:Auto=0.A new class:
MySql.Data.MySqlClient.Authentication.Sha256MemoryAuthenticationPlugin.
(WL #11624)
-
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
caching_sha2_passwordauthentication plugin.SSL is disabled explicitly (
SslMode=none).The
AllowPublicKeyRetrievalconnection option is enabled (AllowPublicKeyRetrieval=true).
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. (WL #11618)
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 theNumericPrecisionfield returned by theMySqlDataReader.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 theColumnSizefield forLONGTEXTandLONGBLOBdata types, and also indicated that theIsLongfield value wasfalsewhen it should have returnedtrue. (Bug #26876592, Bug #87876)The
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)