diff options
author | unknown <guilhem@mysql.com> | 2005-01-12 19:42:46 +0100 |
---|---|---|
committer | unknown <guilhem@mysql.com> | 2005-01-12 19:42:46 +0100 |
commit | f5d30e0cac50677699d9fadfa540f4e900b679c3 (patch) | |
tree | 0bea6516515d337b101938bb98055d257310d16d /mysql-test | |
parent | e8e48614012d968d59606d4994d9e3ab6aa61eee (diff) | |
download | mariadb-git-f5d30e0cac50677699d9fadfa540f4e900b679c3.tar.gz |
Fix for BUG#7793 "mysqlbinlog produces incorrect queries":
when printing SET @var in mysqlbinlog, backtick the collation (as BINARY is a reserved word)
mysql-test/r/ctype_ucs.result:
backticks added
mysql-test/r/user_var.result:
backticks added
mysql-test/t/user_var.test:
testing a variable with BINARY collation, which needs the backticks
sql/log_event.cc:
when printing SET @var in mysqlbinlog, backtick the collation (as BINARY is a reserved word)
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/ctype_ucs.result | 2 | ||||
-rw-r--r-- | mysql-test/r/user_var.result | 13 | ||||
-rw-r--r-- | mysql-test/t/user_var.test | 3 |
3 files changed, 11 insertions, 7 deletions
diff --git a/mysql-test/r/ctype_ucs.result b/mysql-test/r/ctype_ucs.result index b1b83eb8b6c..5c47f8a4059 100644 --- a/mysql-test/r/ctype_ucs.result +++ b/mysql-test/r/ctype_ucs.result @@ -520,7 +520,7 @@ Log_name Pos Event_type Server_id Orig_log_pos Info master-bin.000001 79 User var 1 79 @`v`=_ucs2 0x006100620063 COLLATE ucs2_general_ci master-bin.000001 119 Query 1 119 use `test`; insert into t2 values (@v) /*!40019 SET @@session.max_insert_delayed_threads=0*/; -SET @`v`:=_ucs2 0x006100620063 COLLATE ucs2_general_ci; +SET @`v`:=_ucs2 0x006100620063 COLLATE `ucs2_general_ci`; use test; SET TIMESTAMP=10000; insert into t2 values (@v); diff --git a/mysql-test/r/user_var.result b/mysql-test/r/user_var.result index 4f521143d97..d46d6c7a78a 100644 --- a/mysql-test/r/user_var.result +++ b/mysql-test/r/user_var.result @@ -168,21 +168,24 @@ SET TIMESTAMP=10000; SET @`a b`='hello'; INSERT INTO t1 VALUES(@`a b`); set @var1= "';aaa"; -insert into t1 values (@var1); +SET @var2=char(ascii('a')); +insert into t1 values (@var1),(@var2); show binlog events from 79; Log_name Pos Event_type Server_id Orig_log_pos Info master-bin.000001 79 User var 1 79 @`a b`=_latin1 0x68656C6C6F COLLATE latin1_swedish_ci master-bin.000001 120 Query 1 120 use `test`; INSERT INTO t1 VALUES(@`a b`) master-bin.000001 184 User var 1 184 @`var1`=_latin1 0x273B616161 COLLATE latin1_swedish_ci -master-bin.000001 226 Query 1 226 use `test`; insert into t1 values (@var1) +master-bin.000001 226 User var 1 226 @`var2`=_binary 0x61 COLLATE binary +master-bin.000001 264 Query 1 264 use `test`; insert into t1 values (@var1),(@var2) /*!40019 SET @@session.max_insert_delayed_threads=0*/; -SET @`a b`:=_latin1 0x68656C6C6F COLLATE latin1_swedish_ci; +SET @`a b`:=_latin1 0x68656C6C6F COLLATE `latin1_swedish_ci`; use test; SET TIMESTAMP=10000; INSERT INTO t1 VALUES(@`a b`); -SET @`var1`:=_latin1 0x273B616161 COLLATE latin1_swedish_ci; +SET @`var1`:=_latin1 0x273B616161 COLLATE `latin1_swedish_ci`; +SET @`var2`:=_binary 0x61 COLLATE `binary`; SET TIMESTAMP=10000; -insert into t1 values (@var1); +insert into t1 values (@var1),(@var2); drop table t1; set @var= NULL ; select FIELD( @var,'1it','Hit') as my_column; diff --git a/mysql-test/t/user_var.test b/mysql-test/t/user_var.test index d985be05b94..81788ce8d73 100644 --- a/mysql-test/t/user_var.test +++ b/mysql-test/t/user_var.test @@ -107,7 +107,8 @@ SET TIMESTAMP=10000; SET @`a b`='hello'; INSERT INTO t1 VALUES(@`a b`); set @var1= "';aaa"; -insert into t1 values (@var1); +SET @var2=char(ascii('a')); +insert into t1 values (@var1),(@var2); show binlog events from 79; # more important than SHOW BINLOG EVENTS, mysqlbinlog (where we # absolutely need variables names to be quoted and strings to be |