You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Stan Bradbury (JIRA)" <ji...@apache.org> on 2007/04/06 02:52:32 UTC

[jira] Updated: (DERBY-2488) When loaded by jvm1.6 - EmbeddedConnectionPoolDataSource is not returning a JDBC 4 compliant PooledConnection object

     [ https://issues.apache.org/jira/browse/DERBY-2488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stan Bradbury updated DERBY-2488:
---------------------------------

    Description: 
Updated the problem description to reflect the actual issue [Stan 4/5/07]:  EmbeddedConnectionPoolDataSource is not returning a JDBC 4 compliant PooledConnection object

When loaded using JVM 1.6 the JDBC 3.0 data source (org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource) is reporting a JDBC spec compliance level of 4.  The DatabaseMetaData.getJDBCMajorVersion method should return the
correct spec compliance level (3) for the JDBC 3.0 data source.  The application server that relies on the reported spec compliance level to determine if a statement event listener should be registered will encounter a failure when  attemptting to register  an event listener with the JDBC 3.0 driver.

Note that the JDBC 4.0 metadata call ..getMetaData().supportsStoredFunctionsUsingCallSyntax() is executed by the JDBC 3.0 driver.  This doesn't bother me but seems curious that this is supported by a JDBC 3.0 driver.

Attached is a test case based on the test code from DERBY-8862 (JDBC 4 driver reports incorrect spec complieance level).

Running the test:
set JAVA_HOME to a 1.6 JVM
Compile program
run command:   ${JAVA_HOME}/java showJDBCdsMetaDataLis <path-to-database> 3.0 

Using JAVA 6.0

> "%JAVA_HOME%\bin\java" showJDBCdsMetaDataLis "c:\tstdb102" 3.0
 . . JDBC 3 or less: Using jdbc.EmbeddedConnectionPoolDataSource
Database product: Apache Derby
Database version: 10.2.2.0 - (485682)
Driver name:      Apache Derby Embedded JDBC Driver
Driver version:   10.2.2.0 - (485682)
JDBC driver major version: 4
JDBC driver minor version: 0
JDBC 4.0 metaData - SFusingCall: true
 >> exception thrown:
A non SQL error occured.
java.lang.AbstractMethodError: org.apache.derby.jdbc.EmbedPooledConnection.addStatementEventListener(Ljavax/sql/Statemen
tEventListener;)V
        at showJDBCdsMetaDataLis.main(showJDBCdsMetaDataLis.java:103)




  was:
When loaded using JVM 1.6 the JDBC 3.0 data source (org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource) is reporting a JDBC spec compliance level of 4.  The DatabaseMetaData.getJDBCMajorVersion method should return the
correct spec compliance level (3) for the JDBC 3.0 data source.  The application server that relies on the reported spec compliance level to determine if a statement event listener should be registered will encounter a failure when  attemptting to register  an event listener with the JDBC 3.0 driver.

Note that the JDBC 4.0 metadata call ..getMetaData().supportsStoredFunctionsUsingCallSyntax() is executed by the JDBC 3.0 driver.  This doesn't bother me but seems curious that this is supported by a JDBC 3.0 driver.

Attached is a test case based on the test code from DERBY-8862 (JDBC 4 driver reports incorrect spec complieance level).

Running the test:
set JAVA_HOME to a 1.6 JVM
Compile program
run command:   ${JAVA_HOME}/java showJDBCdsMetaDataLis <path-to-database> 3.0 

Using JAVA 6.0

> "%JAVA_HOME%\bin\java" showJDBCdsMetaDataLis "c:\tstdb102" 3.0
 . . JDBC 3 or less: Using jdbc.EmbeddedConnectionPoolDataSource
Database product: Apache Derby
Database version: 10.2.2.0 - (485682)
Driver name:      Apache Derby Embedded JDBC Driver
Driver version:   10.2.2.0 - (485682)
JDBC driver major version: 4
JDBC driver minor version: 0
JDBC 4.0 metaData - SFusingCall: true
 >> exception thrown:
A non SQL error occured.
java.lang.AbstractMethodError: org.apache.derby.jdbc.EmbedPooledConnection.addStatementEventListener(Ljavax/sql/Statemen
tEventListener;)V
        at showJDBCdsMetaDataLis.main(showJDBCdsMetaDataLis.java:103)




        Summary: When loaded by jvm1.6 - EmbeddedConnectionPoolDataSource is not returning a JDBC 4 compliant PooledConnection object  (was: When loaded by jvm1.6 - Derby JDBC 3.0 driver returns 4 for JDBC driver major )

Updated the description to accurately reflect the problem as it is now understood.

> When loaded by jvm1.6 - EmbeddedConnectionPoolDataSource is not returning a JDBC 4 compliant PooledConnection object
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2488
>                 URL: https://issues.apache.org/jira/browse/DERBY-2488
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.2.2.0
>         Environment: Run test using JVM 1.6
>            Reporter: Stan Bradbury
>         Assigned To: A B
>         Attachments: d2488_notTested_v1.patch, d2488_v2.patch, showJDBCdsMetaDataLis.class, showJDBCdsMetaDataLis.class, showJDBCdsMetaDataLis.java, showJDBCdsMetaDataLis.java
>
>
> Updated the problem description to reflect the actual issue [Stan 4/5/07]:  EmbeddedConnectionPoolDataSource is not returning a JDBC 4 compliant PooledConnection object
> When loaded using JVM 1.6 the JDBC 3.0 data source (org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource) is reporting a JDBC spec compliance level of 4.  The DatabaseMetaData.getJDBCMajorVersion method should return the
> correct spec compliance level (3) for the JDBC 3.0 data source.  The application server that relies on the reported spec compliance level to determine if a statement event listener should be registered will encounter a failure when  attemptting to register  an event listener with the JDBC 3.0 driver.
> Note that the JDBC 4.0 metadata call ..getMetaData().supportsStoredFunctionsUsingCallSyntax() is executed by the JDBC 3.0 driver.  This doesn't bother me but seems curious that this is supported by a JDBC 3.0 driver.
> Attached is a test case based on the test code from DERBY-8862 (JDBC 4 driver reports incorrect spec complieance level).
> Running the test:
> set JAVA_HOME to a 1.6 JVM
> Compile program
> run command:   ${JAVA_HOME}/java showJDBCdsMetaDataLis <path-to-database> 3.0 
> Using JAVA 6.0
> > "%JAVA_HOME%\bin\java" showJDBCdsMetaDataLis "c:\tstdb102" 3.0
>  . . JDBC 3 or less: Using jdbc.EmbeddedConnectionPoolDataSource
> Database product: Apache Derby
> Database version: 10.2.2.0 - (485682)
> Driver name:      Apache Derby Embedded JDBC Driver
> Driver version:   10.2.2.0 - (485682)
> JDBC driver major version: 4
> JDBC driver minor version: 0
> JDBC 4.0 metaData - SFusingCall: true
>  >> exception thrown:
> A non SQL error occured.
> java.lang.AbstractMethodError: org.apache.derby.jdbc.EmbedPooledConnection.addStatementEventListener(Ljavax/sql/Statemen
> tEventListener;)V
>         at showJDBCdsMetaDataLis.main(showJDBCdsMetaDataLis.java:103)

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