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 Knut Anders Hatlen <kn...@oracle.com> on 2016/05/09 08:28:56 UTC
Re: svn commit: r1742756 - /db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/DatabaseMetaDataTest.java
bpendleton@apache.org writes:
> Author: bpendleton
> Date: Sat May 7 21:20:42 2016
> New Revision: 1742756
>
> URL: http://svn.apache.org/viewvc?rev=1742756&view=rev
> Log:
> DERBY-6856: Make it possible to build Derby using JDK 9
>
> This change reverts one particular change from revision 1742289.
>
> The java.util.List class supports two remove methods:
> remove(Object o) and remove(int i). In the DatabaseMetaDataTest's
> testGetTypeInfo test, there is a List<Integer>, and changing
> the autoboxing code to call remove(Types.BOOLEAN) rather than
> remove(new Integer(Types.BOOLEAN)) caused the JDK 8 compiler to
> choose remove(int i) rather than remove(Object o), thus
> causing failures in the upgrade test suite.
>
> This change returns the test code to using the explicit
> object creation in order to ensure we call remove(Object o).
>
>
> Modified:
> db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/DatabaseMetaDataTest.java
>
> Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/DatabaseMetaDataTest.java
> URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/DatabaseMetaDataTest.java?rev=1742756&r1=1742755&r2=1742756&view=diff
> ==============================================================================
> --- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/DatabaseMetaDataTest.java (original)
> +++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/DatabaseMetaDataTest.java Sat May 7 21:20:42 2016
> @@ -2325,7 +2325,7 @@ public class DatabaseMetaDataTest extend
> // DERBY-4946: Boolean isn't supported if DB is soft-upgraded from
> // pre-10.7 version
> if (!booleanSupported) {
> - supportedTypes.remove(Types.BOOLEAN);
> + supportedTypes.remove(new Integer(Types.BOOLEAN));
Good catch!
I think
supportedTypes.remove(Integer.valueOf(Types.BOOLEAN));
would have the additional benefits of removing the warning on JDK 9 and
using the internal cache of Integer objects to avoid allocation, while
still picking the correct overload of List.remove().
> }
>
> // Rows are returned from getTypeInfo in order of
--
Knut Anders
Re: svn commit: r1742756 -
/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/DatabaseMetaDataTest.java
Posted by Bryan Pendleton <bp...@gmail.com>.
>> + supportedTypes.remove(new Integer(Types.BOOLEAN));
>
> supportedTypes.remove(Integer.valueOf(Types.BOOLEAN));
>
> would have the additional benefits of removing the warning on JDK 9 and
> using the internal cache of Integer objects to avoid allocation, while
> still picking the correct overload of List.remove().
Indeed, a simple and useful improvement. Thanks!
bryan