-
Implemented the X DevAPI cursor model, including methods such as
fetchOne()
,fetchAll()
,getColumns()
,hasData()
, andnextResult()
. For more information, see Working with Result Sets, in the X DevAPI documentation.Previously, handling result set data or metadata required specific callback functions when calling
execute()
. With the addition of this interface, the Connector automatically switches to the pull-based cursor model if these callback functions are not provided. Improved the performance of
Collection.getOne()
by parsing the underlying lookup expression only once, and using serverside prepared statements for subsequent calls to this method.Added support for generating test coverage reports by running the npm run coverage or similar commands; see the bundled
CONTRIBUTING.md
file for requirements and other information. This was added to help users make contributions.Added
linter
check support to help enforce coding style and convention rules for new contributions by running npm run linter; see the bundledCONTRIBUTING.md
file for more information.
Added support for assigning Node.js
Buffer
values to expressions and query placeholders. (Bug #30163003, Bug #96480)MySQL column values of binary types such as
BLOB
,BINARY
, andVARBINARY
can now be converted to instances of Node.jsBuffer
. (Bug #30162858, Bug #96478)Inserting a raw Node.js
Buffer
value into a MySQLBLOB
column resulted in an error due to improper setting of thecontent_type
; now the X Plugin handles this as a raw byte string. (Bug #30158425)The padding characters used for fixed-length columns now map to the collation code provided by the column metadata; previously it was based on the JavaScript native type of the values. (Bug #30030159)