db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2582) EmbeddedConnectionPoolDataSource does not implement java.sql.Wrapper but reports JDBC 4 compliance when run with JDK 6
Date Fri, 27 Apr 2007 07:46:15 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12492216
] 

Knut Anders Hatlen commented on DERBY-2582:
-------------------------------------------

It is also possible to add wrapper methods with these signatures to the old data sources:

public boolean isWrapperFor(Class iface)
public Object unwrap(Class iface)

This will work as long as you access them through the ConnectionPoolDataSource interface (or
the Wrapper interface) on Java 1.6, like this:

  ConnectionPoolDataSource ds = myEmbeddedConnectionPoolDataSource;
  if (ds.isWrapperFor(EmbeddedConnectionPoolDataSource.class) {
    EmbeddedConnectionPoolDataSource ds2 = ds.unwrap(EmbeddedConnectionPoolDataSource.class);
  }

I'm not saying it's a good solution, but perhaps it could reduce the problem?

> EmbeddedConnectionPoolDataSource does not implement java.sql.Wrapper but reports JDBC
4 compliance when run with JDK 6 
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2582
>                 URL: https://issues.apache.org/jira/browse/DERBY-2582
>             Project: Derby
>          Issue Type: Sub-task
>          Components: JDBC
>    Affects Versions: 10.2.2.1
>         Environment: JDK 6
>            Reporter: Stan Bradbury
>
> Software that checks the value returned by the dataseMetadata method getJDBCMajorVersion
for JDBC compliance level and, based on the value, takes different paths in the code will
fail unexpectedly accessing java.sql.Wrapper when loading EmbeddedConnectionPoolDataSource
in a JDK 6 environment.  EmbeddedConnectionPoolDataSource reports a compliance level of 4
when loaded in a JDK 6 environment.  It returns JDBC 4 objects but the Datasource itself does
NOT satify  the JDBC 4.0 interface Wrapper and so, not being fully compliant, should not report
JDBC 4 compliance.  
> JSR 221 does not detail the behavior of the dataseMetadata method getJDBCMajorVersion
but the description in Section 6.3, JDBC 4.0 API Compliance, states: "A driver that is compliant
with the JDBC 4.0 specification must .. Fully implement .. java.sql.Wrapper".  As Dan stated
in his comment on DERBY-2488,  (http://issues.apache.org/jira/browse/DERBY-2488#action_12485033)
EmbeddedConnectionPoolDataSource does not implement Wrapper. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message