v6.0.1
Based from node-oracledb v6.0.1
v6.0.1 Release Notes
-
Node-oracledb is now a pure JavaScript ‘Thin’ driver by default that connects directly to Oracle Database. Optional use of Oracle Client libraries enables a ‘Thick’ mode with some additional functionality.
-
Bumped the minimum Node.js version required to 14.6 so Node-API version 6 and FinalizationRegistry can be used in the driver implementation.
-
Added a new oracledb.fetchTypeHandler and equivalent execution option allowing a user function to be specified that can make custom alterations to SQL query data before it is returned to the application.
-
Added a new error.code to fetch the error prefix and the error number, for example ORA-01017, DPI-1080, and NJS-500.
-
Deprecated execution option attribute fetchInfo. Use the new Using Fetch Type Handlers functionality instead.
-
Type and Metadata changes:
- Query extended metadata is now always available. The oracledb.extendedMetaData and equivalent execution attribute values are ignored.
- Query column metadata now always returns unique column names regardless of the value of the outFormat setting. Previously they were only unique when oracledb.OUT_FORMAT_OBJECT was used.
- Changed oracledb.DB_TYPE_* constants to be DbType objects instead of numbers.
- Added support for the Oracle Database 23c BOOLEAN SQL type.
- Fixed type used when fetching NCLOB as a string.
- Fixed query metadata fetchType value.
-
Package script changes:
- Allow package/prunebinaries.js to optionally remove all the Thick mode binaries to enable a Thin-mode only installation.
- Allow npm run buildpackage to create a package without Thick mode binaries.
-
Code refactoring:
- Standardized and improved function parameter validation.
- Show NJS prefixed error messages instead of DPI or ORA prefixed messages in some error scenarios.
- Multiple calls to initOracleClient() no longer result in an error, as long as the same arguments are passed.
-
Oracle Database DATE and TIMESTAMP types are now returned as JavaScript date types in the application’s timezone, and no longer fetched or bound as TIMESTAMP WITH LOCAL TIME ZONE. The connection session time zone no longer impacts these types. This behavior aligns with other Oracle Database tools and drivers. Handling of TIMESTAMP WITH TIMEZONE and TIMESTAMP WITH LOCAL TIMEZONE has not changed.
-
The previously deprecated Token-Based Authentication accessTokenCallback attribute has been removed. Use accessToken instead.
-
Improved binding support:
- Fixed NULL BOOLEAN OUT binds.
- Fixed issues with ordering of binds in SQL when the database version is 12.1 and the maxSize of a bind variable exceeds 4000 bytes.
-
Fixed bug using colons in multiple single-line SQL comments in Thin mode. Issue #1561.