MySQL Connector/NET Release Notes
Document Store: Connector/NET now supports the
NOWAIT and SKIP_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
values Default=0,
NoWait=1 and
SkipLocked=2) was added. The
Default enumeration member represents the
previous behavior of waiting for the row locks to be
released.
The existing LockShared() and
LockExclusive() method signatures were
modified to include the new
LockContention parameter. Both methods
are members of the
MySqlX.XDevAPI.CRUD.FindStatement and
MySqlX.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 new
Result.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 the DocumentId and
DocumentIds 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 and
authentication mode (see
Options for X Protocol Only).
A new authentication mode for the
MySqlAuthenticationMode enumeration:
SHA256_MEMORY. In addition, the
Default 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 the
NumericPrecision field returned by the
MySqlDataReader.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 the
ColumnSize field for
LONGTEXT and LONGBLOB data
types, and also indicated that the IsLong
field value was false when it should have
returned true.
(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)