You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by dj...@apache.org on 2008/01/29 21:03:26 UTC

svn commit: r616504 - /db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/DatabaseMetaDataTest.java

Author: djd
Date: Tue Jan 29 12:03:24 2008
New Revision: 616504

URL: http://svn.apache.org/viewvc?rev=616504&view=rev
Log:
More cleanup in DatabaseMetaDataTest related to making the differences between odbc and jdbc result sets easier to see from the test.

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=616504&r1=616503&r2=616504&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 Tue Jan 29 12:03:24 2008
@@ -1904,23 +1904,12 @@
         };
         
         // DERBY-2307 Nullablity is wrong for column 1 (1-based)
-        // Make a modified copy of JDBC_COLUMN_NULLABILITY
-        // here to allow the test to pass. Left JDBC_COLUMN_NULLABILITY
-        // as the expected versions as it is also used for the ODBC
-        // checks below and has the correct values.
-        boolean[] JDBC_COLUMN_NULLABILITY_DERBY_2307 = {
-                true, false, true, true,
-                true, true, false, false,
-                false, true, false,
-                true, true,
-                true, true,
-                true, true,
-                true 
-        };
-        
+        // Modify JDBC_COLUMN_NULLABILITY to reflect current reality
+        JDBC_COLUMN_NULLABILITY[1 - 1] = true;
+      
         ResultSet rs = getDMD().getTypeInfo();
         assertMetaDataResultSet(rs, JDBC_COLUMN_NAMES, JDBC_COLUMN_TYPES
-        , JDBC_COLUMN_NULLABILITY_DERBY_2307
+        , JDBC_COLUMN_NULLABILITY
         );
 
 	/*
@@ -2228,8 +2217,7 @@
         System.arraycopy(JDBC_COLUMN_NULLABILITY, 0, ODBC_COLUMN_NULLABILITY, 0,
                 JDBC_COLUMN_NULLABILITY.length);
         
-        ODBC_COLUMN_NULLABILITY[15] = false; // // SQL_DATETIME_SUB (JDBC unused)
-        ODBC_COLUMN_NULLABILITY[18] = true; // INTERVAL_PRECISION
+        ODBC_COLUMN_NULLABILITY[19 - 1] = true; // INTERVAL_PRECISION (extra column comapred to JDBC)
                 
         CallableStatement cs = prepareCall(
                 "CALL SYSIBM.SQLGETTYPEINFO (0, 'DATATYPE=''ODBC''')");
@@ -2238,7 +2226,8 @@
         ResultSet odbcrs = cs.getResultSet();
         assertNotNull(odbcrs);
         
-        assertMetaDataResultSet(odbcrs, ODBC_COLUMN_NAMES, ODBC_COLUMN_TYPES, null);
+        assertMetaDataResultSet(odbcrs, ODBC_COLUMN_NAMES, ODBC_COLUMN_TYPES,
+        		ODBC_COLUMN_NULLABILITY);
         
         odbcrs.close();
         cs.close();
@@ -3545,26 +3534,22 @@
                 // ASC_OR_DESC is Types.CHAR rather than VARCHAR...
                 Types.SMALLINT,Types.VARCHAR,Types.CHAR,Types.INTEGER,
                 Types.INTEGER,Types.VARCHAR};
+        
+        // types.boolean is not supported with networkserver
         if (usingDerbyNetClient())
-            columnTypes = new int[] {
-                Types.VARCHAR,Types.VARCHAR,Types.VARCHAR,
-                // types.boolean is not supported with networkserver
-                Types.SMALLINT,Types.VARCHAR,Types.VARCHAR,Types.SMALLINT,
-                // ASC_OR_DESC is Types.CHAR rather than VARCHAR...
-                Types.SMALLINT,Types.VARCHAR,Types.CHAR,Types.INTEGER,
-                Types.INTEGER,Types.VARCHAR};
-        int[] odbcColumnTypes = new int[] {
-                Types.VARCHAR,Types.VARCHAR,Types.VARCHAR,
-                // types.boolean is not supported with ODBC
-                Types.SMALLINT,Types.VARCHAR,Types.VARCHAR,Types.SMALLINT,
-                // ASC_OR_DESC is Types.CHAR rather than VARCHAR...
-                Types.SMALLINT,Types.VARCHAR,Types.CHAR,Types.INTEGER,
-                Types.INTEGER,Types.VARCHAR};
+        	columnTypes[4 - 1] = Types.SMALLINT;
+        
         boolean [] nullability = {false,false,false,
             true,false,true,true,true,false,true,true,true,true};
         
+        // JDBC result set
         assertMetaDataResultSet(rss[0], columnNames, columnTypes, nullability);
-        assertMetaDataResultSet(rss[1], columnNames, odbcColumnTypes, nullability);
+        
+        // Change shape for ODBC.
+        columnTypes[4 - 1] = Types.SMALLINT; // types.boolean is not supported with ODBC
+
+        // ODBC result set
+        assertMetaDataResultSet(rss[1], columnNames, columnTypes, nullability);
        
         return rss;        
     }