As of now, updates to tests and masters will go with the patch that changes functionality, but in this case there was a timing problem...
Index: java/testing/org/apache/derbyTesting/functionTests/master/LOB.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/LOB.out (revision 57534)
+++ java/testing/org/apache/derbyTesting/functionTests/master/LOB.out (working copy)
@@ -239,7 +239,13 @@
ij> select * from b where b like cast('0102%' as blob(10));
ERROR 42846: Cannot convert types 'CHAR' to 'BLOB'.
ij> select * from c where c like cast('12%' as clob(10));
-ERROR 42884: No authorized routine named 'LIKE' of type 'FUNCTION' having compatible arguments was found.
+C +-----
+1234
+12345
+1234
+12345
+1234&
ij> select * from n where n like cast('12%' as nclob(10));
ERROR 0A000: Feature not implemented: NCLOB.
ij> -- cleanup
Index: java/testing/org/apache/derbyTesting/functionTests/master/dynamicLikeOptimization.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/dynamicLikeOptimization.out (revision 57534)
+++ java/testing/org/apache/derbyTesting/functionTests/master/dynamicLikeOptimization.out (working copy)
@@ -86,7 +86,7 @@
1 ij> -- match
select 1 from t1 where 'asdf' like 'a%' escape cast(null as char);
-ERROR 42884: No authorized routine named 'LIKE' of type 'FUNCTION' having compatible arguments was found.
+ERROR 22501: An ESCAPE clause of NULL returns undefined results and is not allowed.
ij> -- error NULL escape
prepare ll2 as 'select 1 from t1 where ''%foobar'' like ? escape ?';
ij> execute ll2 using 'values (''Z%foobar'', ''Z'') ';
Index: java/engine/org/apache/derby/impl/sql/compile/LikeEscapeOperatorNode.java
===================================================================
--- java/engine/org/apache/derby/impl/sql/compile/LikeEscapeOperatorNode.java
(revision 57450)
+++ java/engine/org/apache/derby/impl/sql/compile/LikeEscapeOperatorNode.java
(working copy)
@@ -157,7 +157,8 @@
throw
StandardException.newException(SQLState.LANG_DB2_LIKE_SYNTAX_ERROR);
// pattern must be a string or a parameter
- if (!(leftOperand instanceof CharConstantNode) &&
!(leftOperand.isParameterNode()))
+
+ if (!(leftOperand.isParameterNode()) &&
!(leftOperand.getTypeId().isStringTypeId()))
throw
StandardException.newException(SQLState.LANG_DB2_FUNCTION_INCOMPATIBLE,
"LIKE", "FUNCTION");
@@ -169,7 +170,9 @@
}
// escape must be a string or a parameter
- if (rightOperand != null && !(rightOperand instanceof
CharConstantNode) && !(rightOperand.isParameterNode()))
+ if ((rightOperand != null) &&
+ !(rightOperand.isParameterNode()) &&
+ !(rightOperand.getTypeId().isStringTypeId()))
{
throw
StandardException.newException(SQLState.LANG_DB2_FUNCTION_INCOMPATIBLE,
"LIKE", "FUNCTION");
