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

Bryan Pendleton commented on DERBY-6856:
----------------------------------------

Hi Rick, Knut Anders: Danoja Dias was studying the auto-boxing changes in the
context of DERBY-6391, and found an interesting bit of code in SQLChar.java:

{code}
--- java/engine/org/apache/derby/iapi/types/SQLChar.java        (revision 
1754401)
+++ java/engine/org/apache/derby/iapi/types/SQLChar.java        (working copy)
@@ -2333,7 +2333,7 @@
         {
             throw StandardException.newException(
                     SQLState.LANG_INVALID_ESCAPE_CHARACTER,
-                    new String(escapeCharArray));
+                    String.valueOf(escapeCharArray));
         }
         likeResult = Like.like(evalCharArray, 
                                getLength(),
{code}

Do either of you have some thoughts about why the Java 9 auto-boxing system
didn't detect this case and issue the warning? Would it be appropriate to
remove the new String instance in this case as part of the auto-boxing changes?


> 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-6856-04-aa-autoboxingDeprecationWarnings-part2.diff, 
> derby-6856-04-ab-autoboxingDeprecationWarnings-part2.diff, 
> derby-6856-05-ac-roundingMode-Class.newInstance.diff, 
> derby-6856-05-af-roundingMode-Class.getDeclaredConstructor.diff, 
> derby-6856-05-ag-roundingMode-Class.newInstance.diff, 
> derby-6856-06-aa-observable.diff, derby-6856-07-aa-oneMoreNewInstance.diff, 
> derby-6856-08-aa-cleanupJavadoc.diff, derby-6856-09-aa-javadocEntities.diff, 
> derby-6856-XX-ab-base.diff, derby-6856-XX-ac-base.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)

Reply via email to