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

Reply via email to