Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-2488 When loaded by jvm1.6 - EmbeddedConnectionPoolDataSource is not returning a JDBC 4 compliant PooledConnection object
  3. DERBY-2582

EmbeddedConnectionPoolDataSource does not implement java.sql.Wrapper but reports JDBC 4 compliance when run with JDK 6

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 10.2.2.1
    • None
    • JDBC
    • JDK 6
    • Normal
    • High Value Fix

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              stan Sun Seng David Tan
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: