You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Dag H. Wanvik (JIRA)" <ji...@apache.org> on 2013/01/10 04:28:15 UTC

[jira] [Commented] (DERBY-6030) Length of escape string in LIKE ... ESCAPE not properly checked with territory based collation

    [ https://issues.apache.org/jira/browse/DERBY-6030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13549332#comment-13549332 ] 

Dag H. Wanvik commented on DERBY-6030:
--------------------------------------

Looks like a good patch to me. Thanks for good explanation in the test case javadoc :) +1. Tiny nit: patch added a line with tabs in it (#16).
                
> Length of escape string in LIKE ... ESCAPE not properly checked with territory based collation
> ----------------------------------------------------------------------------------------------
>
>                 Key: DERBY-6030
>                 URL: https://issues.apache.org/jira/browse/DERBY-6030
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.9.1.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>         Attachments: d6030-1a.diff
>
>
> When an ESCAPE clause contains multiple characters, but only a single collation element, they are accepted as long as it's not a literal:
> ij> connect 'jdbc:derby:memory:nodb;create=true;territory=no;collation=TERRITORY_BASED';
> ij> create table t(x varchar(20), y varchar(20), z varchar(20));
> 0 rows inserted/updated/deleted
> ij> insert into t values ('abc', 'def', 'aa');
> 1 row inserted/updated/deleted
> ij> select * from t where x like y escape z;
> X                   |Y                   |Z                   
> --------------------------------------------------------------
> 0 rows selected
> If the same query is performed with a literal in the ESCAPE clause, the problem is detected and correctly reported:
> ij> select * from t where x like y escape 'aa';
> ERROR 22019: Invalid escape sequence, 'aa'. The escape string must be exactly one character. It cannot be a null or more than one character.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira