-
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.md
file for requirements and other information. This was added to help users make contributions. (WL #13272)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. (WL #13284)
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)