Dear MySQL users,
MySQL Connector/Node.js is a new Node.js driver for use with the X
DevAPI. This release, v8.0.12, is a maintenance release of the
MySQL Connector/Node.js 8.0 series.
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.
MySQL Connector/Node.js can be downloaded through npm (see
https://www.npmjs.com/package/@mysql/xdevapi for details) or from
https://dev.mysql.com/downloads/connector/nodejs/.
To learn more about how to write applications using the X DevAPI, see
http://dev.mysql.com/doc/x-devapi-userguide/en/. For more information
about how the X DevAPI is implemented in MySQL Connector/Node.js, and
its usage, see http://dev.mysql.com/doc/dev/connector-nodejs/.
Please note that the X DevAPI requires at least MySQL Server version
8.0 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/8.0/en/document-store.html.
Changes in MySQL Connector/Node.js 8.0.12 (2018-07-27, General availability)
X DevAPI Notes
* For compliance with the Core DevAPI, these
Connector/Node.js changes were made:
+ Collection: Deprecated: count(). Changed:
getSchema() now returns a Schema instance instead of
the schema name.
+ CollectionModify: Deprecated: limit(x, y)’s second
parameter, and arrayDelete().
+ CollectionFind: Deprecated: limit(x, y)’s second
parameter. Added: limit(x).offset(y).
+ CollectionRemove: Deprecated: limit(x, y)’s second
parameter.
+ Table: Deprecated: count() and insert(Document) API.
Updated: getSchema() now returns a Schema instance
instead of the Schema name. Removed: as().
+ TableSelect: Deprecated: limit(x, y)’s second
parameter. Added: limit(x).offset(y).
+ TableDelete: Deprecated: limit(x, y)’s second
parameter, and delete(x)’s parameter in favor of
using where(x) instead.
+ TableUpdate: Deprecated: limit(x, y)’s second
parameter, and update(x)’s parameter in favor of
using where(x) instead.
+ SqlExecute: Deprecated: sqlExecute() in favor of
sql(). Added: bind().
+ Column: Added isNumberSigned(), getCollationName(),
getCharacterSetName(), and isPadded()
Bugs Fixed
* The Promise returned by the session.sql().execute()
method resolved to a plain JavaScript object rather than
a proper Result instance. This meant it lacked access to
the API with methods such as getAffectedItemsCount() and
getWarnings(). (Bug #28146988)
* Retrieving rows with NULL fields would emit an unexpected
AssertionError. (Bug #27978594)
* The session.close() method is now asynchronous by
returning a JavaScript Promise, when before it returned
immediately. (Bug #27893001)
* The right-padding mechanism was improved. (Bug #27839295)
* While calling getSession() without arguments yields an
“Invalid parameter.” error, passing in ‘{}’ yielded a
“Cannot read property ‘length’ of undefined.” error. Now
‘{}’ is allowed, and getSession() defaults to using ” as
the user name. (Bug #27730748)
* Improved performance for expression parsing and protocol
message encoding.
On Behalf of the MySQL/Oracle Release Engineering Team,
Hery Ramilison