summaryrefslogtreecommitdiff
path: root/mysql-test/t/func_like.test
diff options
context:
space:
mode:
authorunknown <dlenev@brandersnatch.localdomain>2004-06-22 19:27:16 +0400
committerunknown <dlenev@brandersnatch.localdomain>2004-06-22 19:27:16 +0400
commit4c670550d266d66a7ab0f0883b6e3994346872dc (patch)
treed0e1e3af3a439cdd96e7e95fea25e1dc8d02a760 /mysql-test/t/func_like.test
parent227f223d6bbcab16c29b020315b79cf7143e669b (diff)
downloadmariadb-git-4c670550d266d66a7ab0f0883b6e3994346872dc.tar.gz
Fix for Bug# 4200 "Parse error on LIKE ESCAPE with parameter binding"
Now ESCAPE in LIKE will accept not only string literal but constant delimited expression. mysql-test/r/func_like.result: Added test for bug# 4200 "Parse error on LIKE ESCAPE with parameter binding" mysql-test/t/func_like.test: Added test for bug# 4200 "Parse error on LIKE ESCAPE with parameter binding" sql/item_cmpfunc.cc: Added support for accepting of constant delimited expression as ESCAPE argument to Item_func_like. sql/item_cmpfunc.h: Now ESCAPE clause in LIKE will accept not only string literal but constant delimited expression. Thus added member to Item_func_like for storing Item corresponding to this expression and changed third argument of cons to be Item* instead of char*. sql/sql_help.cc: Item_func_like now accepts Item* as third argument. sql/sql_yacc.yy: Now ESCAPE clause of LIKE accepts not only string literal but constant delimited expression (the most important case is prepared statement parameter of course).
Diffstat (limited to 'mysql-test/t/func_like.test')
-rw-r--r--mysql-test/t/func_like.test13
1 files changed, 11 insertions, 2 deletions
diff --git a/mysql-test/t/func_like.test b/mysql-test/t/func_like.test
index 91f55af48cc..ad83202afa0 100644
--- a/mysql-test/t/func_like.test
+++ b/mysql-test/t/func_like.test
@@ -25,14 +25,23 @@ select * from t1 where a like "%abc\d%";
drop table t1;
+create table t1 (a varchar(10), key(a));
+
#
# Bug #2231
#
-
-create table t1 (a varchar(10), key(a));
insert into t1 values ('a'), ('a\\b');
select * from t1 where a like 'a\\%' escape '#';
select * from t1 where a like 'a\\%' escape '#' and a like 'a\\\\b';
+
+#
+# Bug #4200: Prepared statement parameter as argument to ESCAPE
+#
+prepare stmt1 from 'select * from t1 where a like \'a\\%\' escape ?';
+set @esc='#';
+execute stmt1 using @esc;
+deallocate prepare stmt1;
+
drop table t1;
#