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 "Bryan Pendleton (JIRA)" <ji...@apache.org> on 2016/05/07 18:36:12 UTC

[jira] [Comment Edited] (DERBY-6856) Make it possible to build Derby using JDK 9

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

Bryan Pendleton edited comment on DERBY-6856 at 5/7/16 6:34 PM:
----------------------------------------------------------------

Hi Rick,

I think that this change to jdbcapi/DatabaseMetaDataTest.java is not correct:

{code}
@@ -2325,7 +2325,7 @@
         // DERBY-4946: Boolean isn't supported if DB is soft-upgraded from
         // pre-10.7 version
         if (!booleanSupported) {
-            supportedTypes.remove(new Integer(Types.BOOLEAN));
+            supportedTypes.remove(Types.BOOLEAN);
         }
{code}

The problem is that there is a List.remove(Object o) and a List.remove(int i), and
the effect of the above change is to change us from calling the first method
to calling the second one.

So instead of removing Types.BOOLEAN from the supportedTypes list, we
are (trying to) remove object number 16 from the supportedTypes list.

With the current head of trunk, if I run

ant -Dderby.junit.testclass=org.apache.derbyTesting.functionTests.testupgradeTests._Suite junit-single

I get 14 failures which I believe are due to this.

I'm going to investigate reverting this one change, to see if the tests go back to working,
and if so I'll commit that.



was (Author: bryanpendleton):
Hi Rick,

I think that this change to jdbcapi/DatabaseMetaDataTest.java is not correct:

@@ -2325,7 +2325,7 @@
         // DERBY-4946: Boolean isn't supported if DB is soft-upgraded from
         // pre-10.7 version
         if (!booleanSupported) {
-            supportedTypes.remove(new Integer(Types.BOOLEAN));
+            supportedTypes.remove(Types.BOOLEAN);
         }

The problem is that there is a List.remove(Object o) and a List.remove(int i), and
the effect of the above change is to change us from calling the first method
to calling the second one.

So instead of removing Types.BOOLEAN from the supportedTypes list, we
are (trying to) remove object number 16 from the supportedTypes list.

With the current head of trunk, if I run

ant -Dderby.junit.testclass=org.apache.derbyTesting.functionTests.testupgradeTests._Suite junit-single

I get 14 failures which I believe are due to this.

I'm going to investigate reverting this one change, to see if the tests go back to working,
and if so I'll commit that.


> Make it possible to build Derby using JDK 9
> -------------------------------------------
>
>                 Key: DERBY-6856
>                 URL: https://issues.apache.org/jira/browse/DERBY-6856
>             Project: Derby
>          Issue Type: Improvement
>          Components: Build tools
>    Affects Versions: 10.12.1.1
>            Reporter: Rick Hillegas
>         Attachments: derby-6856-01-ab-addShardingKey.diff, derby-6856-01-ac-cleanup.diff, derby-6856-02-aa-addShardingKey.diff, derby-6856-03-aa-autoboxingDeprecationWarnings.diff, derby-6856-03-ab-autoboxingDeprecationWarnings.diff
>
>
> Derby can't be built with JDK 9. Java 9 introduces new JDBC classes like java.sql.ShardingKey and methods which refer to these new classes.
> In addition, project Jigsaw has created a new way to name classes (see http://openjdk.java.net/jeps/220). This breaks the PropertySetter build tool which we use so that old JVMs can compile Derby and so that Derby can be compiled to run on old JVMs.
> It is likely that we will need to leave this issue open throughout the development cycle of Java 9.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)