-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Submitted the patch.
Sending
java\testing\org\apache\derbyTesting\functionTests\master\LOB.out
Sending
java\testing\org\apache\derbyTesting\functionTests\master\dynamicLikeOptimization.out
Transmitting file data ..
Committed revision 76009.
myrnap wrote:
> I was convinced I had done both....:)
> Thx...
>
> Satheesh Bandaram wrote:
>
> I would appreciate if you can post this patch as as attachment...
Extracting in-lined patches doesn't work well ...
>
> Satheesh
>
> myrnap wrote:
>
> > Now that there are tests, and svn 57487 was committed for jira 45, 2
master files need to be updated.
>
> > 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");
>>
>-------------------------
>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'') ';
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFBmlbWENVNIY6DZ7ERAr0bAJ9xhj1oZUwKE+e/SiCFfoG0n0mmbwCff6k0
/4k0aLJmhtvtMo3sZP6hLs4=
=OOgY
-----END PGP SIGNATURE-----