Not knowing the fully story and all the implications, choice three
sounds far and above like the better choice.
david
Rick Hillegas (JIRA) wrote:
[ http://issues.apache.org/jira/browse/DERBY-587?page=comments#action_12331629 ]
Rick Hillegas commented on DERBY-587:
-------------------------------------
Dan raises an uncomfortable issue which I hope we don't have to address for
this submission but which we do have to address for the 10.2 release.
EmbeddedDataSource is just one instance of the problem. But it surfaces across
the org.apache.derby.jdbc package.
The problem is that EmbeddedDataSource implements an interface
(javax.sql.DataSource) which has changed between jdk1.4 and jdk1.6 in an
irreconcilable way. In jdk1.6, DataSource contains a method with generics in
its signature. If we ship an EmbeddedDataSource which implements this method,
then I think it won't play well in a 1.4 vm. If, however, we ship an
EmbeddedDataSource which does NOT implement this method, then on a 1.6 vm,
EmbeddedDataSource will fail to satisfy the DataSource contract.
Here are some ways we could solve this problem:
1) Ship both a 1.4 and a 1.6 version of EmbeddedDataSource and sort the problem
out at run time using some kind of classloader jiggery pokery. I'm waving my
hands because I don't understand what the jiggery pokery would be.
2) Release two different distributions of 10.2, one for 1.5 and earlier vms and
another for 1.6 vms.
3) Deprecate EmbeddedDataSource as a class in 10.2. Instead, turn it into an
interface and add a factory to org.apache.derby.jdbc which is smart enough to
contruct a vm-specific class at runtime. This solution could be applied to the
other classes in that package which have the same problem.
Providing JDBC 4.0 support for derby
------------------------------------
Key: DERBY-587
URL: http://issues.apache.org/jira/browse/DERBY-587
Project: Derby
Type: New Feature
Components: JDBC
Versions: 10.2.0.0
Reporter: V.Narayanan
Assignee: V.Narayanan
Priority: Minor
Fix For: 10.2.0.0
Attachments: jdbc4.0.sxw, jdbc40.diff, jdbc40.stat
begin:vcard
fn:David W Van Couvering
n:Van Couvering;David W
org:Sun Microsystems, Inc.;Database Technology Group
email;internet:[EMAIL PROTECTED]
title:Senior Staff Software Engineer
tel;work:510-550-6819
tel;cell:510-684-7281
x-mozilla-html:TRUE
version:2.1
end:vcard