db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From myrn...@apache.org
Subject svn commit: r590476 - /db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/DatabaseMetaDataTest.java
Date Tue, 30 Oct 2007 21:44:31 GMT
Author: myrnavl
Date: Tue Oct 30 14:44:30 2007
New Revision: 590476

URL: http://svn.apache.org/viewvc?rev=590476&view=rev
Log:
DERBY-2242 (partial); implementing the TODO re testUnimplementedSQLObjectAttributes.

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=590476&r1=590475&r2=590476&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 Oct 30 14:44:30 2007
@@ -674,8 +674,9 @@
      * Test methods that describe attributes of SQL Objects
      * that are not supported by derby. In each case the
      * metadata should return an empty ResultSet of the
-     * correct shape.
-     * TODO: types and column names of the ResultSets
+     * correct shape, and with correct names, datatypes and 
+     * nullability for the columns in the ResultSet. 
+     * 
      */
     public void testUnimplementedSQLObjectAttributes() throws SQLException
     {
@@ -684,7 +685,34 @@
         ResultSet rs;
         
         rs = dmd.getAttributes(null,null,null,null);
-        assertMetaDataResultSet(rs, null, null, null);
+        
+        String [] columnNames = {
+                "TYPE_CAT", "TYPE_SCHEM", "TYPE_NAME", "ATTR_NAME", "DATA_TYPE",
+                "ATTR_TYPE_NAME", "ATTR_SIZE", "DECIMAL_DIGITS", "NUM_PREC_RADIX",
+                "NULLABLE", "REMARKS", "ATTR_DEF", "SQL_DATA_TYPE", 
+                "SQL_DATETIME_SUB", "CHAR_OCTET_LENGTH", "ORDINAL_POSITION", 
+                "IS_NULLABLE", "SCOPE_CATALOG", "SCOPE_SCHEMA", "SCOPE_TABLE",
+                "SOURCE_DATA_TYPE"
+        };
+        int [] columnTypes = { 
+                Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, 
+                Types.INTEGER, Types.VARCHAR, Types.INTEGER, Types.INTEGER, Types.INTEGER,
+                Types.INTEGER, Types.VARCHAR, Types.VARCHAR, Types.INTEGER,
+                Types.INTEGER, Types.INTEGER, Types.INTEGER,
+                Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.SMALLINT
           
+        };
+        // interestingly, we get a different value back for nullability for
+        // the a number of the columns with networkserver/client vs. embedded 
+        boolean nullval = true;
+        if (usingDerbyNetClient())
+            nullval = false;
+        boolean [] nullability = {
+                true, true, true, true, nullval, true, nullval,
+                nullval, nullval, nullval, true, true, nullval, nullval,
+                nullval, nullval, true, true, true, true, true
+        };
+            
+        assertMetaDataResultSet(rs, columnNames, columnTypes, nullability);
         JDBC.assertEmpty(rs);
         
         rs = dmd.getCatalogs();
@@ -692,14 +720,35 @@
         JDBC.assertEmpty(rs);
         
         rs = dmd.getSuperTables(null,null,null);
-        assertMetaDataResultSet(rs, null, null, null);
+        columnNames = new String[] {
+                "TABLE_CAT", "TABLE_SCHEM", "TABLE_NAME", "SUPERTABLE_NAME"};
+        columnTypes = new int[] {
+                Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR};
+        nullability = new boolean[] {
+                true, true, true, true};
+        assertMetaDataResultSet(rs, columnNames, columnTypes, nullability);
         JDBC.assertEmpty(rs);
 
         rs = dmd.getSuperTypes(null,null,null);
-        assertMetaDataResultSet(rs, null, null, null);
+        columnNames = new String[] {
+                "TYPE_CAT", "TYPE_SCHEM", "TYPE_NAME", "SUPERTYPE_CAT",
+                "SUPERTYPE_SCHEM", "SUPERTYPE_NAME"};
+        columnTypes = new int[] {
+                Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR,
+                Types.VARCHAR, Types.VARCHAR};
+        nullability = new boolean[] {
+                true, true, true, true, true, true};
+        assertMetaDataResultSet(rs, columnNames, columnTypes, nullability);
         JDBC.assertEmpty(rs);
 
         rs = dmd.getUDTs(null,null,null,null);
+        columnNames = new String[] {
+                "TYPE_CAT", "TYPE_SCHEM", "TYPE_NAME", "CLASS_NAME",
+                "DATA_TYPE", "REMARKS", "BASE_TYPE"};
+        columnTypes = new int[] {
+                Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR};
+        nullability = new boolean[] {
+                true, true, true, true};
         assertMetaDataResultSet(rs, null, null, null);
         JDBC.assertEmpty(rs);
         



Mime
View raw message