x-devapi

MySQL Connector/Net 8.0.10-rc has been released

Dear MySQL users,
MySQL Connector/Net 8.0.10 is the first release candidate of MySQL
Connector/Net to add support for the new X DevAPI. The X DevAPI enables
application developers to write code that combines the strengths of the
relational and document models using a modern, NoSQL-like syntax that
does not assume previous experience writing traditional SQL.
To learn more about how to write applications using the X DevAPI, seehttp://dev.mysql.com/doc/x-devapi-userguide/en/index.html. For more
information about how the X DevAPI is implemented in Connector/Net, seehttp://dev.mysql.com/doc/dev/connector-net.
Please note that the X DevAPI requires at least MySQL Server version
5.7.12 or higher with the X Plugin enabled. For general documentation
about how to get started using MySQL as a document store, seehttp://dev.mysql.com/doc/refman/5.7/en/document-store.html.
To download MySQL Connector/Net 8.0.10-rc, see the “Development
Releases” tab athttp://dev.mysql.com/downloads/connector/net/

Changes in MySQL Connector/Net 8.0.10 (2018-01-30, Release Candidate)

Functionality Added or Changed

* The .NET Core 2.0 implementation now supports the
following connection-string options: AutoEnlist,
InteractiveSession, Logging, Replication, and
UseUsageAdvisor. For more information about the options,
see Connector/Net Connection-String Options Reference
(http://dev.mysql.com/doc/connector-net/en/connector-net-connection-options.html).
(Bug #27297337)

* X DevAPI: In the process of refining the definition of
the X DevAPI to cover the most relevant usage scenarios,
the following API components have been removed from the X
DevAPI implementation for MySQL Connector/Net:

+ API components that support session configurations
The MySqlX.XDevAPI.Config namespace and all members
of the namespace.

+ API components that support views
CreateView(), DropView(), and ModifyView() methods
from the MySqlX.XDevAPI.Schema class.
ViewAlgorithm, ViewSqlSecurityEnum, and
ViewCheckOptionEnum enumerations from the
MySqlX.DataAccess namespace.
Note
The Table.IsView property remains available for
query operations.

* Support for .NET Core 2.0 and .NET Standard 2.0 has been
added (.NET Core 1.1 support continues). With .NET Core
2.0, most of the common ADO.NET classes are available for
use, such as:

+ System.Data.DataTable, System.Data.DataColumn, and
System.Data.DataRow

+ System.Data.DataSet

+ System.Data.Common.DataAdapter

* Support for Entity Framework Core 2.0 has been added
(Entity Framework 1.1 support continues). Currently, the
MySQL Connector/Net implementation excludes the following
2.0 features:

+ Modeling: table splitting, owned types, model-level
query filters, database scalar function mapping,
self-contained type configuration for code first.

+ High performance: DbContext pooling and explicitly
compiled queries.

+ Change tracking: attach can track a graph of new and
existing entities.

+ Query: improved LINQ translation, group-join
improvements, string interpolation in FromSql and
ExecuteSqlCommand, new EF.Functions.Like().

+ Database management: pluralization hook for
DbContext scaffolding.

+ Others: only one provider per model, consolidated
logging and diagnostics.

* X DevAPI: MySQL Connector/Net now supports setting and
releasing named transaction savepoints, which can be
assigned a name explicitly or by default using the
savepoint_(uuid) format. In addition, a transaction can
be rolled back to a named savepoint.
New methods were added to the MySqlX.XDevAPI.BaseSession
class to implement corresponding SQL statements using the
X Protocol:

+ SetSavepoint() and SetSavepoint(name) correspond to
the SAVEPOINT statement.

+ ReleaseSavepoint() corresponds to the RELEASE
SAVEPOINT statement.

+ RollbackTo() corresponds to the ROLLBACK TO
statement.
All errors generated by MySQL when one of the new methods
is called will be returned by MySQL Connector/Net.

* X DevAPI: The MySqlX.XDevAPI.CRUD.ModifyStatement.Patch
method was added to enable the inclusion of JSON-like
objects within Collection.Modify() operations that
describe the changes to apply to all documents matching
the condition.

* Support for the caching_sha2_password authentication
plugin through the classic MySQL protocol was added.
Support through the X Protocol is limited to secure
connections only (sslmode=required). Caching SHA-2
pluggable authentication offers faster authentication
than basic SHA-256 authentication.
A new and related connection option,
AllowPublicKeyRetrieval, was also added.

* X DevAPI: The MySqlX.XDevAPI.Collection.CreateIndex
method implementation was modified to enable the
inclusion of a JSON document that defines the index to be
created. Index-definition details can include the fields
affected, data types, and so on.

Bugs Fixed

* X DevAPI: When the PLAIN authentication option was used
to make a secure connection, the database name was
excluded from the authenticating data and the database
value was not set. PLAIN authentication is the default
option for connections made with TLS or Unix Sockets.
(Bug #27098974, Bug #88427)

* Boolean values within a JSON document were improperly
stored as strings. (Bug #26837112)

* Invoking the
MySql.Web.Security.MySqlWebSecurity.CreateUserAndAccount
method with valid arguments, including
additionalUserAttributes as an object with key/value
pairs, returned an out-of-range exception. Thanks to
Stein Setvik for contributing to the fix. (Bug #25046364)

* The default character set and encoding were not set
properly when making a connection to MySQL 5.6 and 5.7
servers configured to use the utf8 character set. (Bug
#23257011)

* SSL connections made to a single MySQL instance could not
be disconnected and created repeatedly without restarting
the client application to clear the half-open sockets.
(Bug #20393654, Bug #75022)

Nuget packages are available at:

https://www.nuget.org/packages/MySql.Data/8.0.10-rc
https://www.nuget.org/packages/MySql.Web/8.0.10-rc
https://www.nuget.org/packages/MySql.Data.EntityFramework/8.0.10-rc
https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/8.0.10-rc
https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore.Design/8.0.10-rc

Enjoy and thanks for the support!

On Behalf of the MySQL/ORACLE RE Team
Gipson Pulla

MySQL Connector/Net 8.0.9-dmr has been released

Dear MySQL users,
MySQL Connector/Net 8.0.9 is the sixth development release that expands
cross-platform support to Linux and macOS when using Microsoft’s .NET Core
framework. Now, .NET developers can use the X DevAPI with .NET Core and
Entity Framework Core (EF Core) 1.0 to create server applications that run
on Windows, Linux and macOS. We are very excited about this change and
really look forward to your feedback on it!
MySQL Connector/Net 8.0.9 is also the eighth development release of MySQL
Connector/Net to add support for the new X DevAPI.  The X DevAPI enables
application developers to write code that combines the strengths of the
relational and document models using a modern, NoSQL-like syntax that
does not assume previous experience writing traditional SQL.
To learn more about how to write applications using the X DevAPI, seehttp://dev.mysql.com/doc/x-devapi-userguide/en/index.html. For more
information about how the X DevAPI is implemented in Connector/Net, seehttp://dev.mysql.com/doc/dev/connector-net.
Please note that the X DevAPI requires at least MySQL Server version
5.7.12 or higher with the X Plugin enabled. For general documentation
about how to get started using MySQL as a document store, seehttp://dev.mysql.com/doc/refman/5.7/en/document-store.html.
To download MySQL Connector/Net 8.0.9-dmr, see the “Development
Releases” tab at http://dev.mysql.com/downloads/connector/net/

Changes in MySQL Connector/Net 8.0.9 (2017-09-28, Development Milestone)

* Functionality Added or Changed

* Bugs Fixed

Functionality Added or Changed

* For accuracy, the following Entity Framework 6 items were
renamed:

+ NuGet package – MySql.Data.EntityFramework (was
MySql.Data.Entity)

+ Namespace – MySql.Data.EntityFramework (was
MySql.Data.Entity)

+ Assembly – MySql.Data.EntityFramework.dll (was
MySql.Data.Entity.EF6.dll)
(Bug #26396260)

* X DevAPI: The SessionConfigManager.Update method was
removed and the SessionConfigManager.Save method now
always overwrites the data with the given key. For
example:
SessionConfigManager.Save(
“mysess”,
“{ \”uri\”: \”mysqlx://myuser@localhost/mysess\”, \”appdata\”: { \”biz\”: \”quux\” } }”
);

SessionConfigManager.Save(
“mysess”,
“{ \”uri\”: \”mysqlx://test@localhost/mysess\”, \”appdata\”: { \”tar\”: \”zzzz\” } }”
);

The mysess.uri and mysess.appdata values set by the first
statement are replaced with the new values set by the
second statement. (Bug #25829054, Bug #25860579)

* MySQL Connector/Net now supports MySQL servers configured
to use utf8mb4 as the default character set.

* The following methods are available for use with EF Core
in asynchronous command and connection operations:

+ Microsoft.EntityFrameworkCore.DbContext.AddAsync

+ Microsoft.EntityFrameworkCore.DbContext.AddRangeAsync

+ Microsoft.EntityFrameworkCore.DbContext.FindAsync

+ Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync

+ Microsoft.EntityFrameworkCore.Infrastructure.Databas
eFacade.EnsureDeletedAsync

+ Microsoft.EntityFrameworkCore.Infrastructure.Databas
eFacade.EnsureCreatedAsync

+ Microsoft.EntityFrameworkCore.DbContext.ToListAsync

* X DevAPI: The following methods execute directly, whereas
each method previously required .execute() as the final
item in the method chain:

+ BaseSession.DropSchema

+ Collection.DropIndex

+ Schema.DropCollection

+ Schema.DropView
In addition, the methods now succeed even if the objects
to be dropped do not exist.

* The AutoEnlist and IncludeSecurityAsserts
connection-string options are not appropriate for use by
applications that target .NET Core and now return an
error when used.

* EF Core: Support for explicit loading was added. Explicit
loading is an object-relational mapper (O/RM) pattern
introduced in EF Core 1.1.0, which enables .NET
developers to explicitly load related data from the
database at a later time.

* The following connection-string options are not currently
supported for use by applications that target .NET Core
and now return an error when used:

+ SharedMemoryName

+ IntegratedSecurity

+ PipeName

+ Logging

+ UseUsageAdvisor

+ UsePerformanceMonitor

+ InteractiveSession

+ Replication

* X DevAPI: To provide safe transactional document and row
updates, the following new methods were added:

+ FindStatement.LockShared

+ FindStatement.LockExclusive

+ TableSelectStatement.LockShared

+ TableSelectStatement.LockExclusive
The LockShared() and LockExclusive() methods can be
called any number of times with either the
Collection.Find() or Table.Select() method chains and in
any combination. If multiple calls to the methods are
made, only the final method is invoked. For additional
information about the two types of locking, see Shared
and Exclusive Locks
(http://dev.mysql.com/doc/refman/5.7/en/innodb-locking.html#innodb-shared-exclusive-locks).

* X DevAPI: When creating a new session, multiple hosts can
be tried until a successful connection is established. A
list of hosts can be given in a connection string or as
session creation options, with or without priorities.
var mySession = MySQLX.GetSession(
“mysqlx://dbuser:password@[” +
“(address=localhost:33060, priority=90),” +
“(address=192.1.10.10:33060, priority=100),” +
“(address=[2001:db8:85a3:8d3:1319:8a2e:370:7348]:33060, priority=30)
” +
“]”
);

var mySession = MySQLX.GetSession(
“user=dbuser;” +
“password=dbpassword;” +
“server=” +
“(address=192.1.10.10, priority=90),” +
“(address=server.example.com, priority=100),” +
“(address=localhost, priority=30);” +
“port=33060;”
);

* X DevAPI: The IN and NOT IN operators have been updated
to expand the range of operands that can be evaluated by
the Find(), Modify(), and Remove() methods for
collections and the Select(), Update(), and Delete()
methods for tables. This update provides support for
expressions using the following syntax:
compExpr [“NOT”] “IN” compExpr

The previous syntax used with IN and NOT IN operators is
still valid and it takes precedence over the new syntax
when both are present.

* X DevAPI: Several new direct-execution methods were added
to the Collection class that operate at a single document
level, unlike the other CRUD methods that operate on all
documents that match a filter. The new methods are:
ReplaceOne(), AddOrReplaceOne(), GetOne(), and
RemoveOne().

* Support for connections using Unix domain socket files
was extended to include MySQL servers deployed on Linux
hosts.
X DevAPI connection example:
“server=/path/to/socket;protocol=unix;user=root;password=mypass;ssl-mode=none”

Classic MySQL connection example:
“server=/path/to/socket;protocol=unix;user=root;password=mypass”

* Connections to the MySQL server now can be made using
accounts that authenticate with the sha256_password
plugin. For more information, see SHA-256 Pluggable
Authentication
(http://dev.mysql.com/doc/refman/5.7/en/sha256-pluggable-authentication.html).
In addition, a new connection option was added to extend
authentication support for connections made using the X
Protocol with either basic or URI connection strings and
as an anonymous type. The auth connection option enables
the MYSQL41, PLAIN, or EXTERNAL authentication mechanism
if supported by the server. For a description of the auth
option, see Connector/Net Connection-String Options
Reference
(http://dev.mysql.com/doc/connector-net/en/connector-net-connection-options.html).

Bugs Fixed

* Assemblies within NuGet packages were not fully signed.
(Bug #26739307)

* EF Core: Some methods in the DbContext class were not
supported for use with asynchronous operations. (Bug
#26448321, Bug #84814)

* X DevAPI: Priority assignment when connecting to the
server in client-side failover situations was not
supported in earlier versions of the connector by design.
Priority-based failover is now available. (Bug #26198794)

* EF Core: When attempting to commit a transaction in which
the FirstOrDefaultAsync method was called, the connector
returned “System.InvalidOperationException: Connection
must be valid and open to commit transaction.” instead of
committing the transaction. (Bug #26026972, Bug #86199)

* X DevAPI: Passing in a value of 0 or lower to the Limit
method now produces a more relevant error message
indicating that the argument is out of range. (Bug
#24384660)

* X DevAPI: Passing in the NULL value as a parameter to the
DbDoc.SetValue method resulted in an exception. This fix
ensures that NULL is accepted for this method. (Bug
#23542093)

Nuget packages are available at:

https://www.nuget.org/packages/MySql.Data/8.0.9-dmr
https://www.nuget.org/packages/MySql.Web/8.0.9-dmr
https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/8.0.9-dmr
https://www.nuget.org/packages/MySql.Data.EntityFrameworkCore.Design/8.0.9-dmr

Enjoy and thanks for the support!

On Behalf of the MySQL/ORACLE RE Team
Gipson Pulla

MySQL Connector/Net 8.0.8-dmr has been released

MySQL Connector/Net 8.0.8 is the fifth development release that expands cross-platform
support to Linux and macOS when using Microsoft’s .NET Core framework. Now, .NET
developers can use the X DevAPI with .NET Core and Entity Framework Core (EF Core)
1.0 to create server applications that run on Windows, Linux and macOS. We are very
excited about this change and really look forward to your feedback on it!
MySQL Connector/Net 8.0.8 is also the seventh development release of MySQL
Connector/Net to add support for the new X DevAPI. The X DevAPI enables application
developers to write code that combines the strengths of the relational and document
models using a modern, NoSQL-like syntax that does not assume previous experience
writing traditional SQL.
To learn more about how to write applications using the X DevAPI, seehttp://dev.mysql.com/doc/x-devapi-userguide/en/index.html.
For more information about how the X DevAPI is implemented in Connector/Net, seehttp://dev.mysql.com/doc/dev/connector-net.
Note
The X DevAPI requires at least MySQL Server version 5.7.12 or higher with the X
Plugin enabled. For general documentation about how to get started using MySQL
as a document store, see http://dev.mysql.com/doc/refman/5.7/en/document-store.html.
To download MySQL Connector/Net 8.0.8-dmr, see the “Development Releases” tab athttp://dev.mysql.com/downloads/connector/net/
 

Changes in MySQL Connector/Net 8.0.8 (2017-07-10, Development Milestone)

MySQL Connectors and other MySQL client tools and
applications now synchronize the first digit of their version
number with the (highest) MySQL server version they support.
For example, MySQL Connector/Net 8.0.12 would be designed to
support all features of MySQL server version 8 (or lower).
This change makes it easy and intuitive to decide which
client version to use for which server version.

MySQL Connector/Net 8.0.8 is the first release to use the new
numbering. It is the successor to MySQL Connector/Net 7.0.7.

* Functionality Added or Changed

* Bugs Fixed

Functionality Added or Changed

* X DevAPI: The format of document ID values generated when
adding documents to a collection has changed. It is still
a string of 32 hexadecimal digits based on UUID, but the
order of digits was changed to match the requirement of a
stable ID prefix.

* All connections created using MySQL Connector/Net now are
secure by default. Also, the Ssl-Enable connection option
has been replaced by Ssl-Mode. Permitted Ssl-Mode values
are None, Required (the default), VerifyCA, and
VerifyFull.

With this change, a non-SSL enabled server now requires
the Ssl-Mode option be set to None explicitly in the
connection string or the connection will fail.

* X DevAPI: It is no longer permitted to pass an empty
search condition, such as the NULL value or an empty
string, to the Collection.Modify and Collection.Remove
methods.

* X DevAPI: The NodeSession class has been renamed to
Session and the MySQLX.GetNodeSession method has been
renamed to MySQLX.GetSession. Also, the XSession class
has been removed.

* X DevAPI: When creating a new connection, multiple hosts
now can be specified as part of the connection string,
which will try each host until a successful connection is
established or all elements from the host list have been
tried. The following connection-string formats are
supported:

var mySession = MySQLX.GetSession(
“mysqlx://dbuser:password@[” +
“localhost:33060,” +
“192.1.10.10:33060,” +
“[2001:db8:85a3:8d3:1319:8a2e:370:7348]:33060” +
“]”
);

var mySession = MySQLX.GetSession(
“user=dbuser;” +
“password=dbpassword;” +
“server=” +
“192.1.10.10,” +
“server.example.com,” +
“localhost;” +
“port=33060;”
);

Bugs Fixed

* EF Core: The Database First feature did not support the
following data types: BINARY, VARBINARY, MEDIUMBLOB,
LONGBLOB, SET, DATE, TIME, and YEAR. (Bug #25493209)

* EF Core: Database First support produced an error when
the existing MySQL database included one or more views.
(Bug #25493086)

* EF Core: Using
System.ComponentModel.DataAnnotations.Schema.TableAttribu
te to initialize a new class instance that specified the
name of an existing MySQL table produced incorrect
mappings of table and column names.
(Bug #25394223, Bug #84423)

Nuget
Packages are available at:
https://www.nuget.org/packages/MySql.Data/8.0.8-dmrhttps://www.nuget.org/packages/MySql.Web/8.0.8-dmrhttps://www.nuget.org/packages/MySql.Data.EntityFrameworkCore/8.0.8-dmrhttps://www.nuget.org/packages/MySql.Data.EntityFrameworkCore.Design/8.0.8-dmr
Enjoy and thanks for the support!
On Behalf of MySQL/Oracle Release Engineering Team
Prashant Team

MySQL Connector/Java 8.0.7-dmr has been released

Dear MySQL users,
MySQL Connector/J 8.0.7 Development Release is a development milestone release for the 8.0.x series.
This release includes the following new features and changes, also described in more detail on https://dev.mysql.com/doc/relnotes/connector-j/8.0/en/news-8-0-7.html
MySQL Connectors and other MySQL client tools and applications now synchronize the first digit of their version number with the (highest) MySQL server version they support.
This change makes it easy and intuitive to decide which client version to use for which server version.
Connector/J 8.0.7 is the first release to use the new numbering. It is the successor to Connector/J 6.0.6
As always, we recommend that you check the “CHANGES” file in the download archive to be aware of changes in behavior that might affect your application.
To download MySQL Connector/J 8.0.7 dmr, see the “Development Releases” tab at http://dev.mysql.com/downloads/connector/j/
Enjoy!

Changes in MySQL Connector/J 8.0.7 (2017-07-10, Development Milestone)

MySQL Connectors and other MySQL client tools and
applications now synchronize the first digit of their version
number with the (highest) MySQL server version they support.
This change makes it easy and intuitive to decide which
client version to use for which server version.

Connector/J 8.0.7 is the first release to use the new
numbering. It is the successor to Connector/J 6.0.6.

* Functionality Added or Changed

* Bugs Fixed

Functionality Added or Changed

* X DevAPI: There are changes to some methods related to
the Result interface:

+ getLastDocumentId() and getLastDocumentIds() have
been replaced with getDocumentId() and
getDocumentIds(), which are put under a new
AddResult interface that extends Result.

+ A new getAutoIncrementValue() method is added to the
new InsertResult interface that extends Result.
See MySQL Connector/J X DevAPI Reference
(http://dev.mysql.com/doc/dev/connector-j) for more
details. (Bug #25207784)

* X DevAPI: It is no longer permitted to pass an empty
search condition, such as the NULL value or an empty
string, to the Collection.Modify() and
Collection.Remove() methods.

* X DevAPI: Connections using the X Protocol are now secure
by default. Also, the xdevapi.ssl-enable connection
option has been replaced by the xdevapi.ssl-mode option,
which has DISABLED, REQUIRED (default), VERIFY_CA, and
VERIFY_IDENTITY as its permitted values; see the
description for the new option in Configuration
Properties
http://dev.mysql.com/doc/connector-j/8.0/en/connector-j-
reference-configuration-properties.html
for details.

* X DevAPI: Consolidated the BaseSession, NodeSession, and
XSession interfaces into a single
com.mysql.cj.api.xdevapi.Session interface. The following
related changes were also made:

+ Renamed XSessionFactory to SessionFactory.

+ Consolidated the AbstractSession, NodeSessionImpl,
and XSessionImpl classes into the
com.mysql.cj.xdevapi.SessionImpl class.

+ Removed the Session.bindToDefaultShard() method and
the VirtualNodeSession interface.

+ The mysqlx.getNodeSession() method has been renamed
to mysqlx.getSession() and it now returns a Session
object.

+ The DatabaseObject.getSession() method now returns a
Session object (instead of the old Session
interface).
See MySQL Connector/J X DevAPI Reference
(http://dev.mysql.com/doc/dev/connector-j) for more
details.

* To avoid using JDBC statements inside core Connector/J
classes, the following changes have been implemented:

+ Created a new com.mysql.cj.api.Query interface,
which is implemented by StatementImpl.

+ Replaced the
com.mysql.cj.api.jdbc.interceptors.StatementIntercep
tor interface with the
com.mysql.cj.api.interceptors.QueryInterceptor
interface.

+ Added a new method, PacketPayload
preProcess(PacketPayload queryPacket), to
QueryInterceptor.

+ Renamed the connection property
statementInterceptors to queryInterceptors. See
Configuration Properties
(http://dev.mysql.com/doc/connector-j/8.0/en/connector-j-
reference-configuration-properties.html)
for details.

* Added Japanese collation for the utf8mb4 character set.

Bugs Fixed

* X DevAPI: createView() failed with a NullPointerException
when there were null inputs to it. This fix adds checks
for nulls, and makes Connector/J throw the proper errors
for them. (Bug #25575156)

* X DevAPI: createaTable() failed with a
NullPointerException when there were null inputs to it.
This fix adds checks for nulls, and makes Connector/J
throw the proper errors for them. (Bug #25575103)

* X DevAPI: The connection properties
enabledSSLCipherSuites, clientCertificateKeyStoreUrl,
clientCertificateKeyStoreType, and
clientCertificateKeyStorePassword were ignored for
connections using the X Protocol. (Bug #25494338)

* X DevAPI: Calling getNodeSession() with an URL string
containing SSL parameters caused a
CJCommunicationsException. This has been fixed by
creating a byte buffer to handle SSL handshake data.
(Notice that getNodeSession() has since been consolidated
into getSession().) (Bug #23597281)

* X DevAPI: Concurrent asynchronous operations resulted in
hangs, null pointer exceptions, or other unexpected
exceptions. This has been fixed by correcting a number of
problems with the SerializingBufferWriter and by limiting
the number of buffers sent with a gathering write. (Bug
#23510958)

* X DevAPI: When a thread failed to make a connection to
the server using the X Protocol, the client application
hung. A new connection property,
xdevapi.asyncResponseTimeout (default value is 300s), now
provides a duration beyond which the attempt to connect
timeouts, and a proper error is then thrown. See
description for the new option in Configuration
Properties
(http://dev.mysql.com/doc/connector-j/8.0/en/connector-j-
reference-configuration-properties.html)
for details. (Bug #22972057)

* Connector/J failed a number of regression tests in the
test suite related to geographic information system (GIS)
functions, because of changes to GIS support by the MySQL
server. The fix corrects the tests. (Bug #26239946, Bug
#26140577)

* Configuration templates named by the connection property
useConfigs were not recognized by Connector/J. (Bug
#25757019, Bug #85555)

* A NullPointerException was returned when getDate(),
getTime(), or getTimestamp() was called with a null
Calendar. This fix makes Connector/J throw an
SQLException in the case. (Bug #25650305)

* An ArrayIndexOutOfBoundsException was thrown when a
server-side prepared statement was used and there was a
NULL in a BLOB, TEXT, or JSON type column in the
ResultSet. (Bug #25215008, Bug #84084)

On Behalf of MySQL/ORACLE RE Team
Gipson Pulla

MySQL Connector/C++ 2.0.3 m3 Development Release has been released

MySQL Connector/C++ 2.0.3 is the next development milestone of the MySQL Connector/C++ 2.0 series, and the first public release. Apart from covering more X DevAPI features, it adds a new, plain C API, called XAPI, that offers functionality similar to X DevAPI to applications written in plain C. Thus, not only can MySQL Connector/C++ be used to write C++ applications, as before.
Now, using the XAPI, MySQL Connector/C++ can be used to write plain C applications to access MySQL Database implementing a document store as well as execute traditional plain SQL statements. For more information about XAPI, refer to the documentation at http://dev.mysql.com/doc/dev/connector-cpp/xapi_ref.html.
To learn more about how to write applications using the X DevAPI, see X DevAPI User Guide (http://dev.mysql.com/doc/x-devapi-userguide/en/). For more information about how to use Connector/C++ 2.0 and how the X DevAPI is implemented in it, see http://dev.mysql.com/doc/dev/connector-cpp/.
Note
The X DevAPI requires at least MySQL Server version 5.7.12 or higher with the X Plugin enabled. For general documentation about how to get started using MySQL as a document store, see Using MySQL as a Document Store (http://dev.mysql.com/doc/refman/5.7/en/document-store.html).
To download MySQL Connector/C++ 2.0.3 m3, see the “Development Releases” tab at http://dev.mysql.com/downloads/connector/cpp/
X DevAPI Notes
New X DevAPI features added in this MySQL Connector/C++ release:
Methods for starting and controlling transactions
Using an X DevAPI URI or connection string to specify new session parameters
Capability of binding a session to the default shard and execute SQL statements there (using XSession.bindToDefaultShard())
Methods for counting elements in a table or collection
Access to multiple result sets if present in a query result
Methods to count items in a result set and fetch a complete result set at once (using fetchAll()), instead of accessing items one by one (using fetchOne())
Access to warnings reported when processing a statement (getWarnings())
Access to information about affected rows, generated auto-increment values, and identifiers of documents added to a collection
On Behalf of the MySQL/ORACLE RE Team

TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569