The leading edge of scripting languages and Oracle Database brought to you by the Data Access Development team

ODPI-C 2.2 Release: Powering Oracle Database Access

Christopher Jones
Senior Principal Product Manager

ODPI-C 2.2.1 has been tagged for release.

Oracle Database Programming Interface for C (ODPI-C) is an open source library of C code that simplifies the use of common Oracle Call Interface (OCI) features for Oracle Database drivers and user applications. The ODPI-C project is open source and maintained by Oracle Corp.

ODPI-C is used as a data access layer in drivers for Node.js, Python, Ruby, Go, Rust, Haskell and more.

Changes in ODPI-C 2.2 from 2.1 include:

  • Open statements and LOBs are tracked and automatically closed when the related connection is closed; this eliminates the need for users of the driver to do so and removes the error "DPI-1054: connection cannot be closed when open statements or LOBs exist".

  • Errors during implicit rollback at connection close are ignored - but if an error does occur, ensure the connection is dropped from the connection pool. This reduces app errors in cases like where a DBA has killed a session.

  • Avoid a round trip to the database when a connection is released back to the pool by preventing a rollback from being called when there is no transaction in progress.
  • A new, optional, way of including the source code in your projects: embed/dpi.c was added. This simply includes all other source files. You can reliably link with just dpi.c and not have to update your projects if, and when, new ODPI-C versions have new source files.

  • Many stability fixes, code improvements, new tests, and documentation updates.

See the release notes for all changes.

In my opinion, the stability fixes justify upgrading immediately.

The eagle-eyed will note that today is a 2.2.1 release but we actually tagged 2.2.0 a few weeks ago. ODPI-C 2.2.0 was tagged solely to give an identifiable base for node-oracledb 2.2 to use. However Anthony had some ODPI-C fixes queued up in areas of code not used by node-oracledb, hence today's "official" ODPI-C 2.2.1 announcement.

ODPI-C References

Home page: oracle.github.io/odpi

Code: github.com/oracle/odpi

Documentation: oracle.github.io/odpi/doc/index.html

Release Notes: oracle.github.io/odpi/doc/releasenotes.html

Report issues and discuss: github.com/oracle/odpi/issues

Installation Instructions: oracle.github.io/odpi/doc/installation.html.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.