db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Army <a...@golux.com>
Subject Re: [jira] Created: (DERBY-137) Derby metadata always returns JDBC 2 result sets, even when JDBC 3 result sets are required.
Date Wed, 02 Feb 2005 23:23:04 GMT
Mamta Satoor wrote:

>Hi Army,
>I could be wrong about this but if we change metadata.properties to return JDBC 3 result
>then won't that be incorrect result sets when running JDBC 2 jdk?
>"A B (JIRA)" wrote:
>>> NOTES:
>>> JDBC 3 needs to be backward compatible with JDBC 2, so it should be okay to just
modify metadata.properties to return JDBC 3 result sets...
That was my first thought, too.  But then I saw this paragraph in the "Goals" section of the
JDBC 3.0 spec:

[ begin quote ]

9. Maintain backward compatibility with existing applications and drivers 

Existing JDBC technology-enabled drivers ("JDBC drivers") and the applications that use them
must continue to work in an implementation of the Java virtual machine that supports the JDBC
3.0 API. Applications that use only features defined in earlier releases of the JDBC API,
excluding those that were deprecated by JDBC 2.0, will not require changes to continue running.
It should be straightforward for existing applications to migrate to JDBC 3.0 technology.

[ end quote ]

I also noticed the following little snippet from a web site on JDBC 3.0 (http://www-106.ibm.com/developerworks/java/library/j-jdbcnew/):

[ begin quote ]

Design Goals

The JDBC 3.0 specification is set forth primarily to round out the feature set of prior JDBC
specifications. Consequently, one of the guiding design principles of the new specification
is to maintain compatibility with existing applications and drivers. Therefore, users of JDBC
2 can expect their applications to function correctly under JDBC 3.0. Additionally, code written
to the JDBC 1 API that uses the previously deprecated methods will continue to work.

[ end quote ]

I admit that I didn't investigate these paragraphs any further, so maybe there's more to be
learned than what I originally took from them.  For example, even if a JDBC 2 application
does in fact "function correctly under JDBC 3.0", does that imply that a database which returns
JDBC 3.0 metadata is still "JDBC 2 compliant"?  I.e. "function correctly" doesn't necessarily
equal "JDBC 2 compliant", so maybe you're right--perhaps the fix is more complicated than
the NOTE in the JIRA entry suggests...

Any one out there know for sure?

View raw message