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
, andCallableStatement
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 forCARDINALITY
andPAGES
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