Skip to content

v5.2.0

Compare
Choose a tag to compare
@romanbalayan romanbalayan released this 17 Jun 04:02
· 19 commits to master since this release
8c4acb5

Based from node-oracledb v5.2.0

v5.2.0 Release Notes

  • Connection pool changes:
    • Pool attributes can be changed during application runtime with pool.reconfigure(). This lets properties such as the pool size be changed dynamically instead of having to restart the application or create a new pool.
    • Formalized pool statistics with the addition of a pool creation attribute enableStatistics, and with the functions pool.getStatistics() and pool.logStatistics(). Pool statistics can be be enabled, disabled, or reset with pool.reconfigure(). The older _enableStats attribute and _logStats() function are aliases for the new functionality but will be removed in a future version of node-oracledb.
    • Added currentQueueLength and poolMaxPerShard to the pool statistics.
    • Fixed connection pool statistics "minimum time in queue" and "maximum time in queue" calculations.
    • Fixed the statement cache size set for the initial poolMin connections created by oracledb.createPool().
    • Fixed queueTimeout of 0 to allow pool connection requests to be queued indefinitely. See Issue 1338.
  • Concurrent operations on a single connection are now queued in the JavaScript layer, which can help reduce thread usage for applications that are unable to do their own queuing. A new oracledb.errorOnConcurrentExecute property can be used during development to throw an error if concurrent operations are attempted on any single connection.
  • Enhanced dead connection detection. If an Oracle Database error indicates that a connection is no longer usable, the error DPI-1080: connection was closed by ORA-%d is now returned. The %d will be the Oracle error causing the connection to be closed. Using the connection after this will give DPI-1010: not connected. This behavior also applies for oracle.callTimeout errors that result in an unusable connection. (ODPI-C change).
  • Enhanced getRows() to be able to return all rows in one call.
  • Added username as an alias for user in connection properties.
  • Enhanced the numeric suffix feature (for duplicate SELECT column names when using oracledb.OUT_FORMAT_OBJECT mode) to also support nested cursors and REF CURSORS.
  • Added support for caching the database version number in pooled connections with Oracle Client 19 and earlier (later Oracle Clients handle this caching internally). This optimization eliminates a round-trip previously often required when reusing a pooled connection. (ODPI-C change).
  • SODA changes:
  • Added SODA metadata cache support to connection pools. This significantly improves the performance of opening collections. Caching is available when using Oracle Client version 21.3 (or later). It is also available in Oracle Client 19 from 19.11 onwards.
  • Added a SODA hint() SodaOperation method and equivalent hint option to sodaCollection.insertManyAndGet(), sodaCollection.insertOneAndGet(), and sodaCollection.saveAndGet() to allow monitoring and passing hints.
  • Fixed crashes seen with Worker threads (ODPI-C change).
  • Fixed a failure when using JavaScript functions on OUT bind variables from executeMany() that require the connection, for example accessing database objects or streaming LOBs.
  • Fixed use of oracledb.NCLOB in fetchAsString. See Issue 1351.
  • Test and documentation improvements.