-
Document Store: Connector/NET now supports the
NOWAIT
andSKIP_LOCKED
locking options introduced in the MySQL 8.0 release series (see SELECT Statement). The following changes were made to the Connector/NET API:The
LockContention
enumeration (with valuesDefault=0
,NoWait=1
andSkipLocked=2
) was added. TheDefault
enumeration 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 newLockContention
parameter. Both methods are members of theMySqlX.XDevAPI.CRUD.FindStatement
andMySqlX.XDevAPI.Relational.TableSelectStatement
classes.-
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
_id
attribute were added to a collection, Connector/NET automatically generated IDs for them. Now the server generates the_id
attribute, unless a document already contains one. The generated IDs resulting from a document-add operation can be obtained using the newResult.GeneratedIds
property, 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
GeneratedIds
property replaces theDocumentId
andDocumentIds
properties, 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
auth
connection string option:authentication
andauthentication mode
(see Options for X Protocol Only).A new authentication mode for the
MySqlAuthenticationMode
enumeration:SHA256_MEMORY
. In addition, theDefault
member 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_password
padding 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_password
authentication plugin.SSL is disabled explicitly (
SslMode=none
).The
AllowPublicKeyRetrieval
connection 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 theNumericPrecision
field returned by theMySqlDataReader.GetSchemaTable
method 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.GetSchemaTable
method had an inaccurate value of zero assigned to theColumnSize
field forLONGTEXT
andLONGBLOB
data types, and also indicated that theIsLong
field value wasfalse
when it should have returnedtrue
. (Bug #26876592, Bug #87876)The
MySqlDataReader.GetSchemaTable
method 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)