Knut Anders Hatlen wrote:
Rick Hillegas wrote:
Myrna van Lunteren wrote:
On 7/30/07, Rick Hillegas <[EMAIL PROTECTED]> wrote:
What rev level of CDC/Foundation are we claiming to support in 10.3?
CDC/Foundation 1.0 or CDC/Foundation 1.1? I notice that the 10.3 code
includes calls to Throwable.initCause(), which I thought was not
supported in CDC/Foundation 1.0. See
http://issues.apache.org/jira/browse/DERBY-2210
Thanks,
-Rick
I thought DERBY-2210 and DERBY-2228 indicate the move to Foundation
1.1.
But, these issues do say it was supposed to be backwards compatible to
1.0, I think?
Which may not be true because of DERBY-2472... & revision
520663...and others?
DERBY-2210 says that Foundation 1.1 is backward compatible with
Foundation 1.0 (that is, an application written for 1.0 should work on
1.1), not that Derby is compatible with Foundation 1.0. It also
mentions that the change will allow use of initCause(), so I don't
think the intention was to be compatible with 1.0.
Myrna
Thanks for pointers to those other JIRAs, Myrna. It looks as though
the following may be the case:
1) Derby implements the CDC/Foundation 1.0 api.
2) However, Derby runs on CDC/Foundation 1.1 implementations provided
that the application does not invoke any incremental api introduced
by CDC/Foundation 1.1.
I'm not sure the above statements are quite accurate. Derby does not
implement the Foundation 1.0 (or 1.1) API. That would be similar to
saying that Derby implements Java SE 6. I also don't think there is
anything in Derby that will make applications fail if they use new
methods in the Foundation 1.1 API. What Derby implements, is the JDBC
3.0 subset specified in JSR-169. The Foundation 1.0/1.1 specs do not
include the java.sql and javax.sql packages, so no API changes were
required for Derby when moving from Foundation 1.0 to 1.1.
3) When run on a CDC/Foundation 1.0 implementation, Derby may raise
method-not-found exceptions. This may happen if Derby error
processing tries to invoke Throwable.initCause().
I don't think a CDC/Foundation 1.0 implementation will be able to load
the classes in derby.jar since it is on JVM level 1.3 and Derby is
compiled with source level and target level set to 1.4.
Thanks, Knut. This is very helpful. So here's a revised summary:
1) Derby 10.3 will NOT run on a CDC/Foundation 1.0 implementation.
Attempts to do so will raise UnsupportedClassVersionError.
2) Derby 10.3 will run on CDC/Foundation 1.1 implementations. In this
configuration, Derby satisfies the stripped down JDBC api of JSR 169
rather than JDBC 3.0 or 4.0.
It appears that DERBY-2228 and DERBY-2472 have been closed. What work
remains to be done on DERBY-2210?
Thanks,
-Rick