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)