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 2006/01/20 20:22:05 UTC

svn commit: r370886 - in /db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests: master/ master/DerbyNet/ master/DerbyNetClient/ master/DerbyNetClient/jdk14/ master/j9_foundation/ tests/jdbcapi/

Author: djd
Date: Fri Jan 20 11:21:56 2006
New Revision: 370886

URL: http://svn.apache.org/viewcvs?rev=370886&view=rev
Log:
Add some additional test cases to metadata.java test to resolve some
result set meta data nits with DECIMAL and DOUBLE types.

Modified:
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadata.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/odbc_metadata.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/metadata.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadata.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/odbc_metadata.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_foundation/metadata.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadata.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/odbc_metadata.out
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadata_test.java

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadata.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadata.out?rev=370886&r1=370885&r2=370886&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadata.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadata.out Fri Jan 20 11:21:56 2006
@@ -1,11 +1,15 @@
 Test metadata starting
-Column display size of the union result is: 12
-dec(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
+Union Result -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
 dec(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
+real -- precision: 7 scale: 0 display size: 13 type name: REAL
+double -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 real + dec(10,2) -- precision: 7 scale: 0 display size: 13 type name: REAL
 double precision - dec(10,2) -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 dec(10,2) - double precision -- precision: 15 scale: 2 display size: 22 type name: DOUBLE
-result row: 11.10 11.10 14.4 -6.699999999999999 6.699999999999999
+result row: 11.10 3.3 4.4 14.4 -6.699999999999999 6.699999999999999
+DECIMAL(10,0) -- precision: 10 scale: 0 display size: 12 type name: DECIMAL
+DECIMAL(10,10) -- precision: 10 scale: 10 display size: 12 type name: DECIMAL
+DECIMAL(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
 Column result scale after division is: 23
 dc / 2 = 5.55000000000000000000000
 dc / 2 = 5.55500000000000000000000

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/odbc_metadata.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/odbc_metadata.out?rev=370886&r1=370885&r2=370886&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/odbc_metadata.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/odbc_metadata.out Fri Jan 20 11:21:56 2006
@@ -29,13 +29,17 @@
 ==> ODBC type/name checking done.
 =============== End ODBC 3.0 Compliance Tests =================
 Test metadata starting
-Column display size of the union result is: 12
-dec(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
+Union Result -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
 dec(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
+real -- precision: 7 scale: 0 display size: 13 type name: REAL
+double -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 real + dec(10,2) -- precision: 7 scale: 0 display size: 13 type name: REAL
 double precision - dec(10,2) -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 dec(10,2) - double precision -- precision: 15 scale: 2 display size: 22 type name: DOUBLE
-result row: 11.10 11.10 14.4 -6.699999999999999 6.699999999999999
+result row: 11.10 3.3 4.4 14.4 -6.699999999999999 6.699999999999999
+DECIMAL(10,0) -- precision: 10 scale: 0 display size: 12 type name: DECIMAL
+DECIMAL(10,10) -- precision: 10 scale: 10 display size: 12 type name: DECIMAL
+DECIMAL(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
 Column result scale after division is: 23
 dc / 2 = 5.55000000000000000000000
 dc / 2 = 5.55500000000000000000000

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/metadata.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/metadata.out?rev=370886&r1=370885&r2=370886&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/metadata.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/jdk14/metadata.out Fri Jan 20 11:21:56 2006
@@ -1,11 +1,15 @@
 Test metadata starting
-Column display size of the union result is: 12
-dec(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
+Union Result -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
 dec(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
+real -- precision: 7 scale: 0 display size: 13 type name: REAL
+double -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 real + dec(10,2) -- precision: 7 scale: 0 display size: 13 type name: REAL
 double precision - dec(10,2) -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 dec(10,2) - double precision -- precision: 15 scale: 2 display size: 22 type name: DOUBLE
-result row: 11.10 11.10 14.4 -6.699999999999999 6.699999999999999
+result row: 11.10 3.3 4.4 14.4 -6.699999999999999 6.699999999999999
+DECIMAL(10,0) -- precision: 10 scale: 0 display size: 12 type name: DECIMAL
+DECIMAL(10,10) -- precision: 10 scale: 10 display size: 12 type name: DECIMAL
+DECIMAL(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
 Column result scale after division is: 23
 dc / 2 = 5.55000000000000000000000
 dc / 2 = 5.55500000000000000000000

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadata.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadata.out?rev=370886&r1=370885&r2=370886&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadata.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadata.out Fri Jan 20 11:21:56 2006
@@ -1,11 +1,15 @@
 Test metadata starting
-Column display size of the union result is: 12
-dec(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
+Union Result -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
 dec(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
+real -- precision: 7 scale: 0 display size: 13 type name: REAL
+double -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 real + dec(10,2) -- precision: 7 scale: 0 display size: 13 type name: REAL
 double precision - dec(10,2) -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 dec(10,2) - double precision -- precision: 15 scale: 2 display size: 22 type name: DOUBLE
-result row: 11.10 11.10 14.4 -6.699999999999999 6.699999999999999
+result row: 11.10 3.3 4.4 14.4 -6.699999999999999 6.699999999999999
+DECIMAL(10,0) -- precision: 10 scale: 0 display size: 12 type name: DECIMAL
+DECIMAL(10,10) -- precision: 10 scale: 10 display size: 12 type name: DECIMAL
+DECIMAL(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
 Column result scale after division is: 23
 dc / 2 = 5.55000000000000000000000
 dc / 2 = 5.55500000000000000000000

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/odbc_metadata.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/odbc_metadata.out?rev=370886&r1=370885&r2=370886&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/odbc_metadata.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/odbc_metadata.out Fri Jan 20 11:21:56 2006
@@ -29,13 +29,17 @@
 ==> ODBC type/name checking done.
 =============== End ODBC 3.0 Compliance Tests =================
 Test metadata starting
-Column display size of the union result is: 12
-dec(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
+Union Result -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
 dec(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
+real -- precision: 7 scale: 0 display size: 13 type name: REAL
+double -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 real + dec(10,2) -- precision: 7 scale: 0 display size: 13 type name: REAL
 double precision - dec(10,2) -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 dec(10,2) - double precision -- precision: 15 scale: 2 display size: 22 type name: DOUBLE
-result row: 11.10 11.10 14.4 -6.699999999999999 6.699999999999999
+result row: 11.10 3.3 4.4 14.4 -6.699999999999999 6.699999999999999
+DECIMAL(10,0) -- precision: 10 scale: 0 display size: 12 type name: DECIMAL
+DECIMAL(10,10) -- precision: 10 scale: 10 display size: 12 type name: DECIMAL
+DECIMAL(10,2) -- precision: 10 scale: 2 display size: 12 type name: DECIMAL
 Column result scale after division is: 23
 dc / 2 = 5.55000000000000000000000
 dc / 2 = 5.55500000000000000000000

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_foundation/metadata.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_foundation/metadata.out?rev=370886&r1=370885&r2=370886&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_foundation/metadata.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_foundation/metadata.out Fri Jan 20 11:21:56 2006
@@ -1,11 +1,15 @@
 Test metadata starting
-Column display size of the union result is: 13
-dec(10,2) -- precision: 10 scale: 2 display size: 13 type name: DECIMAL
+Union Result -- precision: 10 scale: 2 display size: 13 type name: DECIMAL
 dec(10,2) -- precision: 10 scale: 2 display size: 13 type name: DECIMAL
+real -- precision: 7 scale: 0 display size: 13 type name: REAL
+double -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 real + dec(10,2) -- precision: 7 scale: 0 display size: 13 type name: REAL
 double precision - dec(10,2) -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 dec(10,2) - double precision -- precision: 15 scale: 2 display size: 22 type name: DOUBLE
-result row: 11.10 11.10 14.4 -6.699999999999999 6.699999999999999
+result row: 11.10 3.3 4.4 14.4 -6.699999999999999 6.699999999999999
+DECIMAL(10,0) -- precision: 10 scale: 0 display size: 11 type name: DECIMAL
+DECIMAL(10,10) -- precision: 10 scale: 10 display size: 13 type name: DECIMAL
+DECIMAL(10,2) -- precision: 10 scale: 2 display size: 13 type name: DECIMAL
 Column result scale after division is: 23
 dc / 2 = 5.55000000000000000000000
 dc / 2 = 5.55500000000000000000000

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadata.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadata.out?rev=370886&r1=370885&r2=370886&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadata.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadata.out Fri Jan 20 11:21:56 2006
@@ -1,11 +1,15 @@
 Test metadata starting
-Column display size of the union result is: 13
-dec(10,2) -- precision: 10 scale: 2 display size: 13 type name: DECIMAL
+Union Result -- precision: 10 scale: 2 display size: 13 type name: DECIMAL
 dec(10,2) -- precision: 10 scale: 2 display size: 13 type name: DECIMAL
+real -- precision: 7 scale: 0 display size: 13 type name: REAL
+double -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 real + dec(10,2) -- precision: 7 scale: 0 display size: 13 type name: REAL
 double precision - dec(10,2) -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 dec(10,2) - double precision -- precision: 15 scale: 2 display size: 22 type name: DOUBLE
-result row: 11.10 11.10 14.4 -6.699999999999999 6.699999999999999
+result row: 11.10 3.3 4.4 14.4 -6.699999999999999 6.699999999999999
+DECIMAL(10,0) -- precision: 10 scale: 0 display size: 11 type name: DECIMAL
+DECIMAL(10,10) -- precision: 10 scale: 10 display size: 13 type name: DECIMAL
+DECIMAL(10,2) -- precision: 10 scale: 2 display size: 13 type name: DECIMAL
 Column result scale after division is: 23
 dc / 2 = 5.55000000000000000000000
 dc / 2 = 5.55500000000000000000000

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/odbc_metadata.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/odbc_metadata.out?rev=370886&r1=370885&r2=370886&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/odbc_metadata.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/odbc_metadata.out Fri Jan 20 11:21:56 2006
@@ -29,13 +29,17 @@
 ==> ODBC type/name checking done.
 =============== End ODBC 3.0 Compliance Tests =================
 Test metadata starting
-Column display size of the union result is: 13
-dec(10,2) -- precision: 10 scale: 2 display size: 13 type name: DECIMAL
+Union Result -- precision: 10 scale: 2 display size: 13 type name: DECIMAL
 dec(10,2) -- precision: 10 scale: 2 display size: 13 type name: DECIMAL
+real -- precision: 7 scale: 0 display size: 13 type name: REAL
+double -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 real + dec(10,2) -- precision: 7 scale: 0 display size: 13 type name: REAL
 double precision - dec(10,2) -- precision: 15 scale: 0 display size: 22 type name: DOUBLE
 dec(10,2) - double precision -- precision: 15 scale: 2 display size: 22 type name: DOUBLE
-result row: 11.10 11.10 14.4 -6.699999999999999 6.699999999999999
+result row: 11.10 3.3 4.4 14.4 -6.699999999999999 6.699999999999999
+DECIMAL(10,0) -- precision: 10 scale: 0 display size: 11 type name: DECIMAL
+DECIMAL(10,10) -- precision: 10 scale: 10 display size: 13 type name: DECIMAL
+DECIMAL(10,2) -- precision: 10 scale: 2 display size: 13 type name: DECIMAL
 Column result scale after division is: 23
 dc / 2 = 5.55000000000000000000000
 dc / 2 = 5.55500000000000000000000

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadata_test.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadata_test.java?rev=370886&r1=370885&r2=370886&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadata_test.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadata_test.java Fri Jan 20 11:21:56 2006
@@ -199,21 +199,35 @@
 			//rs = s.executeQuery("select dc from t where tn = 10 union select dc from t where i = 1");
 			rs = s.executeQuery("select dc from t where dc = 11.1 union select dc from t where i = 1");
 			rsmet = rs.getMetaData();
-			System.out.println("Column display size of the union result is: " + rsmet.getColumnDisplaySize(1));
+			metadata_test.showNumericMetaData("Union Result", rsmet, 1);
 			rs.close();
 
-			rs = s.executeQuery("select dc, dc, r+dc, d-dc, dc-d from t");
+			rs = s.executeQuery("select dc, r, d, r+dc, d-dc, dc-d from t");
 			rsmet = rs.getMetaData();
-			System.out.println("dec(10,2) -- precision: " + rsmet.getPrecision(1) + " scale: " + rsmet.getScale(1) + " display size: " + rsmet.getColumnDisplaySize(1) + " type name: " + rsmet.getColumnTypeName(1));
-			System.out.println("dec(10,2) -- precision: " + rsmet.getPrecision(2) + " scale: " + rsmet.getScale(2) + " display size: " + rsmet.getColumnDisplaySize(2) + " type name: " + rsmet.getColumnTypeName(2));
-			System.out.println("real + dec(10,2) -- precision: " + rsmet.getPrecision(3) + " scale: " + rsmet.getScale(3) + " display size: " + rsmet.getColumnDisplaySize(3) + " type name: " + rsmet.getColumnTypeName(3));
-			System.out.println("double precision - dec(10,2) -- precision: " + rsmet.getPrecision(4) + " scale: " + rsmet.getScale(4) + " display size: " + rsmet.getColumnDisplaySize(4) + " type name: " + rsmet.getColumnTypeName(4));
-			// result is double, precision/scale don't make sense
-			System.out.println("dec(10,2) - double precision -- precision: " + rsmet.getPrecision(5) + " scale: " + rsmet.getScale(5) + " display size: " + rsmet.getColumnDisplaySize(5) + " type name: " + rsmet.getColumnTypeName(5));
+			metadata_test.showNumericMetaData("dec(10,2)", rsmet, 1);
+			metadata_test.showNumericMetaData("real", rsmet, 2);
+			metadata_test.showNumericMetaData("double", rsmet, 3);
+			metadata_test.showNumericMetaData("real + dec(10,2)", rsmet, 4);
+			metadata_test.showNumericMetaData("double precision - dec(10,2)", rsmet, 5);
+			metadata_test.showNumericMetaData("dec(10,2) - double precision", rsmet, 6);
+
 			while (rs.next())
-				System.out.println("result row: " + rs.getString(1) + " " + rs.getString(2) + " " + rs.getString(3) + " " + rs.getString(4) + " " + rs.getString(5));
+				System.out.println("result row: " + rs.getString(1) + " "
+						+ rs.getString(2) + " " + rs.getString(3)
+						+ " " + rs.getString(4) + " " + rs.getString(5)
+						+ " " + rs.getString(6)
+						);
 			rs.close();
 
+			rsmet = s.executeQuery("VALUES CAST (0.0 AS DECIMAL(10,0))").getMetaData();
+			metadata_test.showNumericMetaData("DECIMAL(10,0)", rsmet, 1);
+			
+			rsmet = s.executeQuery("VALUES CAST (0.0 AS DECIMAL(10,10))").getMetaData();
+			metadata_test.showNumericMetaData("DECIMAL(10,10)", rsmet, 1);
+			
+			rsmet = s.executeQuery("VALUES CAST (0.0 AS DECIMAL(10,2))").getMetaData();
+			metadata_test.showNumericMetaData("DECIMAL(10,2)", rsmet, 1);
+
 			s.execute("insert into t values(1,2,3.3,4.4,date('1990-05-05'),"+
 						 "time('12:06:06'),timestamp('1990-07-07 07:07:07.07'),"+
 						 "'eight','nine', 11.11)");
@@ -1281,6 +1295,35 @@
 			"procedure isreadO" };
 		TestUtil.cleanUpTest(stmt, testObjects);
 	}
+	
+	/**
+	 * Display the numeric JDBC metadata for a column
+	 * @param expression Description of the expression
+	 * @param rsmd thje meta data
+	 * @param col which column
+	 * @throws SQLException
+	 */
+	private static void showNumericMetaData(String expression,
+			ResultSetMetaData rsmd, int col)
+	   throws SQLException
+   {
+		System.out.print(expression);
+		System.out.print(" --");
+		
+		System.out.print(" precision: ");
+		System.out.print(rsmd.getPrecision(col));
+		
+		System.out.print(" scale: ");
+		System.out.print(rsmd.getScale(col));
+		
+		System.out.print(" display size: ");
+		System.out.print(rsmd.getColumnDisplaySize(col));
 
+		System.out.print(" type name: ");
+		System.out.print(rsmd.getColumnTypeName(col));
+		
+		System.out.println("");
+		
+   }
 }