Release announcement: Node-oracledb 2.3.0, the Node.js module for accessing Oracle Database, is on npm.
Top features: Continuous Query Notifications. Heterogeneous Connection Pools.
Our 2.x release series continues with some interesting improvements: Node-oracledb 2.3 is now available for your pleasure. Binaries for the usual platforms are available for Node.js 6, 8, and 10; source code is available on GitHub. We are not planning on releasing binaries for Node.js 4 or 9 due to the end of life of Node.js 4, and the release of Node.js 10.
The main new features in node-oracledb 2.3 are:
I recently posted a demo showing CQN and Socket.IO keeping a notification area of a web page updated. Check it out.
The new node-oracledb connection.subscribe() method is used to register a Node.js callback method, and the SQL query that you want to monitor. It has two main modes: for object-level changes, and for query-level changes. These allow you to get notifications whenever an object changes, or when the result set from the registered query would be changed, respectively. There are also a bunch of configuration options for the quality-of-service and other behaviors.
It's worth noting that CQN requires the database to establish a connection back to your node-oracledb machine. Commonly this means that your node-oracledb machine needs a fixed IP address, but it all depends on your network setup.
Oracle Database CQN was designed for infrequently modified tables, so make sure you test your system scalability.
Support for heterogeneous connection pooling and for proxy support in connection pools. This allows each connection in the pool to use different database credentials.
Some users migrating to node-oracledb had schema architectures that made use of this connection style for data encapsulation and auditing. Note that making use of the existing clientId feature may be a better fit for new code, or code that does mid-tier authentication.
A Pull Request from Danilo Silva landed, making it possible for Windows users to build binaries for self-hosting. Thanks Danilo! Previously this was only possible on Linux and macOS.
Support for 'fetchAsString' and 'fetchInfo' to allow fetching RAW columns as hex-encoded strings.
See the CHANGELOG for the bug fixes and other changes.
Node-oracledb installation instructions are here.
Node-oracledb documentation is here.
Node-oracledb change log is here.
Issues and questions about node-oracledb can be posted on GitHub.
Finally, contributions to node-oracledb are more than welcome, see CONTRIBUTING.