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 "A B (JIRA)" <ji...@apache.org> on 2007/04/03 20:26:32 UTC

[jira] Commented: (DERBY-2488) When loaded by jvm1.6 - Derby JDBC 3.0 driver returns 4 for JDBC driver major

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

A B commented on DERBY-2488:
----------------------------

Okay, so d2488_noTest_v1 is not a valid patch.  It was fine when I applied and built, but when I clobbered and then built there are failures (because the 40 classes can't be built with jdk14).  Oops, silly me; sorry for th noise.

Still curious to know, though, if this is the correct approach *functionally* speaking?  I.e. we need to return JDBC 4 objects from the non-40 data sources?

> When loaded by jvm1.6 - Derby JDBC 3.0 driver returns 4 for JDBC driver major 
> ------------------------------------------------------------------------------
>
>                 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
>         Attachments: d2488_notTested_v1.patch, showJDBCdsMetaDataLis.class, showJDBCdsMetaDataLis.class, showJDBCdsMetaDataLis.java, showJDBCdsMetaDataLis.java
>
>
> 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.