Knut Anders Hatlen created DERBY-6030:
-----------------------------------------

             Summary: 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


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

Reply via email to