http://msdn.microsoft.com/library/default.asp?url="">
Pasted from the above link:
"The decimal digits of decimal and numeric data types is defined as the
maximum number of digits to the right of the decimal point, or the
scale of the data. For approximate floating-point number columns or
parameters, the scale is undefined because the number of digits to the
right of the decimal point is not fixed. For datetime or interval data
that contains a seconds component, the decimal digits is defined as the
number of digits to the right of the decimal point in the seconds
component of the data."
I have run "derbyall" on Windows 2000 with Sun JDK 1.4.2 and have
included all required master updates in the patch. The "svn stat"
output is attached to this email, along with the patch itself.
Could someone review/commit?
Many Thanks,
Army
M java\engine\org\apache\derby\impl\jdbc\metadata.properties
M java\engine\org\apache\derby\iapi\types\DataTypeUtilities.java
M java\engine\org\apache\derby\iapi\types\TypeId.java
M java\testing\org\apache\derbyTesting\functionTests\master\DerbyNet\metadata.out
M java\testing\org\apache\derbyTesting\functionTests\master\DerbyNet\odbc_metadata.out
M java\testing\org\apache\derbyTesting\functionTests\master\DerbyNetClient\metadata.out
M java\testing\org\apache\derbyTesting\functionTests\master\DerbyNetClient\odbc_metadata.out
M java\testing\org\apache\derbyTesting\functionTests\master\DerbyNetClient\parameterMapping.out
M java\testing\org\apache\derbyTesting\functionTests\master\resultset.out
M java\testing\org\apache\derbyTesting\functionTests\master\metadata.out
M java\testing\org\apache\derbyTesting\functionTests\master\coalesceTests.out
M java\testing\org\apache\derbyTesting\functionTests\master\odbc_metadata.out
Index: java/engine/org/apache/derby/impl/jdbc/metadata.properties
===================================================================
--- java/engine/org/apache/derby/impl/jdbc/metadata.properties (revision 179384)
+++ java/engine/org/apache/derby/impl/jdbc/metadata.properties (working copy)
@@ -615,10 +615,10 @@
CAST (NULL AS INTEGER)), \
('DATE',91,10,'DATE''','''',CAST (NULL AS CHAR), \
1,FALSE,2,TRUE,FALSE,FALSE,0,0,10),\
- ('TIME',92,0,'TIME''','''',CAST (NULL AS CHAR), \
+ ('TIME',92,8,'TIME''','''',CAST (NULL AS CHAR), \
1,FALSE,2,TRUE,FALSE,FALSE,0,0,10),\
- ('TIMESTAMP',93,0,'TIMESTAMP''','''',CAST (NULL AS CHAR), \
- 1,FALSE,2,TRUE,FALSE,FALSE,0,0,10),\
+ ('TIMESTAMP',93,26,'TIMESTAMP''','''',CAST (NULL AS CHAR), \
+ 1,FALSE,2,TRUE,FALSE,FALSE,0,6,10),\
('BLOB',2004,2147483647,CAST (NULL AS CHAR),CAST (NULL AS CHAR),'length', \
1,FALSE,1,CAST (NULL AS BOOLEAN),FALSE,CAST (NULL AS BOOLEAN), \
CAST (NULL AS INTEGER),CAST (NULL AS INTEGER),CAST (NULL AS INTEGER)),\
Index: java/engine/org/apache/derby/iapi/types/DataTypeUtilities.java
===================================================================
--- java/engine/org/apache/derby/iapi/types/DataTypeUtilities.java (revision 179384)
+++ java/engine/org/apache/derby/iapi/types/DataTypeUtilities.java (working copy)
@@ -53,8 +53,6 @@
return dtd.getMaximumWidth();
case Types.SMALLINT:
return 5;
- case Types.DATE:
- return 10;
case JDBC30Translation.SQL_TYPES_BOOLEAN:
return 1;
}
Index: java/engine/org/apache/derby/iapi/types/TypeId.java
===================================================================
--- java/engine/org/apache/derby/iapi/types/TypeId.java (revision 179384)
+++ java/engine/org/apache/derby/iapi/types/TypeId.java (working copy)
@@ -115,10 +115,23 @@
public static final int CLOB_MAXWIDTH = Integer.MAX_VALUE; // to change long
public static final int NCLOB_MAXWIDTH = Integer.MAX_VALUE; // to change long
- public static final int DATE_MAXWIDTH = 4;
- public static final int TIME_MAXWIDTH = 8;
- public static final int TIMESTAMP_MAXWIDTH = 12;
+ // Max width for datetime values is the length of the
+ // string returned from a call to "toString()" on the
+ // java.sql.Date, java.sql.Time, and java.sql.Timestamp
+ // classes (the result of toString() on those classes
+ // is defined by the JDBC API). This value is also
+ // used as the "precision" for those types.
+ public static final int DATE_MAXWIDTH = 10; // yyyy-mm-dd
+ public static final int TIME_MAXWIDTH = 8; // hh:mm:ss
+ public static final int TIMESTAMP_MAXWIDTH = 26; // yyyy-mm-dd hh:mm:ss.ffffff
+ // Scale DOES exist for time values. For a TIMESTAMP value,
+ // it's 6 ('ffffff'); for a TIME value, it's 0 (because there
+ // are no fractional seconds). Note that date values do
+ // not have a scale.
+ public static final int TIME_SCALE = 0;
+ public static final int TIMESTAMP_SCALE = 6;
+
/* These define all the type names for SQL92 and JDBC
* NOTE: boolean is SQL3
*/
@@ -714,10 +727,8 @@
case StoredFormatIds.DATE_TYPE_ID:
typePrecedence = DATE_PRECEDENCE;
javaTypeName = "java.sql.Date";
- /* this is used in ResultSetMetaData.getPrecision
- * undefined for datetime types
- */
- maxMaxWidth = -1;
+ maxMaxWidth = TypeId.DATE_MAXWIDTH;
+ maxPrecision = TypeId.DATE_MAXWIDTH;
isDateTimeTimeStampTypeId = true;
break;
@@ -830,20 +841,18 @@
case StoredFormatIds.TIME_TYPE_ID:
typePrecedence = TIME_PRECEDENCE;
javaTypeName = "java.sql.Time";
- /* this is used in ResultSetMetaData.getPrecision
- * undefined for datetime types
- */
- maxMaxWidth = -1;
+ maxScale = TypeId.TIME_SCALE;
+ maxMaxWidth = TypeId.TIME_MAXWIDTH;
+ maxPrecision = TypeId.TIME_MAXWIDTH;
isDateTimeTimeStampTypeId = true;
break;
case StoredFormatIds.TIMESTAMP_TYPE_ID:
typePrecedence = TIMESTAMP_PRECEDENCE;
javaTypeName = "java.sql.Timestamp";
- /* this is used in ResultSetMetaData.getPrecision
- * undefined for datetime types
- */
- maxMaxWidth = -1;
+ maxScale = TypeId.TIMESTAMP_SCALE;
+ maxMaxWidth = TypeId.TIMESTAMP_MAXWIDTH;
+ maxPrecision = TypeId.TIMESTAMP_MAXWIDTH;
isDateTimeTimeStampTypeId = true;
break;
Index: java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadata.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadata.out (revision 179384)
+++ java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadata.out (working copy)
@@ -163,9 +163,9 @@
null,APP,GETPCTEST1,G,1,-5,BIGINT,19,8,0,10,1,null,12,6
null,APP,GETPCTEST1,H,1,8,DOUBLE,52,8,null,2,1,null,12,7
null,APP,GETPCTEST1,I,1,8,DOUBLE,52,8,null,2,1,null,12,8
-null,APP,GETPCTEST1,K,1,91,DATE,10,-1,0,10,1,null,12,9
-null,APP,GETPCTEST1,L,1,92,TIME,8,-1,0,10,1,null,12,10
-null,APP,GETPCTEST1,T,1,93,TIMESTAMP,26,-1,0,10,1,null,12,11
+null,APP,GETPCTEST1,K,1,91,DATE,10,10,0,10,1,null,12,9
+null,APP,GETPCTEST1,L,1,92,TIME,8,8,0,10,1,null,12,10
+null,APP,GETPCTEST1,T,1,93,TIMESTAMP,26,26,6,10,1,null,12,11
null,APP,GETPCTEST2,PA,1,4,INTEGER,10,4,0,10,1,null,2,0
null,APP,GETPCTEST2,PB,1,-5,BIGINT,19,8,0,10,1,null,2,1
null,APP,GETPCTEST3A,STRING1,1,12,VARCHAR,5,5,null,null,1,null,2,0
@@ -386,8 +386,8 @@
VARCHAR,12,32672,',',length,1,1,3,1,0,0,VARCHAR,null,null,null,null,null
NATIONAL CHAR VARYING,12,2147483647,',',length,1,1,3,1,0,0,NATIONAL CHAR VARYING,null,null,null,null,null
DATE,91,10,DATE',',null,1,0,2,1,0,0,DATE,0,0,null,null,10
-TIME,92,0,TIME',',null,1,0,2,1,0,0,TIME,0,0,null,null,10
-TIMESTAMP,93,0,TIMESTAMP',',null,1,0,2,1,0,0,TIMESTAMP,0,0,null,null,10
+TIME,92,8,TIME',',null,1,0,2,1,0,0,TIME,0,0,null,null,10
+TIMESTAMP,93,26,TIMESTAMP',',null,1,0,2,1,0,0,TIMESTAMP,0,6,null,null,10
BLOB,2004,2147483647,null,null,length,1,0,1,null,0,null,BLOB,null,null,null,null,null
CLOB,2005,2147483647,',',length,1,1,1,null,0,null,CLOB,null,null,null,null,null
getIndexInfo():
Index: java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/odbc_metadata.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/odbc_metadata.out (revision 179384)
+++ java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/odbc_metadata.out (working copy)
@@ -193,9 +193,9 @@
null,APP,GETPCTEST1,G,1,-5,BIGINT,19,8,0,10,1,null,null,-5,null,null,7,YES,12,6
null,APP,GETPCTEST1,H,1,8,DOUBLE,52,8,null,2,1,null,null,8,null,null,8,YES,12,7
null,APP,GETPCTEST1,I,1,8,DOUBLE,52,8,null,2,1,null,null,8,null,null,9,YES,12,8
-null,APP,GETPCTEST1,K,1,91,DATE,10,-1,null,2,1,null,null,9,1,null,10,YES,12,9
-null,APP,GETPCTEST1,L,1,92,TIME,8,-1,0,2,1,null,null,9,2,null,11,YES,12,10
-null,APP,GETPCTEST1,T,1,93,TIMESTAMP,26,-1,0,2,1,null,null,9,3,null,12,YES,12,11
+null,APP,GETPCTEST1,K,1,91,DATE,10,10,null,2,1,null,null,9,1,null,10,YES,12,9
+null,APP,GETPCTEST1,L,1,92,TIME,8,8,0,2,1,null,null,9,2,null,11,YES,12,10
+null,APP,GETPCTEST1,T,1,93,TIMESTAMP,26,26,6,2,1,null,null,9,3,null,12,YES,12,11
null,APP,GETPCTEST2,PA,1,4,INTEGER,10,4,0,10,1,null,null,4,null,null,1,YES,2,0
null,APP,GETPCTEST2,PB,1,-5,BIGINT,19,8,0,10,1,null,null,-5,null,null,2,YES,2,1
null,APP,GETPCTEST3A,STRING1,1,12,VARCHAR,5,5,null,null,1,null,null,12,null,5,1,YES,2,0
@@ -416,8 +416,8 @@
VARCHAR,12,32672,',',length,1,1,3,null,0,null,VARCHAR,null,null,12,null,null,null
NATIONAL CHAR VARYING,12,2147483647,',',length,1,1,3,null,0,null,NATIONAL CHAR VARYING,null,null,12,null,null,null
DATE,91,10,DATE',',null,1,0,2,1,0,0,DATE,0,0,9,1,2,null
-TIME,92,0,TIME',',null,1,0,2,1,0,0,TIME,0,0,9,2,2,null
-TIMESTAMP,93,0,TIMESTAMP',',null,1,0,2,1,0,0,TIMESTAMP,0,0,9,3,2,null
+TIME,92,8,TIME',',null,1,0,2,1,0,0,TIME,0,0,9,2,2,null
+TIMESTAMP,93,26,TIMESTAMP',',null,1,0,2,1,0,0,TIMESTAMP,0,6,9,3,2,null
BLOB,2004,2147483647,null,null,length,1,0,1,null,0,null,BLOB,null,null,2004,null,null,null
CLOB,2005,2147483647,',',length,1,1,1,null,0,null,CLOB,null,null,2005,null,null,null
getIndexInfo():
Index: java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadata.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadata.out (revision 179384)
+++ java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadata.out (working copy)
@@ -163,9 +163,9 @@
null,APP,GETPCTEST1,G,1,-5,BIGINT,19,8,0,10,1,null,12,6
null,APP,GETPCTEST1,H,1,8,DOUBLE,52,8,null,2,1,null,12,7
null,APP,GETPCTEST1,I,1,8,DOUBLE,52,8,null,2,1,null,12,8
-null,APP,GETPCTEST1,K,1,91,DATE,10,-1,0,10,1,null,12,9
-null,APP,GETPCTEST1,L,1,92,TIME,8,-1,0,10,1,null,12,10
-null,APP,GETPCTEST1,T,1,93,TIMESTAMP,26,-1,0,10,1,null,12,11
+null,APP,GETPCTEST1,K,1,91,DATE,10,10,0,10,1,null,12,9
+null,APP,GETPCTEST1,L,1,92,TIME,8,8,0,10,1,null,12,10
+null,APP,GETPCTEST1,T,1,93,TIMESTAMP,26,26,6,10,1,null,12,11
null,APP,GETPCTEST2,PA,1,4,INTEGER,10,4,0,10,1,null,2,0
null,APP,GETPCTEST2,PB,1,-5,BIGINT,19,8,0,10,1,null,2,1
null,APP,GETPCTEST3A,STRING1,1,12,VARCHAR,5,5,null,null,1,null,2,0
@@ -386,8 +386,8 @@
VARCHAR,12,32672,',',length,1,1,3,1,0,0,VARCHAR,null,null,null,null,null
NATIONAL CHAR VARYING,12,2147483647,',',length,1,1,3,1,0,0,NATIONAL CHAR VARYING,null,null,null,null,null
DATE,91,10,DATE',',null,1,0,2,1,0,0,DATE,0,0,null,null,10
-TIME,92,0,TIME',',null,1,0,2,1,0,0,TIME,0,0,null,null,10
-TIMESTAMP,93,0,TIMESTAMP',',null,1,0,2,1,0,0,TIMESTAMP,0,0,null,null,10
+TIME,92,8,TIME',',null,1,0,2,1,0,0,TIME,0,0,null,null,10
+TIMESTAMP,93,26,TIMESTAMP',',null,1,0,2,1,0,0,TIMESTAMP,0,6,null,null,10
BLOB,2004,2147483647,null,null,length,1,0,1,null,0,null,BLOB,null,null,null,null,null
CLOB,2005,2147483647,',',length,1,1,1,null,0,null,CLOB,null,null,null,null,null
getIndexInfo():
Index: java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/odbc_metadata.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/odbc_metadata.out (revision 179384)
+++ java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/odbc_metadata.out (working copy)
@@ -193,9 +193,9 @@
null,APP,GETPCTEST1,G,1,-5,BIGINT,19,8,0,10,1,null,null,-5,null,null,7,YES,12,6
null,APP,GETPCTEST1,H,1,8,DOUBLE,52,8,null,2,1,null,null,8,null,null,8,YES,12,7
null,APP,GETPCTEST1,I,1,8,DOUBLE,52,8,null,2,1,null,null,8,null,null,9,YES,12,8
-null,APP,GETPCTEST1,K,1,91,DATE,10,-1,null,2,1,null,null,9,1,null,10,YES,12,9
-null,APP,GETPCTEST1,L,1,92,TIME,8,-1,0,2,1,null,null,9,2,null,11,YES,12,10
-null,APP,GETPCTEST1,T,1,93,TIMESTAMP,26,-1,0,2,1,null,null,9,3,null,12,YES,12,11
+null,APP,GETPCTEST1,K,1,91,DATE,10,10,null,2,1,null,null,9,1,null,10,YES,12,9
+null,APP,GETPCTEST1,L,1,92,TIME,8,8,0,2,1,null,null,9,2,null,11,YES,12,10
+null,APP,GETPCTEST1,T,1,93,TIMESTAMP,26,26,6,2,1,null,null,9,3,null,12,YES,12,11
null,APP,GETPCTEST2,PA,1,4,INTEGER,10,4,0,10,1,null,null,4,null,null,1,YES,2,0
null,APP,GETPCTEST2,PB,1,-5,BIGINT,19,8,0,10,1,null,null,-5,null,null,2,YES,2,1
null,APP,GETPCTEST3A,STRING1,1,12,VARCHAR,5,5,null,null,1,null,null,12,null,5,1,YES,2,0
@@ -416,8 +416,8 @@
VARCHAR,12,32672,',',length,1,1,3,null,0,null,VARCHAR,null,null,12,null,null,null
NATIONAL CHAR VARYING,12,2147483647,',',length,1,1,3,null,0,null,NATIONAL CHAR VARYING,null,null,12,null,null,null
DATE,91,10,DATE',',null,1,0,2,1,0,0,DATE,0,0,9,1,2,null
-TIME,92,0,TIME',',null,1,0,2,1,0,0,TIME,0,0,9,2,2,null
-TIMESTAMP,93,0,TIMESTAMP',',null,1,0,2,1,0,0,TIMESTAMP,0,0,9,3,2,null
+TIME,92,8,TIME',',null,1,0,2,1,0,0,TIME,0,0,9,2,2,null
+TIMESTAMP,93,26,TIMESTAMP',',null,1,0,2,1,0,0,TIMESTAMP,0,6,9,3,2,null
BLOB,2004,2147483647,null,null,length,1,0,1,null,0,null,BLOB,null,null,2004,null,null,null
CLOB,2005,2147483647,',',length,1,1,1,null,0,null,CLOB,null,null,2005,null,null,null
getIndexInfo():
Index: java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/parameterMapping.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/parameterMapping.out (revision 179384)
+++ java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/parameterMapping.out (working copy)
@@ -1680,7 +1680,7 @@
setLong() IC JDBC MATCH (INVALID)
setFloat() IC JDBC MATCH (INVALID)
setDouble() IC JDBC MATCH (INVALID)
- setBigDecimal() (?????):BigDecimal conversion exception [converters] Overflow occurred during numeric data type conversion of "99".. See attached Throwable. JDBC MATCH (INVALID)
+ setBigDecimal() IC JDBC MATCH (INVALID)
setBigDecimal(null) getTime=null was null true CLOUD EXT (OK)
setBoolean() IC JDBC MATCH (INVALID)
setString() (22007):The syntax of the string representation of a datetime value is incorrect. JDBC FAIL TIME
@@ -1707,7 +1707,7 @@
setUnicodeStream(null) getTime=null was null true CLOUD EXT (OK)
setObject(null) OK Invalid data conversion: Parameter object type is invalid for requested conversion.
setObject(java.lang.String) (22007):The syntax of the string representation of a datetime value is incorrect. JDBC FAIL TIME
- setObject(java.math.BigDecimal) (?????):BigDecimal conversion exception [converters] Overflow occurred during numeric data type conversion of "72".. See attached Throwable. JDBC MATCH (INVALID)
+ setObject(java.math.BigDecimal) IC JDBC MATCH (INVALID)
setObject(java.lang.Boolean) IC JDBC MATCH (INVALID)
setObject(java.lang.Integer) IC JDBC MATCH (INVALID)
setObject(java.lang.Long) IC JDBC MATCH (INVALID)
@@ -1811,7 +1811,7 @@
setLong() IC JDBC MATCH (INVALID)
setFloat() IC JDBC MATCH (INVALID)
setDouble() IC JDBC MATCH (INVALID)
- setBigDecimal() (?????):BigDecimal conversion exception [converters] Overflow occurred during numeric data type conversion of "99".. See attached Throwable. JDBC MATCH (INVALID)
+ setBigDecimal() IC JDBC MATCH (INVALID)
setBigDecimal(null) getTimestamp=null was null true CLOUD EXT (OK)
setBoolean() IC JDBC MATCH (INVALID)
setString() (22007):The syntax of the string representation of a datetime value is incorrect. JDBC FAIL TIMESTAMP
@@ -1838,7 +1838,7 @@
setUnicodeStream(null) getTimestamp=null was null true CLOUD EXT (OK)
setObject(null) OK Invalid data conversion: Parameter object type is invalid for requested conversion.
setObject(java.lang.String) (22007):The syntax of the string representation of a datetime value is incorrect. JDBC FAIL TIMESTAMP
- setObject(java.math.BigDecimal) (?????):BigDecimal conversion exception [converters] Overflow occurred during numeric data type conversion of "72".. See attached Throwable. JDBC MATCH (INVALID)
+ setObject(java.math.BigDecimal) IC JDBC MATCH (INVALID)
setObject(java.lang.Boolean) IC JDBC MATCH (INVALID)
setObject(java.lang.Integer) IC JDBC MATCH (INVALID)
setObject(java.lang.Long) IC JDBC MATCH (INVALID)
Index: java/testing/org/apache/derbyTesting/functionTests/master/resultset.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/resultset.out (revision 179384)
+++ java/testing/org/apache/derbyTesting/functionTests/master/resultset.out (working copy)
@@ -108,7 +108,7 @@
getSchemaName(6): APP
getCatalogName(6):
getColumnType(6): 92
-getPrecision(6): 0
+getPrecision(6): 8
getScale(6): 0
getColumnTypeName(6): TIME
isReadOnly(6): false
@@ -127,8 +127,8 @@
getSchemaName(7): APP
getCatalogName(7):
getColumnType(7): 93
-getPrecision(7): 0
-getScale(7): 0
+getPrecision(7): 26
+getScale(7): 6
getColumnTypeName(7): TIMESTAMP
isReadOnly(7): false
isWritable(7): Expected isWritable value
Index: java/testing/org/apache/derbyTesting/functionTests/master/metadata.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/metadata.out (revision 179384)
+++ java/testing/org/apache/derbyTesting/functionTests/master/metadata.out (working copy)
@@ -163,9 +163,9 @@
null,APP,GETPCTEST1,G,1,-5,BIGINT,19,8,0,10,1,null,12,6
null,APP,GETPCTEST1,H,1,8,DOUBLE,52,8,null,2,1,null,12,7
null,APP,GETPCTEST1,I,1,8,DOUBLE,52,8,null,2,1,null,12,8
-null,APP,GETPCTEST1,K,1,91,DATE,10,-1,0,10,1,null,12,9
-null,APP,GETPCTEST1,L,1,92,TIME,8,-1,0,10,1,null,12,10
-null,APP,GETPCTEST1,T,1,93,TIMESTAMP,26,-1,0,10,1,null,12,11
+null,APP,GETPCTEST1,K,1,91,DATE,10,10,0,10,1,null,12,9
+null,APP,GETPCTEST1,L,1,92,TIME,8,8,0,10,1,null,12,10
+null,APP,GETPCTEST1,T,1,93,TIMESTAMP,26,26,6,10,1,null,12,11
null,APP,GETPCTEST2,PA,1,4,INTEGER,10,4,0,10,1,null,2,0
null,APP,GETPCTEST2,PB,1,-5,BIGINT,19,8,0,10,1,null,2,1
null,APP,GETPCTEST3A,STRING1,1,12,VARCHAR,5,5,null,null,1,null,2,0
@@ -386,8 +386,8 @@
VARCHAR,12,32672,',',length,1,true,3,true,false,false,VARCHAR,null,null,null,null,null
NATIONAL CHAR VARYING,12,2147483647,',',length,1,true,3,true,false,false,NATIONAL CHAR VARYING,null,null,null,null,null
DATE,91,10,DATE',',null,1,false,2,true,false,false,DATE,0,0,null,null,10
-TIME,92,0,TIME',',null,1,false,2,true,false,false,TIME,0,0,null,null,10
-TIMESTAMP,93,0,TIMESTAMP',',null,1,false,2,true,false,false,TIMESTAMP,0,0,null,null,10
+TIME,92,8,TIME',',null,1,false,2,true,false,false,TIME,0,0,null,null,10
+TIMESTAMP,93,26,TIMESTAMP',',null,1,false,2,true,false,false,TIMESTAMP,0,6,null,null,10
BLOB,2004,2147483647,null,null,length,1,false,1,null,false,null,BLOB,null,null,null,null,null
CLOB,2005,2147483647,',',length,1,true,1,null,false,null,CLOB,null,null,null,null,null
getIndexInfo():
Index: java/testing/org/apache/derbyTesting/functionTests/master/coalesceTests.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/coalesceTests.out (revision 179384)
+++ java/testing/org/apache/derbyTesting/functionTests/master/coalesceTests.out (working copy)
@@ -491,40 +491,40 @@
------------------------------------------------
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT COALESCE(TIMECOL,CHARCOL) from AllDataTypesTable
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{15:30:20}
{15:30:20}
{null}
SELECT COALESCE(TIMECOL,CHARCOL,VARCHARCOL) from AllDataTypesTable
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{15:30:20}
{15:30:20}
{15:30:20}
SELECT COALESCE(TIMECOL,CHARCOL,VARCHARCOL,TIMECOL) from AllDataTypesTable
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{15:30:20}
{15:30:20}
{15:30:20}
SELECT COALESCE(TIMESTAMPCOL,CHARCOL) from AllDataTypesTable
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
{null}
SELECT COALESCE(TIMESTAMPCOL,CHARCOL,VARCHARCOL) from AllDataTypesTable
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT COALESCE(TIMESTAMPCOL,CHARCOL,VARCHARCOL,TIMESTAMPCOL) from AllDataTypesTable
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT COALESCE(BLOBCOL,BLOBCOL) from AllDataTypesTable
COL1(datatype : BLOB, precision : 1024, scale : 0)
@@ -1642,23 +1642,23 @@
{null}
SELECT COALESCE(CHARCOL,TIMECOL) from AllDataTypesTable
Coalesc/Value with operands CHAR(60) , TIME will have result data type of TIME
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT VALUE(CHARCOL,TIMECOL) from AllDataTypesTable
Coalesc/Value with operands CHAR(60) , TIME will have result data type of TIME
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT COALESCE(CHARCOL,TIMESTAMPCOL) from AllDataTypesTable
Coalesc/Value with operands CHAR(60) , TIMESTAMP will have result data type of TIMESTAMP
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT VALUE(CHARCOL,TIMESTAMPCOL) from AllDataTypesTable
Coalesc/Value with operands CHAR(60) , TIMESTAMP will have result data type of TIMESTAMP
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT COALESCE(CHARCOL,BLOBCOL) from AllDataTypesTable
Operands CHAR(60) , BLOB(1k) are incompatible for Coalesce/Value function
@@ -1796,23 +1796,23 @@
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT COALESCE(VARCHARCOL,TIMECOL) from AllDataTypesTable
Coalesc/Value with operands VARCHAR(60) , TIME will have result data type of TIME
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT VALUE(VARCHARCOL,TIMECOL) from AllDataTypesTable
Coalesc/Value with operands VARCHAR(60) , TIME will have result data type of TIME
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT COALESCE(VARCHARCOL,TIMESTAMPCOL) from AllDataTypesTable
Coalesc/Value with operands VARCHAR(60) , TIMESTAMP will have result data type of TIMESTAMP
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT VALUE(VARCHARCOL,TIMESTAMPCOL) from AllDataTypesTable
Coalesc/Value with operands VARCHAR(60) , TIMESTAMP will have result data type of TIMESTAMP
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT COALESCE(VARCHARCOL,BLOBCOL) from AllDataTypesTable
Operands VARCHAR(60) , BLOB(1k) are incompatible for Coalesce/Value function
@@ -2664,7 +2664,7 @@
expected exception The data type, length or value of arguments 'TIME' and 'DOUBLE' is incompatible.
SELECT COALESCE(TIMECOL,CHARCOL) from AllDataTypesTable
Coalesc/Value with operands TIME , CHAR(60) will have result data type of TIME
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{15:30:20}
@@ -2672,7 +2672,7 @@
{null}
SELECT VALUE(TIMECOL,CHARCOL) from AllDataTypesTable
Coalesc/Value with operands TIME , CHAR(60) will have result data type of TIME
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{15:30:20}
@@ -2680,7 +2680,7 @@
{null}
SELECT COALESCE(TIMECOL,VARCHARCOL) from AllDataTypesTable
Coalesc/Value with operands TIME , VARCHAR(60) will have result data type of TIME
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{15:30:20}
@@ -2688,7 +2688,7 @@
{15:30:20}
SELECT VALUE(TIMECOL,VARCHARCOL) from AllDataTypesTable
Coalesc/Value with operands TIME , VARCHAR(60) will have result data type of TIME
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{15:30:20}
@@ -2732,7 +2732,7 @@
expected exception The data type, length or value of arguments 'TIME' and 'DATE' is incompatible.
SELECT COALESCE(TIMECOL,TIMECOL) from AllDataTypesTable
Coalesc/Value with operands TIME , TIME will have result data type of TIME
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{15:30:20}
@@ -2740,7 +2740,7 @@
{null}
SELECT VALUE(TIMECOL,TIMECOL) from AllDataTypesTable
Coalesc/Value with operands TIME , TIME will have result data type of TIME
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{15:30:20}
@@ -2796,29 +2796,29 @@
expected exception The data type, length or value of arguments 'TIMESTAMP' and 'DOUBLE' is incompatible.
SELECT COALESCE(TIMESTAMPCOL,CHARCOL) from AllDataTypesTable
Coalesc/Value with operands TIMESTAMP , CHAR(60) will have result data type of TIMESTAMP
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
{null}
SELECT VALUE(TIMESTAMPCOL,CHARCOL) from AllDataTypesTable
Coalesc/Value with operands TIMESTAMP , CHAR(60) will have result data type of TIMESTAMP
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
{null}
SELECT COALESCE(TIMESTAMPCOL,VARCHARCOL) from AllDataTypesTable
Coalesc/Value with operands TIMESTAMP , VARCHAR(60) will have result data type of TIMESTAMP
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT VALUE(TIMESTAMPCOL,VARCHARCOL) from AllDataTypesTable
Coalesc/Value with operands TIMESTAMP , VARCHAR(60) will have result data type of TIMESTAMP
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
expected exception because char value does not match a time/timestamp format The syntax of the string representation of a datetime value is incorrect.
SELECT COALESCE(TIMESTAMPCOL,LONGVARCHARCOL) from AllDataTypesTable
Operands TIMESTAMP , LONG VARCHAR are incompatible for Coalesce/Value function
@@ -2864,16 +2864,16 @@
expected exception The data type, length or value of arguments 'TIMESTAMP' and 'TIME' is incompatible.
SELECT COALESCE(TIMESTAMPCOL,TIMESTAMPCOL) from AllDataTypesTable
Coalesc/Value with operands TIMESTAMP , TIMESTAMP will have result data type of TIMESTAMP
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
{null}
SELECT VALUE(TIMESTAMPCOL,TIMESTAMPCOL) from AllDataTypesTable
Coalesc/Value with operands TIMESTAMP , TIMESTAMP will have result data type of TIMESTAMP
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
@@ -3066,164 +3066,164 @@
expected exception The syntax of the string representation of a datetime value is incorrect.
TestG - focus on time datatypes
TestG1a - coalesce(timeCol,timeCol)
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:30}
TestG1b - value(timeCol,timeCol)
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:30}
TestG2a - coalesce(timeCol,charCol)
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:30}
TestG2b - value(timeCol,charCol)
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:30}
TestG3a - coalesce(charCol,timeCol)
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:31}
TestG3b - value(charCol,timeCol)
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:31}
TestG4a - coalesce(timeCol,varcharCol)
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:30}
TestG4b - value(timeCol,varcharCol)
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:30}
TestG5a - coalesce(varcharCol,timeCol)
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:31}
TestG5b - value(varcharCol,timeCol)
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:31}
TestG - Try invalid string representation of time into chars and varchars and then use them in coalesce function with time datatype
TestG6a - coalesce(charCol,timeCol) will fail because one row has invalid string representation of time in the char column
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
expected exception The syntax of the string representation of a datetime value is incorrect.
TestG6b - value(charCol,timeCol) will fail because one row has invalid string representation of time in the char column
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
expected exception The syntax of the string representation of a datetime value is incorrect.
TestG7a - coalesce(varcharCol,timeCol) will fail because one row has invalid string representation of time in the varchar column
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
expected exception The syntax of the string representation of a datetime value is incorrect.
TestG7b - value(varcharCol,timeCol) will fail because one row has invalid string representation of time in the varchar column
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
expected exception The syntax of the string representation of a datetime value is incorrect.
TestG - Following will work fine with invalid string representation of time because timeCol is not null and hence we don't look at invalid time string in char/varchar columns
TestG8a - coalesce(timeCol,charCol) will pass because timeCol is non-null for all rows in table TG and hence we don't look at charCol's invalid time string
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:30}
{12:30:33}
TestG8b - value(timeCol,charCol) will pass because timeCol is non-null for all rows in table TG and hence we don't look at charCol's invalid time string
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:30}
{12:30:33}
TestG9a - coalesce(timeCol,varcharCol) will pass because timeCol is non-null for all rows in table TG and hence we don't look at varcharCol's invalid time string
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:30}
{12:30:33}
TestG9b - value(timeCol,varcharCol) will pass because timeCol is non-null for all rows in table TG and hence we don't look at varcharCol's invalid time string
- COL1(datatype : TIME, precision : 0, scale : 0)
+ COL1(datatype : TIME, precision : 8, scale : 0)
-----------------------------------------------
{null}
{12:30:30}
{12:30:33}
TestH - focus on timestamp datatypes
TestH1a - coalesce(timestampCol,timestampCol)
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
TestH1b - value(timestampCol,timestampCol)
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
TestH2a - coalesce(timestampCol,charCol)
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
TestH2b - value(timestampCol,charCol)
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
TestH3a - coalesce(charCol,timestampCol)
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
TestH3b - value(charCol,timestampCol)
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
TestH4a - coalesce(timestampCol,varcharCol)
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
TestH4b - value(timestampCol,varcharCol)
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
TestH5a - coalesce(varcharCol,timestampCol)
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
TestH5b - value(varcharCol,timestampCol)
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
{null}
{xxxxxxFILTERED-TIMESTAMPxxxxx}
TestH - Try invalid string representation of timestamp into chars and varchars and then use them in coalesce function with timestamp datatype
TestH6a - coalesce(charCol,timestampCol) will fail because one row has invalid string representation of timestamp in the char column
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
expected exception The syntax of the string representation of a datetime value is incorrect.
TestH6b - value(charCol,timestampCol) will fail because one row has invalid string representation of timestamp in the char column
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
expected exception The syntax of the string representation of a datetime value is incorrect.
TestH7a - coalesce(varcharCol,timestampCol) will fail because one row has invalid string representation of timestamp in the varchar column
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
expected exception The syntax of the string representation of a datetime value is incorrect.
TestH7b - value(varcharCol,timestampCol) will fail because one row has invalid string representation of timestamp in the varchar column
- COL1(datatype : TIMESTAMP, precision : 0, scale : 0)
- ----------------------------------------------------
+ COL1(datatype : TIMESTAMP, precision : 26, scale : 6)
+ -----------------------------------------------------
expected exception The syntax of the string representation of a datetime value is incorrect.
TestE - focus on smallint datatypes
TestE1 - coalesce(smallintCol,smallintCol)
Index: java/testing/org/apache/derbyTesting/functionTests/master/odbc_metadata.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/odbc_metadata.out (revision 179384)
+++ java/testing/org/apache/derbyTesting/functionTests/master/odbc_metadata.out (working copy)
@@ -193,9 +193,9 @@
null,APP,GETPCTEST1,G,1,-5,BIGINT,19,8,0,10,1,null,null,-5,null,null,7,YES,12,6
null,APP,GETPCTEST1,H,1,8,DOUBLE,52,8,null,2,1,null,null,8,null,null,8,YES,12,7
null,APP,GETPCTEST1,I,1,8,DOUBLE,52,8,null,2,1,null,null,8,null,null,9,YES,12,8
-null,APP,GETPCTEST1,K,1,91,DATE,10,-1,null,2,1,null,null,9,1,null,10,YES,12,9
-null,APP,GETPCTEST1,L,1,92,TIME,8,-1,0,2,1,null,null,9,2,null,11,YES,12,10
-null,APP,GETPCTEST1,T,1,93,TIMESTAMP,26,-1,0,2,1,null,null,9,3,null,12,YES,12,11
+null,APP,GETPCTEST1,K,1,91,DATE,10,10,null,2,1,null,null,9,1,null,10,YES,12,9
+null,APP,GETPCTEST1,L,1,92,TIME,8,8,0,2,1,null,null,9,2,null,11,YES,12,10
+null,APP,GETPCTEST1,T,1,93,TIMESTAMP,26,26,6,2,1,null,null,9,3,null,12,YES,12,11
null,APP,GETPCTEST2,PA,1,4,INTEGER,10,4,0,10,1,null,null,4,null,null,1,YES,2,0
null,APP,GETPCTEST2,PB,1,-5,BIGINT,19,8,0,10,1,null,null,-5,null,null,2,YES,2,1
null,APP,GETPCTEST3A,STRING1,1,12,VARCHAR,5,5,null,null,1,null,null,12,null,5,1,YES,2,0
@@ -416,8 +416,8 @@
VARCHAR,12,32672,',',length,1,1,3,null,0,null,VARCHAR,null,null,12,null,null,null
NATIONAL CHAR VARYING,12,2147483647,',',length,1,1,3,null,0,null,NATIONAL CHAR VARYING,null,null,12,null,null,null
DATE,91,10,DATE',',null,1,0,2,1,0,0,DATE,0,0,9,1,2,null
-TIME,92,0,TIME',',null,1,0,2,1,0,0,TIME,0,0,9,2,2,null
-TIMESTAMP,93,0,TIMESTAMP',',null,1,0,2,1,0,0,TIMESTAMP,0,0,9,3,2,null
+TIME,92,8,TIME',',null,1,0,2,1,0,0,TIME,0,0,9,2,2,null
+TIMESTAMP,93,26,TIMESTAMP',',null,1,0,2,1,0,0,TIMESTAMP,0,6,9,3,2,null
BLOB,2004,2147483647,null,null,length,1,0,1,null,0,null,BLOB,null,null,2004,null,null,null
CLOB,2005,2147483647,',',length,1,1,1,null,0,null,CLOB,null,null,2005,null,null,null
getIndexInfo():