db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (DERBY-6000) Implement support for JDBC 4.2
Date Wed, 06 Feb 2013 17:37:13 GMT

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

Rick Hillegas edited comment on DERBY-6000 at 2/6/13 5:36 PM:
--------------------------------------------------------------

Unfortunately, this version of OpenJDK 8 causes Derby to fail on VerifyErrors whenever Derby
tries to load an interface which JDBC 4.2 extends with a default method. For example, when
you try to connect to Derby, you get this error:

JAVA ERROR: java.lang.VerifyError: (class: org/apache/derby/impl/jdbc/EmbedDatabaseMetaData,
method: supportsRefCursors signature: ()Z) Illegal use of nonvirtual function call

...and when you try to run a statement, you get this error:

JAVA ERROR: java.lang.VerifyError: (class: org/apache/derby/impl/jdbc/EmbedStatement, method:
executeLargeUpdate signature: (Ljava/lang/String;[Ljava/lang/String;)J) Illegal use of nonvirtual
function call

This is an OpenJDK bug tracked by http://bugs.sun.com/view_bug.do?bug_id=8004967

For the moment, this bug prevents Derby from building cleanly under OpenJDK 8. I made some
changes to get the classes to build, but the VerifyErrors kill the generation of toursdb,
and that kills the Derby build.

For the moment, it's probably best to work on the pieces of JDBC 4.2 which can be pushed into
Derby's JDBC 3.0 implementation.
                
      was (Author: rhillegas):
    Unfortunately, this version of OpenJDK 8 causes Derby to fail on VerifyErrors whenever
Derby tries to load an interface which JDBC 4.2 extends with a default method. For example,
when you try to connect to Derby, you get this error:

JAVA ERROR: java.lang.VerifyError: (class: org/apache/derby/impl/jdbc/EmbedDatabaseMetaData,
method: supportsRefCursors signature: ()Z) Illegal use of nonvirtual function call

...and when you try to run a statement, you get this error:

JAVA ERROR: java.lang.VerifyError: (class: org/apache/derby/impl/jdbc/EmbedStatement, method:
executeLargeUpdate signature: (Ljava/lang/String;[Ljava/lang/String;)J) Illegal use of nonvirtual
function call

This is an OpenJDK bug tracked by https://jbs.oracle.com/bugs/browse/JDK-8004967

For the moment, this bug prevents Derby from building cleanly under OpenJDK 8. I made some
changes to get the classes to build, but the VerifyErrors kill the generation of toursdb,
and that kills the Derby build.

For the moment, it's probably best to work on the pieces of JDBC 4.2 which can be pushed into
Derby's JDBC 3.0 implementation.
                  
> Implement support for JDBC 4.2
> ------------------------------
>
>                 Key: DERBY-6000
>                 URL: https://issues.apache.org/jira/browse/DERBY-6000
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC
>            Reporter: Rick Hillegas
>         Attachments: derby-6000-01-aa-executeLargeUpdateEmbedded.diff, derby-6000-02-ad-executeLargeUpdateClient.diff,
derby-6000-03-aa-executeLargeBatch.diff, derby-6000-04-aa-setLargeMaxRows.diff, derby-6000-05-aa-executeLargeUpdatePS.diff,
derby-6000-06-aa-DatabaseMetaData.diff, derby-6000-07-ab-batchUpdateException.diff, derby-6000-08-aa-batchUpdateExceptionConstructor.diff,
JDBC_4.2_Changes.html
>
>
> Open JDK 8 will include maintenance rev 4.2 of JDBC. The public discussion of JDBC 4.2
will take place here: http://openjdk.java.net/jeps/170. We will want to build Derby support
for JDBC 4.2 after a public spec appears. At this time, it is unclear what Derby release will
carry this support.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message