-
Added custom debug functionality using the
NODE_DEBUGenvironment 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.FindandMysqlx.Resultset.Rowmessage to stderr:shell> NODE_DEBUG='protocol:outbound:Mysqlx.Crud.Find,protocol:inbound:Mysqlx.Resultset.Row' node app.jsNode 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
DOUBLEcolumn 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 MySQLDOUBLEcolumns (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)