跳到主要内容

JEP 170: JDBC 4.2

Summary

Minor enhancements to JDBC to improve usability and portability

Motivation

Improve the ability to leverage new data types and continue to make improvements in areas that have been requested by JDBC application programmers and driver vendors.

Description

Changes under consideration for JDBC 4.2 include:

  • Add a generic setter/update method to ResultSet, PreparedStatement, and CallableStatement to support new data types such as those being defined in JSR 310.

  • Define REF_CURSOR support for CallableStatement.

  • Specify required DataSource properties for a Java EE environment.

  • Enhance DatabaseMetaData.getIndexInfo to provide new columns for CARDINALITY and PAGES which return a long value.

  • Add a new DatabaseMeta method to return the logical maximum size for a LOB.

  • Additional clean up of the spec as needed.

Testing

Changes will be mostly additions to existing interfaces.

The JCK will need to tests added for any concrete methods/classes, e.g., PreparedStatement.setObject(int pos, Object val, SQLType type).

Risks and Assumptions

The primary risk of this change is that any change affecting method type-inference has the potential for backwards incompatibility.

Dependences

JSR 310, the new Date and Time API (JEP 150).

Impact

  • Compatibility: Minimal - Additional methods will be added to existing interfaces, but that only affects JDBC drivers. Existing JDBC applications will continue to run unmodified.

  • Documentation: Additional updates to the spec and the javadoc spec

  • JCP: A Maintenance Release of JSR 221, as done for JDBC 4.1, with a 30-day review period