-
Added custom debug functionality using the
NODE_DEBUG
environment variable to log and inspect low-level details for the application. Connector/Node.js now supports this feature and uses it, in particular, for logging information about the protocol messages (inbound and outbound) that are exchanged with the MySQL server. Messages sent by the client are available under the protocol:outbound scope, whereas messages sent by the server are available under the protocol:inbound scope.For example, the following writes a textual protobuf representation of every
Mysqlx.Crud.Find
andMysqlx.Resultset.Row
message to stderr:shell> NODE_DEBUG='protocol:outbound:Mysqlx.Crud.Find,protocol:inbound:Mysqlx.Resultset.Row' node app.js
Node 10 and later supports wildcard pattern matching, such as
NODE_DEBUG='protocol:inbound:*'
to filter out inbound messages andNODE_DEBUG='*'
to show all logs. (Bug #31729043, WL #13587) Added a deprecation warning to the Connector/Node.js installation process advising that future Connector/Node.js versions do not guarantee compatibility with Node.js versions past their end of life. If you are planning to upgrade, make sure you do so to Node.js 12.0.0 or later. (WL #14257)
Stored values in a
DOUBLE
column were truncated when encoded and sent to the MySQL server. For example, a value such as 1.000001 became 1. Such values are now encoded properly as double-precision floating numbers supporting the full range of 64-bit floating point precision in MySQLDOUBLE
columns (with possible approximations performed by the database engine). (Bug #31734504)Improved consistency for method argument error handling when an argument is not set or uses JavaScript's "undefined". (Bug #31709879)
All debugging utilities are now disabled when debug mode is off. (Bug #31584269)