summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <guilhem@mysql.com>2005-01-12 19:42:46 +0100
committerunknown <guilhem@mysql.com>2005-01-12 19:42:46 +0100
commitf5d30e0cac50677699d9fadfa540f4e900b679c3 (patch)
tree0bea6516515d337b101938bb98055d257310d16d /mysql-test
parente8e48614012d968d59606d4994d9e3ab6aa61eee (diff)
downloadmariadb-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.result2
-rw-r--r--mysql-test/r/user_var.result13
-rw-r--r--mysql-test/t/user_var.test3
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