diff options
author | unknown <dlenev@brandersnatch.localdomain> | 2004-10-08 15:16:03 +0400 |
---|---|---|
committer | unknown <dlenev@brandersnatch.localdomain> | 2004-10-08 15:16:03 +0400 |
commit | 79f1eeb87ff8047d1d09578f41c604bf5e31f29b (patch) | |
tree | f77a777a10891cf8f8877a9e08f960f2a20da543 | |
parent | 1af88dc5f46a87d515f68b181a0c51cea9168364 (diff) | |
download | mariadb-git-79f1eeb87ff8047d1d09578f41c604bf5e31f29b.tar.gz |
Fix for bug #5887 "Triggers with string literals cause errors"
Fixed small error in new .FRM parser which caused it to handle
improperly escaped strings.
mysql-test/r/trigger.result:
Added test for bug #5887 "Triggers with string literals cause errors".
mysql-test/t/trigger.test:
Added test for bug #5887 "Triggers with string literals cause errors".
sql/parse_file.cc:
read_escaped_string(): We should not fail when we meet \' sequence
in escaped string.
-rw-r--r-- | mysql-test/r/trigger.result | 5 | ||||
-rw-r--r-- | mysql-test/t/trigger.test | 14 | ||||
-rw-r--r-- | sql/parse_file.cc | 1 |
3 files changed, 20 insertions, 0 deletions
diff --git a/mysql-test/r/trigger.result b/mysql-test/r/trigger.result index a7a845fa3e0..2a2e10dbbd5 100644 --- a/mysql-test/r/trigger.result +++ b/mysql-test/r/trigger.result @@ -169,3 +169,8 @@ create temporary table t1 (i int); create trigger trg before insert on t1 for each row set @a:=1; ERROR HY000: Trigger's 't1' is view or temporary table drop table t1; +create table t1 (x1col char); +create trigger tx1 before insert on t1 for each row set new.x1col = 'x'; +insert into t1 values ('y'); +drop trigger t1.tx1; +drop table t1; diff --git a/mysql-test/t/trigger.test b/mysql-test/t/trigger.test index 8922f73661e..f842d561dc1 100644 --- a/mysql-test/t/trigger.test +++ b/mysql-test/t/trigger.test @@ -193,3 +193,17 @@ create temporary table t1 (i int); --error 1361 create trigger trg before insert on t1 for each row set @a:=1; drop table t1; + + + +# +# Tests for various trigger-related bugs +# + +# Test for bug #5887 "Triggers with string literals cause errors". +# New .FRM parser was not handling escaped strings properly. +create table t1 (x1col char); +create trigger tx1 before insert on t1 for each row set new.x1col = 'x'; +insert into t1 values ('y'); +drop trigger t1.tx1; +drop table t1; diff --git a/sql/parse_file.cc b/sql/parse_file.cc index 16674793b48..f548c16d808 100644 --- a/sql/parse_file.cc +++ b/sql/parse_file.cc @@ -502,6 +502,7 @@ read_escaped_string(char *ptr, char *eol, LEX_STRING *str) break; case '\'': *write_pos= '\''; + break; default: return TRUE; } |