By cj on Feb 16, 2015
On behalf of the development team, I have merged some new features and fixes to node-oracledb
Updates for node-oracledb 0.3.1
- Added Windows build configuration. See Node-oracledb Installation on Windows. Thanks to Rinie Kervel for submitting a pull request, and thanks to all those that commented and tested.
Added Database Resident Connection Pooling (DRCP) support. See API Documentation for the Oracle Database Node.js Driver
"Database Resident Connection Pooling enables database resource sharing for applications that run in multiple client processes or run on multiple middle-tier application servers. DRCP reduces the overall number of connections that a database must handle. DRCP is distinct from node-oracledb's local connection pool. The two pools can be used separately, or together.
Made an explicit connection release() do a rollback, to be consistent with the implicit release behavior.
Made install on Linux look for Oracle libraries in a search order:
- Using install-time environment variables $OCI_LIB_DIR and $OCI_INC_DIR
- In the highest version Instant Client RPMs installed
- In $ORACLE_HOME
- In /opt/oracle/instantclient
Added RPATH support on Linux, so LD_LIBRARY_PATH doesn't always need to be set. See Advanced installation on Linux
The directory name used by the installer for the final attempt at locating an Instant Client directory is now /opt/oracle/instantclient or C:\oracle\instantclient. This path may be used if OCI_DIR_LIB and OCI_INC_LIB are not set and the installer has to guess where the libraries are.
Added a compile error message "Oracle 11.2 or later client libraries are required for building" if attempting to build with older Oracle client libraries. This helps developers self-diagnose this class of build problem.
Fixed setting the isAutoCommit property.
Fixed a crash using pooled connections on Windows.
Fixed a crash querying object types.
Fixed a crash doing a release after a failed terminate. (The Pool is still unusable - this will be fixed later)
Clarified documentation that terminate() doesn't release connections. Doing an explicit release() of each pooled connection that is no longer needed is recommended to avoid resource leaks and maximize pool usage.
Updated version to 0.3.1 (surprise!)