Version 1.2 of node-oracledb, the add-on for Node.js that powers high performance Oracle Database applications, is available on NPM
A lot of good changes have been made.
Our thanks to Bruno Jouhier from Sage for his work on adding RAW support and for fixes for LOB stability. Thanks also go to Bill Christo for pushing us on some Installation topics - look out for his full article on Windows Installation that OTN will be publishing soon.
An annotated list of the changes in this releases are:
Added support for RAW data type.
type property to the Lob class to distinguish CLOB and BLOB types.
This small change will allow introspection on Lob instances so applications can more easily decide how to handle the data.
Changed write-only attributes of Connection objects to work with
The Connection object had three write-only attributes (
clientId) used for end-to-end tracing and mid-tier authentication. Because they were write-only, anyone doing a simple
console.log() on the connection object got a confusing message often leading to the impression that connection had failed. The attributes are write-only for the reasons described in the documentation. With the change in v1.2, a Connection object can now be displayed. The three attributes will show as
null (see the doc) while the non- write-only attribute
stmtCacheSize will show an actual value. With hindsight the three attributes should have be set via a setter, but they aren't.
Added a check to make sure
maxRows is greater than zero for non-ResultSet queries.
If you want to get
metaData for a query without getting rows, specify
prefetchRows:0 in the query options (and remember to close the ResultSet).
Improved installer messages for Oracle client header and library detection on Linux, OS X and Solaris.
Some upfront checks now aid detection of invalid environments earlier.
Optimized CLOB memory allocation to account for different database-to-client character set expansions.
In line with the optimization for string buffers in v1.1, users of AL32UTF8 databases will see reduced memory consumption when fetching CLOBs.
Fixed a crash while reading a LOB from a closed connection
Fixed a crash when selecting multiple rows with LOB values.
Another fix by Bruno.
Corrected the order of Stream 'end' and 'close' events when reading a LOB.
Bruno was busy this release and sent in a pull request for this too.
Fixed AIX-specific REF CURSOR related failures.
Fixed intermittent crash while setting
fetchAsString, and incorrect output while reading the value.
Added a check to return an NJS error when an invalid DML RETURN statement does not give an ORA error.
Removed non-portable memory allocation for queries that return NULL.
Fixed encoding issues with several files that caused compilation warnings in some Windows environments.
Made installation halt sooner for Node.js versions currently known to be unusable.
Fixed typo in
Issues and questions about node-oracledb can be posted on GitHub. We value your input to help prioritize work on the add-on. Drop us a line!
Installation instructions are here.
Node-oracledb documentation is here.