-
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. (WL #11840) 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. (WL #13358)Added support for generating test coverage reports by running the npm run coverage or similar commands; see the bundled
CONTRIBUTING.mdfile for requirements and other information. This was added to help users make contributions. (WL #13272)Added
lintercheck support to help enforce coding style and convention rules for new contributions by running npm run linter; see the bundledCONTRIBUTING.mdfile for more information. (WL #13284)
Added support for assigning Node.js
Buffervalues to expressions and query placeholders. (Bug #30163003, Bug #96480)MySQL column values of binary types such as
BLOB,BINARY, andVARBINARYcan now be converted to instances of Node.jsBuffer. (Bug #30162858, Bug #96478)Inserting a raw Node.js
Buffervalue into a MySQLBLOBcolumn 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)