db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kmars...@apache.org
Subject svn commit: r563164 [1/3] - in /db/derby/code/branches/10.3/java: engine/org/apache/derby/iapi/types/ engine/org/apache/derby/impl/sql/compile/ engine/org/apache/derby/loc/ testing/org/apache/derbyTesting/functionTests/master/
Date Mon, 06 Aug 2007 15:04:15 GMT
Author: kmarsden
Date: Mon Aug  6 08:04:14 2007
New Revision: 563164

URL: http://svn.apache.org/viewvc?view=rev&rev=563164
Log:
DERBY-2668 -  At the time of compilation of a comparison operation, if the collation types of the operands do not match, then we should throw a meaningful error message.

port from trunk rev 562863


Modified:
    db/derby/code/branches/10.3/java/engine/org/apache/derby/iapi/types/DataTypeDescriptor.java
    db/derby/code/branches/10.3/java/engine/org/apache/derby/impl/sql/compile/BinaryComparisonOperatorNode.java
    db/derby/code/branches/10.3/java/engine/org/apache/derby/impl/sql/compile/ValueNodeList.java
    db/derby/code/branches/10.3/java/engine/org/apache/derby/loc/messages.xml
    db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/LOB.out
    db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/LOBDB2compatibility.out
    db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/bit.out
    db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/datetime.out
    db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/db2Compatibility.out
    db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/implicitConversions.out
    db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/inbetween.out
    db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/union.out

Modified: db/derby/code/branches/10.3/java/engine/org/apache/derby/iapi/types/DataTypeDescriptor.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/java/engine/org/apache/derby/iapi/types/DataTypeDescriptor.java?view=diff&rev=563164&r1=563163&r2=563164
==============================================================================
--- db/derby/code/branches/10.3/java/engine/org/apache/derby/iapi/types/DataTypeDescriptor.java (original)
+++ db/derby/code/branches/10.3/java/engine/org/apache/derby/iapi/types/DataTypeDescriptor.java Mon Aug  6 08:04:14 2007
@@ -1567,5 +1567,16 @@
 
         return sbuf.toString();
     }
+
+    /* Return the typename with the collation name for 
+     * String types.
+     */
+    public String getSQLTypeNameWithCollation() {
+        String name = typeId.getSQLTypeName();
+        if (typeId.isStringTypeId()) {
+            name = name + " (" + getCollationName() + ")";
+        }
+        return name;    
+    }
 }
 

Modified: db/derby/code/branches/10.3/java/engine/org/apache/derby/impl/sql/compile/BinaryComparisonOperatorNode.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/java/engine/org/apache/derby/impl/sql/compile/BinaryComparisonOperatorNode.java?view=diff&rev=563164&r1=563163&r2=563164
==============================================================================
--- db/derby/code/branches/10.3/java/engine/org/apache/derby/impl/sql/compile/BinaryComparisonOperatorNode.java (original)
+++ db/derby/code/branches/10.3/java/engine/org/apache/derby/impl/sql/compile/BinaryComparisonOperatorNode.java Mon Aug  6 08:04:14 2007
@@ -248,9 +248,9 @@
 		// optimizer.  We will assume Mr. Optimizer knows what he is doing.
           if (!cmp && !forQueryRewrite) {
 			throw StandardException.newException(SQLState.LANG_NOT_COMPARABLE, 
-					leftType.getSQLTypeName(),
-					rightType.getSQLTypeName()
-				);
+					leftOperand.getTypeServices().getSQLTypeNameWithCollation() ,
+					rightOperand.getTypeServices().getSQLTypeNameWithCollation());
+				
 		  }
 
 		

Modified: db/derby/code/branches/10.3/java/engine/org/apache/derby/impl/sql/compile/ValueNodeList.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/java/engine/org/apache/derby/impl/sql/compile/ValueNodeList.java?view=diff&rev=563164&r1=563163&r2=563164
==============================================================================
--- db/derby/code/branches/10.3/java/engine/org/apache/derby/impl/sql/compile/ValueNodeList.java (original)
+++ db/derby/code/branches/10.3/java/engine/org/apache/derby/impl/sql/compile/ValueNodeList.java Mon Aug  6 08:04:14 2007
@@ -402,8 +402,8 @@
 									getClassFactory()))
 			{
 				throw StandardException.newException(SQLState.LANG_NOT_COMPARABLE, 
-						leftType.getSQLTypeName(),
-						valueNode.getTypeId().getSQLTypeName()
+						leftOperand.getTypeServices().getSQLTypeNameWithCollation(),
+						valueNode.getTypeServices().getSQLTypeNameWithCollation()
 						);
 			}
 		}

Modified: db/derby/code/branches/10.3/java/engine/org/apache/derby/loc/messages.xml
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/java/engine/org/apache/derby/loc/messages.xml?view=diff&rev=563164&r1=563163&r2=563164
==============================================================================
--- db/derby/code/branches/10.3/java/engine/org/apache/derby/loc/messages.xml (original)
+++ db/derby/code/branches/10.3/java/engine/org/apache/derby/loc/messages.xml Mon Aug  6 08:04:14 2007
@@ -1124,7 +1124,7 @@
 
             <msg>
                 <name>42818</name>
-                <text>Comparisons between '{0}' and '{1}' are not supported.</text>
+                <text>Comparisons between '{0}' and '{1}' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')</text>
                 <arg>type</arg>
                 <arg>type</arg>
             </msg>

Modified: db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/LOB.out
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/LOB.out?view=diff&rev=563164&r1=563163&r2=563164
==============================================================================
--- db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/LOB.out (original)
+++ db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/LOB.out Mon Aug  6 08:04:14 2007
@@ -88,27 +88,27 @@
 ERROR 42X04: Column 'B.NCLOB' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE  statement then 'B.NCLOB' is not a column in the target table.
 ij> -- equal tests are not allowed
 select 1 from b where cast(X'e0' as blob(5))=cast(X'e0' as blob(5));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast(X'e0' as blob(5))=cast(X'e0' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast(X'e0' as blob(5))=cast(X'e0' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast(X'e0' as blob(5))=cast(X'e0' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast(X'e0' as blob(5))=cast(X'e000' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where X'80' = cast(X'80' as blob(1));
-ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast(X'80' as blob(1)) = X'80';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR () FOR BIT DATA' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR () FOR BIT DATA' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast(X'80' as blob(1)) = cast(X'80' as blob(1));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where '1' = cast('1' as clob(1));
-ERROR 42818: Comparisons between 'CHAR' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CHAR (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast('1' as clob(1)) = '1';
-ERROR 42818: Comparisons between 'CLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast('1' as clob(1)) = cast('1' as clob(1));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where '1' = cast('1' as nclob(1));
 ERROR 0A000: Feature not implemented: NCLOB.
 ij> select 1 from b where cast('1' as nclob(1)) = '1';
@@ -123,26 +123,26 @@
 ERROR 0A000: Feature not implemented: NCLOB.
 ij> -- comparsion using tables
 select * from b as b1, b as b2 where b1.blob=b2.blob;
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from b as b1, b as b2 where b1.blob!=b2.blob;
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from b as b1, b as b2 where b1.blob=X'20';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR () FOR BIT DATA' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR () FOR BIT DATA' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from b as b1, b as b2 where X'20'=b1.blob;
-ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from b as b1, b as b2 where X'20'!=b1.blob;
-ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from b as b1, b as b2 where b1.blob=X'7575';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR () FOR BIT DATA' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR () FOR BIT DATA' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from b as b1, b as b2 where X'7575'=b1.blob;
-ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select b.blob, b.clob, b.nclob from b where b.blob = '1' and b.clob = '2' and b.nclob = '3';
 ERROR 42X04: Column 'B.NCLOB' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE  statement then 'B.NCLOB' is not a column in the target table.
 ij> select b.blob from b where b.blob = '1';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> -- however it works for types which cloudscape autocasts to char
 select b.clob from b where b.clob = '2';
-ERROR 42818: Comparisons between 'CLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select b.nclob from b where b.nclob = '3';
 ERROR 42X04: Column 'B.NCLOB' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE  statement then 'B.NCLOB' is not a column in the target table.
 ij> -- test insert of NULL
@@ -236,11 +236,11 @@
 ij> values cast('12' as nclob(2)) || cast('34' as nclob(2));
 ERROR 0A000: Feature not implemented: NCLOB.
 ij> select 1 from b where cast('12' as clob(2)) || cast('34' as clob(2)) = '1234';
-ERROR 42818: Comparisons between 'CLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast('12' as nclob(2)) || cast('34' as nclob(2)) = '1234';
 ERROR 0A000: Feature not implemented: NCLOB.
 ij> select 1 from b where cast('12' as clob(2)) || cast('34' as clob(2)) = cast('1234' as clob(4));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast('12' as nclob(2)) || cast('34' as nclob(2)) = cast('1234' as clob(4));
 ERROR 0A000: Feature not implemented: NCLOB.
 ij> -- like
@@ -302,29 +302,29 @@
 0 rows inserted/updated/deleted
 ij> -- ORDER tests on LOB types (not allowed)
 select 1 from b where cast(X'e0' as blob(5))=cast(X'e0' as blob(5));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast(X'e0' as blob(5))!=cast(X'e0' as blob(5));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast(X'e0' as blob(5))<cast(X'e0' as blob(5));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast(X'e0' as blob(5))>cast(X'e0' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast(X'e0' as blob(5))<=cast(X'e0' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast(X'e0' as blob(5))>=cast(X'e0' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast('fish' as clob(5))=cast('fish' as clob(5));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast('fish' as clob(5))!=cast('fish' as clob(5));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast('fish' as clob(5))<cast('fish' as clob(5));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast('fish' as clob(5))>cast('fish' as clob(7));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast('fish' as clob(5))<=cast('fish' as clob(7));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast('fish' as clob(5))>=cast('fish' as clob(7));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select 1 from b where cast('fish' as nclob(5))=cast('fish' as nclob(5));
 ERROR 0A000: Feature not implemented: NCLOB.
 ij> select 1 from b where cast('fish' as nclob(5))!=cast('fish' as nclob(5));
@@ -356,37 +356,37 @@
 50                                                                                                                              
 ij> -- these select statements should raise an error but are successful in cloudscape
 select * from testoperatorclob where colone > 10;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone > 5;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone < 70;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone = 50;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone != 10;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone <= 70;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone >= 10;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone <> 10;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone > '10';
-ERROR 42818: Comparisons between 'CLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone > '5';
-ERROR 42818: Comparisons between 'CLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone < '70';
-ERROR 42818: Comparisons between 'CLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone = '50';
-ERROR 42818: Comparisons between 'CLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone != '10';
-ERROR 42818: Comparisons between 'CLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone <= '70';
-ERROR 42818: Comparisons between 'CLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone >= '10';
-ERROR 42818: Comparisons between 'CLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone <> '10';
-ERROR 42818: Comparisons between 'CLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> drop table testoperatorclob;
 0 rows inserted/updated/deleted
 ij> -- BLOB testing
@@ -401,37 +401,37 @@
 --------------------------------------------------------------------------------------------------------------------------------
 ij> -- these select statements should raise an error but are successful in cloudscape
 select * from testoperatorblob where colone > 10;
-ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone > 5;
-ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone < 999999;
-ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone = 00350030;
-ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone != 10;
-ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone <= 999999;
-ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone >= 10;
-ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone <> 10;
-ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone > '10';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone > '5';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone < '70';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone = '50';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone != '10';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone <= '70';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone >= '10';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone <> '10';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> drop table testoperatorblob;
 0 rows inserted/updated/deleted
 ij> -- NCLOB testing
@@ -560,10 +560,10 @@
 ERROR X0X67: Columns of type 'LONG VARCHAR' may not be used in CREATE INDEX, ORDER BY, GROUP BY, UNION, INTERSECT, EXCEPT or DISTINCT statements because comparisons are not supported for that type.
 ij> -- IN predicate
 select c1 from testPredicate1 where c1 IN (select c1 from testPredicate2);
-ERROR 42818: Comparisons between 'LONG VARCHAR' and 'LONG VARCHAR' are not supported.
+ERROR 42818: Comparisons between 'LONG VARCHAR (UCS_BASIC)' and 'LONG VARCHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> -- NOT IN predicate
 select c1 from testPredicate1 where c1 NOT IN (select c1 from testPredicate2);
-ERROR 42818: Comparisons between 'LONG VARCHAR' and 'LONG VARCHAR' are not supported.
+ERROR 42818: Comparisons between 'LONG VARCHAR (UCS_BASIC)' and 'LONG VARCHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> -- ORDER BY clause
 select * from testPredicate1 order by c1;
 ERROR X0X67: Columns of type 'LONG VARCHAR' may not be used in CREATE INDEX, ORDER BY, GROUP BY, UNION, INTERSECT, EXCEPT or DISTINCT statements because comparisons are not supported for that type.
@@ -572,9 +572,9 @@
 ERROR X0X67: Columns of type 'LONG VARCHAR' may not be used in CREATE INDEX, ORDER BY, GROUP BY, UNION, INTERSECT, EXCEPT or DISTINCT statements because comparisons are not supported for that type.
 ij> -- JOIN
 select * from testPredicate1 t1, testPredicate2 t2 where t1.c1=t2.c1;
-ERROR 42818: Comparisons between 'LONG VARCHAR' and 'LONG VARCHAR' are not supported.
+ERROR 42818: Comparisons between 'LONG VARCHAR (UCS_BASIC)' and 'LONG VARCHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testPredicate1 LEFT OUTER JOIN testPredicate2 on testPredicate1.c1=testPredicate2.c1;
-ERROR 42818: Comparisons between 'LONG VARCHAR' and 'LONG VARCHAR' are not supported.
+ERROR 42818: Comparisons between 'LONG VARCHAR (UCS_BASIC)' and 'LONG VARCHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> -- PRIMARY KEY
 create table testConst1(c1 long varchar not null primary key);
 ERROR X0X67: Columns of type 'LONG VARCHAR' may not be used in CREATE INDEX, ORDER BY, GROUP BY, UNION, INTERSECT, EXCEPT or DISTINCT statements because comparisons are not supported for that type.

Modified: db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/LOBDB2compatibility.out
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/LOBDB2compatibility.out?view=diff&rev=563164&r1=563163&r2=563164
==============================================================================
--- db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/LOBDB2compatibility.out (original)
+++ db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/LOBDB2compatibility.out Mon Aug  6 08:04:14 2007
@@ -22,27 +22,27 @@
 1 row inserted/updated/deleted
 ij> -- equal tests are allowed only for BLOB==BLOB
 select c11 from t1 where cast(x'1111' as blob(5))=cast(x'1111' as blob(5));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast(x'1111' as blob(5))=cast(x'1111' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast(x'1110' as blob(5))=cast(x'1110' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast(x'1111' as blob(5))=cast(x'11100000' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast(x'1111' as blob(5))=cast(x'1110000000' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where x'11' = cast(x'11' as blob(1));
-ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast(x'11' as blob(1)) = x'11';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR () FOR BIT DATA' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR () FOR BIT DATA' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast(x'11' as blob(1)) = cast(x'11' as blob(1));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where '1' = cast('1' as clob(1));
-ERROR 42818: Comparisons between 'CHAR' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CHAR (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast('1' as clob(1)) = '1';
-ERROR 42818: Comparisons between 'CLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast('1' as clob(1)) = cast('1' as clob(1));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where '1' = cast('1' as nclob(1));
 ERROR 0A000: Feature not implemented: NCLOB.
 ij> select c11 from t1 where cast('1' as nclob(1)) = '1';
@@ -100,48 +100,48 @@
 ERROR 42X05: Table/View 'N' does not exist.
 ij> -- comparsion using tables
 select * from b as b1, b as b2 where b1.blob=b2.blob;
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from b as b1, b as b2 where b1.blob!=b2.blob;
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from b as b1, b as b2 where b1.blob=x'0001';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR () FOR BIT DATA' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR () FOR BIT DATA' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from b as b1, b as b2 where x'0001'=b1.blob;
-ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from b as b1, b as b2 where x'0001'!=b1.blob;
-ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from b as b1, b as b2 where b1.blob=X'7575';
-ERROR 42818: Comparisons between 'BLOB' and 'CHAR () FOR BIT DATA' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'CHAR () FOR BIT DATA' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from b as b1, b as b2 where X'7575'=b1.blob;
-ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'CHAR () FOR BIT DATA' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c.clob from c where c.clob = '2';
-ERROR 42818: Comparisons between 'CLOB' and 'CHAR' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select n.nclob from n where n.nclob = '3';
 ERROR 42X05: Table/View 'N' does not exist.
 ij> -- ORDER tests on LOB types (not allowed)
 select c11 from t1 where cast(x'1111' as blob(5))=cast(x'1111' as blob(5));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast(x'1111' as blob(5))!=cast(x'1111' as blob(5));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast(x'1111' as blob(5))<cast(x'1111' as blob(5));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast(x'1111' as blob(5))>cast(x'1111' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast(x'1111' as blob(5))<=cast(x'1110' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast(x'1111' as blob(5))>=cast(x'11100000' as blob(7));
-ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported.
+ERROR 42818: Comparisons between 'BLOB' and 'BLOB' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast('fish' as clob(5))=cast('fish' as clob(5));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast('fish' as clob(5))!=cast('fish' as clob(5));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast('fish' as clob(5))<cast('fish' as clob(5));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast('fish' as clob(5))>cast('fish' as clob(7));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast('fish' as clob(5))<=cast('fish' as clob(7));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast('fish' as clob(5))>=cast('fish' as clob(7));
-ERROR 42818: Comparisons between 'CLOB' and 'CLOB' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select c11 from t1 where cast('fish' as nclob(5))=cast('fish' as nclob(5));
 ERROR 0A000: Feature not implemented: NCLOB.
 ij> select c11 from t1 where cast('fish' as nclob(5))!=cast('fish' as nclob(5));

Modified: db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/bit.out
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/bit.out?view=diff&rev=563164&r1=563163&r2=563164
==============================================================================
--- db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/bit.out (original)
+++ db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/bit.out Mon Aug  6 08:04:14 2007
@@ -400,15 +400,15 @@
 ff  
 aa  
 ij> select lbv from t where lbv > X'0000000010';
-ERROR 42818: Comparisons between 'LONG VARCHAR FOR BIT DATA' and 'CHAR () FOR BIT DATA' are not supported.
+ERROR 42818: Comparisons between 'LONG VARCHAR FOR BIT DATA' and 'CHAR () FOR BIT DATA' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select lbv from t where lbv < X'0000000010';
-ERROR 42818: Comparisons between 'LONG VARCHAR FOR BIT DATA' and 'CHAR () FOR BIT DATA' are not supported.
+ERROR 42818: Comparisons between 'LONG VARCHAR FOR BIT DATA' and 'CHAR () FOR BIT DATA' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select lbv from t where lbv <= X'0000000011';
-ERROR 42818: Comparisons between 'LONG VARCHAR FOR BIT DATA' and 'CHAR () FOR BIT DATA' are not supported.
+ERROR 42818: Comparisons between 'LONG VARCHAR FOR BIT DATA' and 'CHAR () FOR BIT DATA' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select lbv from t where lbv >= X'0000000011';
-ERROR 42818: Comparisons between 'LONG VARCHAR FOR BIT DATA' and 'CHAR () FOR BIT DATA' are not supported.
+ERROR 42818: Comparisons between 'LONG VARCHAR FOR BIT DATA' and 'CHAR () FOR BIT DATA' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select lbv from t where lbv <> X'0000000011';
-ERROR 42818: Comparisons between 'LONG VARCHAR FOR BIT DATA' and 'CHAR () FOR BIT DATA' are not supported.
+ERROR 42818: Comparisons between 'LONG VARCHAR FOR BIT DATA' and 'CHAR () FOR BIT DATA' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select b10, vb10||X'11' from t where vb10||X'11' > b10;
 B10                                     |2                                         
 -----------------------------------------------------------------------------------

Modified: db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/datetime.out
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/datetime.out?view=diff&rev=563164&r1=563163&r2=563164
==============================================================================
--- db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/datetime.out (original)
+++ db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/datetime.out Mon Aug  6 08:04:14 2007
@@ -129,17 +129,17 @@
 xxxxxxFILTERED-TIMESTAMPxxxxx
 ij> -- show comparisons with mixed types don't work
 select e from t where e <= i;
-ERROR 42818: Comparisons between 'DATE' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'DATE' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select e from t where t < s;
-ERROR 42818: Comparisons between 'TIME' and 'SMALLINT' are not supported.
+ERROR 42818: Comparisons between 'TIME' and 'SMALLINT' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select e from t where p > d;
-ERROR 42818: Comparisons between 'TIMESTAMP' and 'DOUBLE' are not supported.
+ERROR 42818: Comparisons between 'TIMESTAMP' and 'DOUBLE' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select e from t where e >= t;
-ERROR 42818: Comparisons between 'DATE' and 'TIME' are not supported.
+ERROR 42818: Comparisons between 'DATE' and 'TIME' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select e from t where t <> p;
-ERROR 42818: Comparisons between 'TIME' and 'TIMESTAMP' are not supported.
+ERROR 42818: Comparisons between 'TIME' and 'TIMESTAMP' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select e from t where p = e;
-ERROR 42818: Comparisons between 'TIMESTAMP' and 'DATE' are not supported.
+ERROR 42818: Comparisons between 'TIMESTAMP' and 'DATE' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> -- check limit values
 values( date('0001-1-1'), date('9999-12-31'), date('2/29/2000'), date('29.2.2004'));
 1         |2         |3         |4         

Modified: db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/db2Compatibility.out
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/db2Compatibility.out?view=diff&rev=563164&r1=563163&r2=563164
==============================================================================
--- db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/db2Compatibility.out (original)
+++ db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/master/db2Compatibility.out Mon Aug  6 08:04:14 2007
@@ -1124,19 +1124,19 @@
 50                                                                                                                              
 ij> -- these select statements should raise an error but are successful in cloudscape
 select * from testoperatorclob where colone > 10;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone < 70;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone = 50;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone != 10;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone <= 70;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone >= 10;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorclob where colone <> 10;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> drop table testoperatorclob;
 0 rows inserted/updated/deleted
 ij> -- beetle 5282
@@ -1149,19 +1149,19 @@
 --------------------------------------------------------------------------------------------------------------------------------
 ij> -- these select statements should raise an error but are successful in cloudscape
 select * from testoperatorblob where colone > 10;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone < 999999;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone = 00350030;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone != 10;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone <= 999999;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone >= 10;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> select * from testoperatorblob where colone <> 10;
-ERROR 42818: Comparisons between 'CLOB' and 'INTEGER' are not supported.
+ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. select tablename from sys.systables where CAST(tablename as VARCHAR(128)) = 'T1')
 ij> drop table testoperatorblob;
 0 rows inserted/updated/deleted
 ij> -- beetle 5283



Mime
View raw message