diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-01-15 19:07:46 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-01-15 19:07:46 +0100 |
commit | aca8e7ed6b176f28e8a34ebddc989574d93f305c (patch) | |
tree | c0d20e5b3e9518f48d789e2220eea46d9010966d | |
parent | 750b9147fced7202b541be946e044eb739b20a03 (diff) | |
parent | 4f67a14700c0266c58b05be0dbd8fc10f88464a6 (diff) | |
download | mariadb-git-aca8e7ed6b176f28e8a34ebddc989574d93f305c.tar.gz |
5.3 merge
115 files changed, 2142 insertions, 1136 deletions
@@ -1,4 +1,4 @@ MYSQL_VERSION_MAJOR=5 MYSQL_VERSION_MINOR=5 -MYSQL_VERSION_PATCH=28 -MYSQL_VERSION_EXTRA=a +MYSQL_VERSION_PATCH=29 +MYSQL_VERSION_EXTRA= diff --git a/mysql-test/include/mysqlbinlog_row_engine.inc b/mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc index 95440ab04a0..95440ab04a0 100644 --- a/mysql-test/include/mysqlbinlog_row_engine.inc +++ b/mysql-test/extra/binlog_tests/mysqlbinlog_row_engine.inc diff --git a/mysql-test/r/ctype_ucs.result b/mysql-test/r/ctype_ucs.result index d463ce87c92..cc43dd2d7dc 100644 --- a/mysql-test/r/ctype_ucs.result +++ b/mysql-test/r/ctype_ucs.result @@ -191,6 +191,32 @@ t1 CREATE TABLE `t1` ( `r` varchar(10) CHARACTER SET ucs2 NOT NULL DEFAULT '' ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; +# +# Bug #51876 : crash/memory underrun when loading data with ucs2 +# and reverse() function +# +# Problem # 1 (original report): wrong parsing of ucs2 data +SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp.txt'; +CREATE TABLE t1(a INT); +LOAD DATA INFILE 'tmpp.txt' INTO TABLE t1 CHARACTER SET ucs2 +(@b) SET a=REVERSE(@b); +# should return 2 zeroes (as the value is truncated) +SELECT * FROM t1; +a +0 +1 +DROP TABLE t1; +# Problem # 2 : if you write and read ucs2 data to a file they're lost +SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp2.txt' CHARACTER SET ucs2; +CREATE TABLE t1(a INT); +LOAD DATA INFILE 'tmpp2.txt' INTO TABLE t1 CHARACTER SET ucs2 +(@b) SET a=REVERSE(@b); +# should return 0 and 1 (10 reversed) +SELECT * FROM t1; +a +0 +1 +DROP TABLE t1; create table t2(f1 Char(30)); insert into t2 values ("103000"), ("22720000"), ("3401200"), ("78000"); select lpad(f1, 12, "-o-/") from t2; diff --git a/mysql-test/r/datetime_456.result b/mysql-test/r/datetime_456.result index ba020a250b7..44351a821bc 100644 --- a/mysql-test/r/datetime_456.result +++ b/mysql-test/r/datetime_456.result @@ -4,5 +4,5 @@ insert t1 values (addtime('9999-12-31 23:59:59', '00:00:01')), select * from t1; d NULL -NULL +0000-00-00 00:00:00 drop table t1; diff --git a/mysql-test/r/derived_view.result b/mysql-test/r/derived_view.result index ba01db4a66f..95ff464918c 100644 --- a/mysql-test/r/derived_view.result +++ b/mysql-test/r/derived_view.result @@ -2115,6 +2115,55 @@ a 4 drop table t1,t2; # +# MDEV-3873: Wrong result (extra rows) with NOT IN and +# a subquery from a MERGE view +# +CREATE TABLE t1 (a INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t1 VALUES (4),(7),(0); +CREATE TABLE t2 (b INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t2 VALUES (1),(2); +CREATE TABLE t3 (c INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t3 VALUES (4),(6),(3); +CREATE TABLE t4 (d INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t4 VALUES (4),(5),(3); +CREATE TABLE tv (e INT NOT NULL) ENGINE=MyISAM; +INSERT INTO tv VALUES (1),(3); +CREATE ALGORITHM=TEMPTABLE VIEW v_temptable AS SELECT * FROM tv; +CREATE ALGORITHM=MERGE VIEW v_merge AS SELECT * FROM tv; +SELECT * FROM t1, t2 +WHERE a NOT IN ( SELECT e FROM t3 LEFT JOIN v_temptable ON (c = e) WHERE c <> b ) AND a < b; +a b +SELECT * FROM t1, t2 +WHERE a NOT IN ( SELECT e FROM t3 LEFT JOIN v_merge ON (c = e) WHERE c <> b ) AND a < b; +a b +SELECT * FROM t1, t2 +WHERE a NOT IN ( SELECT e FROM t3 LEFT JOIN (SELECT * FROM tv) as derived ON (c = e) WHERE c <> b ) AND a < b; +a b +drop view v_temptable, v_merge; +drop table t1,t2,t3,t4,tv; +# +# MDEV-3912: Wrong result (extra rows) with FROM subquery inside +# ALL subquery, LEFT JOIN, derived_merge. +# (duplicate of MDEV-3873 (above)) +# +SET @save3912_optimizer_switch=@@optimizer_switch; +SET optimizer_switch = 'derived_merge=on,in_to_exists=on'; +CREATE TABLE t1 (a INT) ENGINE=MyISAM; +INSERT INTO t1 VALUES (4),(8); +CREATE TABLE t2 (b INT) ENGINE=MyISAM; +INSERT INTO t2 VALUES (7),(0); +CREATE TABLE t3 (c INT, d INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t3 VALUES (0,4),(8,6); +SELECT * FROM t1 +WHERE a >= ALL ( +SELECT d FROM t2 LEFT JOIN ( SELECT * FROM t3 ) AS alias ON ( c = b ) +WHERE b >= a +); +a +8 +set optimizer_switch=@save3912_optimizer_switch; +drop table t1, t2, t3; +# # end of 5.3 tests # set optimizer_switch=@exit_optimizer_switch; diff --git a/mysql-test/r/func_time.result b/mysql-test/r/func_time.result index 15120af869c..a5491c9c839 100644 --- a/mysql-test/r/func_time.result +++ b/mysql-test/r/func_time.result @@ -1423,7 +1423,7 @@ MAKEDATE(11111111,1) NULL SELECT WEEK(DATE_ADD(FROM_DAYS(1),INTERVAL 1 MONTH), 1); WEEK(DATE_ADD(FROM_DAYS(1),INTERVAL 1 MONTH), 1) -NULL +0 # # Bug#12584302 AFTER FIX FOR #12403504: ASSERTION FAILED: DELSUM+(INT) Y/4-TEMP > 0, # diff --git a/mysql-test/r/grant_lowercase.result b/mysql-test/r/grant_lowercase.result new file mode 100644 index 00000000000..489f990daf1 --- /dev/null +++ b/mysql-test/r/grant_lowercase.result @@ -0,0 +1,20 @@ +grant file on *.* to user1@localhost with grant option; +grant select on `a%`.* to user1@localhost with grant option; +grant file on aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.* to 'user'@'%' identified by 'secret'; +ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' +drop user user1@localhost; +call mtr.add_suppression("Incorrect database name"); +alter table mysql.host modify Db varchar(200); +alter table mysql.db modify Db varchar(200); +insert mysql.host set db=concat('=>', repeat(_utf8 'й', 200)); +Warnings: +Warning 1265 Data truncated for column 'Db' at row 1 +insert mysql.db set db=concat('=>', repeat(_utf8 'й', 200)); +Warnings: +Warning 1265 Data truncated for column 'Db' at row 1 +flush privileges; +delete from mysql.host where db like '=>%'; +delete from mysql.db where db like '=>%'; +alter table mysql.host modify Db char(64); +alter table mysql.db modify Db char(64); +flush privileges; diff --git a/mysql-test/r/group_by.result b/mysql-test/r/group_by.result index 9455efbc0a6..9fb21c3d828 100644 --- a/mysql-test/r/group_by.result +++ b/mysql-test/r/group_by.result @@ -2130,6 +2130,47 @@ the value below *must* be 1 show status like 'Created_tmp_disk_tables'; Variable_name Value Created_tmp_disk_tables 1 +# +# Bug #1002146: Unneeded filesort if usage of join buffer is not allowed +# (bug mdev-645) +# +CREATE TABLE t1 (pk int PRIMARY KEY, a int, INDEX idx(a)); +INSERT INTO t1 VALUES (3,2), (2,3), (5,3), (6,4); +CREATE TABLE t2 (pk int PRIMARY KEY, a int, INDEX idx(a)); +INSERT INTO t2 VALUES (9,0), (10,3), (6,4), (1,6), (3,100), (5,200); +set join_cache_level=0; +EXPLAIN +SELECT t2.a FROM t2 STRAIGHT_JOIN t1 ON t2.a <> 0 WHERE t2.a <> 6 +GROUP BY t2.a; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 range idx idx 5 NULL 5 Using where; Using index +1 SIMPLE t1 index NULL PRIMARY 4 NULL 4 Using index +SELECT t2.a FROM t2 STRAIGHT_JOIN t1 ON t2.a <> 0 WHERE t2.a <> 6 +GROUP BY t2.a; +a +3 +4 +100 +200 +set join_cache_level=default; +set @save_optimizer_switch=@@optimizer_switch; +set optimizer_switch='outer_join_with_cache=off'; +EXPLAIN +SELECT t2.a FROM t2 LEFT JOIN t1 ON t2.a <> 0 WHERE t2.a <> 6 +GROUP BY t2.a; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 range idx idx 5 NULL 5 Using where; Using index +1 SIMPLE t1 index NULL PRIMARY 4 NULL 4 Using where; Using index +SELECT t2.a FROM t2 LEFT JOIN t1 ON t2.a <> 0 WHERE t2.a <> 6 +GROUP BY t2.a; +a +0 +3 +4 +100 +200 +set optimizer_switch=@save_optimizer_switch; +DROP TABLE t1,t2; # End of 5.3 tests # # Bug#49771: Incorrect MIN (date) when minimum value is 0000-00-00 diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result index fd2a948847c..693b007c4b3 100644 --- a/mysql-test/r/join_outer.result +++ b/mysql-test/r/join_outer.result @@ -2019,10 +2019,10 @@ SELECT t1.pk FROM t2 LEFT JOIN t1 ON t2.pk = t1.a WHERE t1.b BETWEEN 5 AND 6 AND t1.pk IS NULL OR t1.pk = 5 ORDER BY t1.pk; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t1 const PRIMARY,idx PRIMARY 4 const 1 100.00 +1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1 100.00 1 SIMPLE t2 const PRIMARY PRIMARY 4 const 1 100.00 Using index Warnings: -Note 1003 select 5 AS `pk` from `test`.`t2` join `test`.`t1` where ((((1 between 5 and 6) and isnull(5)) or 1)) order by 5 +Note 1003 select 5 AS `pk` from `test`.`t2` join `test`.`t1` where (1) order by 5 SELECT t1.pk FROM t2 LEFT JOIN t1 ON t2.pk = t1.a WHERE t1.b BETWEEN 5 AND 6 AND t1.pk IS NULL OR t1.pk = 5 ORDER BY t1.pk; @@ -2058,10 +2058,10 @@ SELECT t1.b, t2.c, t2.d FROM t2 LEFT JOIN t1 ON t2.c = t1.a WHERE t1.pk BETWEEN 5 AND 6 AND t1.b IS NULL OR t1.b = 5 ORDER BY t1.b; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t1 ref PRIMARY,idx idx 4 const 2 100.00 Using where; Using filesort +1 SIMPLE t1 ref idx idx 4 const 2 100.00 Using where 1 SIMPLE t2 ref c c 5 test.t1.a 2 100.00 Warnings: -Note 1003 select `test`.`t1`.`b` AS `b`,`test`.`t2`.`c` AS `c`,`test`.`t2`.`d` AS `d` from `test`.`t2` join `test`.`t1` where ((`test`.`t2`.`c` = `test`.`t1`.`a`) and (((`test`.`t1`.`pk` between 5 and 6) and isnull(`test`.`t1`.`b`)) or (`test`.`t1`.`b` = 5))) order by `test`.`t1`.`b` +Note 1003 select `test`.`t1`.`b` AS `b`,`test`.`t2`.`c` AS `c`,`test`.`t2`.`d` AS `d` from `test`.`t2` join `test`.`t1` where ((`test`.`t2`.`c` = `test`.`t1`.`a`) and (`test`.`t1`.`b` = 5)) order by `test`.`t1`.`b` SELECT t1.b, t2.c, t2.d FROM t2 LEFT JOIN t1 ON t2.c = t1.a WHERE t1.pk BETWEEN 5 AND 6 AND t1.b IS NULL OR t1.b = 5 ORDER BY t1.b; diff --git a/mysql-test/r/join_outer_jcl6.result b/mysql-test/r/join_outer_jcl6.result index d891f5c49b2..83415abf228 100644 --- a/mysql-test/r/join_outer_jcl6.result +++ b/mysql-test/r/join_outer_jcl6.result @@ -2030,10 +2030,10 @@ SELECT t1.pk FROM t2 LEFT JOIN t1 ON t2.pk = t1.a WHERE t1.b BETWEEN 5 AND 6 AND t1.pk IS NULL OR t1.pk = 5 ORDER BY t1.pk; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t1 const PRIMARY,idx PRIMARY 4 const 1 100.00 +1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1 100.00 1 SIMPLE t2 const PRIMARY PRIMARY 4 const 1 100.00 Using index Warnings: -Note 1003 select 5 AS `pk` from `test`.`t2` join `test`.`t1` where ((((1 between 5 and 6) and isnull(5)) or 1)) order by 5 +Note 1003 select 5 AS `pk` from `test`.`t2` join `test`.`t1` where (1) order by 5 SELECT t1.pk FROM t2 LEFT JOIN t1 ON t2.pk = t1.a WHERE t1.b BETWEEN 5 AND 6 AND t1.pk IS NULL OR t1.pk = 5 ORDER BY t1.pk; @@ -2069,10 +2069,10 @@ SELECT t1.b, t2.c, t2.d FROM t2 LEFT JOIN t1 ON t2.c = t1.a WHERE t1.pk BETWEEN 5 AND 6 AND t1.b IS NULL OR t1.b = 5 ORDER BY t1.b; id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t1 ref PRIMARY,idx idx 4 const 2 100.00 Using where; Using filesort +1 SIMPLE t1 ref idx idx 4 const 2 100.00 Using where 1 SIMPLE t2 ref c c 5 test.t1.a 2 100.00 Warnings: -Note 1003 select `test`.`t1`.`b` AS `b`,`test`.`t2`.`c` AS `c`,`test`.`t2`.`d` AS `d` from `test`.`t2` join `test`.`t1` where ((`test`.`t2`.`c` = `test`.`t1`.`a`) and (((`test`.`t1`.`pk` between 5 and 6) and isnull(`test`.`t1`.`b`)) or (`test`.`t1`.`b` = 5))) order by `test`.`t1`.`b` +Note 1003 select `test`.`t1`.`b` AS `b`,`test`.`t2`.`c` AS `c`,`test`.`t2`.`d` AS `d` from `test`.`t2` join `test`.`t1` where ((`test`.`t2`.`c` = `test`.`t1`.`a`) and (`test`.`t1`.`b` = 5)) order by `test`.`t1`.`b` SELECT t1.b, t2.c, t2.d FROM t2 LEFT JOIN t1 ON t2.c = t1.a WHERE t1.pk BETWEEN 5 AND 6 AND t1.b IS NULL OR t1.b = 5 ORDER BY t1.b; diff --git a/mysql-test/r/loaddata.result b/mysql-test/r/loaddata.result index ee0e63706a1..328d26eec72 100644 --- a/mysql-test/r/loaddata.result +++ b/mysql-test/r/loaddata.result @@ -504,35 +504,6 @@ CREATE TABLE t1 (id INT NOT NULL); LOAD DATA LOCAL INFILE 'tb.txt' INTO TABLE t1; DROP TABLE t1; # -# Bug #51876 : crash/memory underrun when loading data with ucs2 -# and reverse() function -# -# Problem # 1 (original report): wrong parsing of ucs2 data -SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp.txt'; -CREATE TABLE t1(a INT); -LOAD DATA INFILE 'tmpp.txt' INTO TABLE t1 CHARACTER SET ucs2 -(@b) SET a=REVERSE(@b); -Warnings: -Warning 1366 Incorrect integer value: '?' for column 'a' at row 1 -Warning 1366 Incorrect integer value: '?' for column 'a' at row 2 -# should return 2 zeroes (as the value is truncated) -SELECT * FROM t1; -a -0 -0 -DROP TABLE t1; -# Problem # 2 : if you write and read ucs2 data to a file they're lost -SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp2.txt' CHARACTER SET ucs2; -CREATE TABLE t1(a INT); -LOAD DATA INFILE 'tmpp2.txt' INTO TABLE t1 CHARACTER SET ucs2 -(@b) SET a=REVERSE(@b); -# should return 0 and 1 (10 reversed) -SELECT * FROM t1; -a -0 -1 -DROP TABLE t1; -# # Bug#11765139 58069: LOAD DATA INFILE: VALGRIND REPORTS INVALID MEMORY READS AND WRITES WITH U # CREATE TABLE t1(f1 INT); diff --git a/mysql-test/r/mysql.result b/mysql-test/r/mysql.result index 3fb190bf963..e0670f7d643 100644 --- a/mysql-test/r/mysql.result +++ b/mysql-test/r/mysql.result @@ -509,5 +509,9 @@ SHOW TABLES IN connected_db; Tables_in_connected_db table_in_connected_db DROP DATABASE connected_db; +create database `aa``bb````cc`; +DATABASE() +aa`bb``cc +drop database `aa``bb````cc`; End of tests diff --git a/mysql-test/r/sp_notembedded.result b/mysql-test/r/sp_notembedded.result index 0b4b1726e22..60cd8b3ce11 100644 --- a/mysql-test/r/sp_notembedded.result +++ b/mysql-test/r/sp_notembedded.result @@ -280,3 +280,7 @@ Event sql_mode time_zone Create Event character_set_client collation_connection teste_bug11763507 SYSTEM # latin1 latin1_swedish_ci latin1_swedish_ci DROP EVENT teste_bug11763507; #END OF BUG#11763507 test. +# ------------------------------------------------------------------ +# -- End of 5.1 tests +# ------------------------------------------------------------------ +set @@global.concurrent_insert= @old_concurrent_insert; diff --git a/mysql-test/r/subselect4.result b/mysql-test/r/subselect4.result index 697226c5740..7f507b7e2d1 100644 --- a/mysql-test/r/subselect4.result +++ b/mysql-test/r/subselect4.result @@ -2248,6 +2248,32 @@ NULL NULL drop table t1, t2; set optimizer_switch=@subselect4_tmp; # +# MDEV-3928 Assertion `example' failed in Item_cache::is_expensive_processor with a 2-level IN subquery +# +CREATE TABLE t1 (a1 INT, b1 TIME) ENGINE=MyISAM; +INSERT INTO t1 VALUES (4,'21:22:34'),(6,'10:50:38'); +CREATE TABLE t2 (a2 INT, b2 TIME) ENGINE=MyISAM; +INSERT INTO t2 VALUES (8, '06:17:39'); +CREATE TABLE t3 (a3 INT, b3 TIME) ENGINE=MyISAM; +INSERT INTO t3 VALUES (1,'00:00:01'),(7,'00:00:02'); +EXPLAIN +SELECT * FROM t1 WHERE a1 IN ( +SELECT a2 FROM t2 WHERE a2 IN ( +SELECT a3 FROM t3 WHERE b2 = b1 AND b2 <= b1 ORDER BY b3 +) +); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY t2 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where +3 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 2 Using where +SELECT * FROM t1 WHERE a1 IN ( +SELECT a2 FROM t2 WHERE a2 IN ( +SELECT a3 FROM t3 WHERE b2 = b1 AND b2 <= b1 ORDER BY b3 +) +); +a1 b1 +drop table t1, t2, t3; +# # MDEV-3899 Valgrind warnings (blocks are definitely lost) in filesort on IN subquery with SUM and DISTINCT # CREATE TABLE t1 (a INT) ENGINE=MyISAM; diff --git a/mysql-test/r/subselect_sj_jcl6.result b/mysql-test/r/subselect_sj_jcl6.result index aa7ad59fda3..959ee9f765e 100644 --- a/mysql-test/r/subselect_sj_jcl6.result +++ b/mysql-test/r/subselect_sj_jcl6.result @@ -2988,7 +2988,7 @@ EXPLAIN SELECT a FROM t1 t WHERE a IN (SELECT b FROM t1, t2 WHERE b = a) GROUP BY a HAVING a != 'z'; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t index idx_a idx_a 4 NULL 3 Using index; Using temporary; Using filesort +1 PRIMARY t index idx_a idx_a 4 NULL 3 Using index 1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 Using where 2 MATERIALIZED t1 ref idx_a idx_a 4 test.t2.b 2 Using index @@ -3002,7 +3002,7 @@ EXPLAIN SELECT a FROM t1 t WHERE a IN (SELECT b FROM t1, t2 WHERE b = a) GROUP BY a HAVING a != 'z'; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t index idx_a idx_a 4 NULL 3 Using index; Using temporary; Using filesort +1 PRIMARY t index idx_a idx_a 4 NULL 3 Using index 1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 Using where 2 MATERIALIZED t1 ref idx_a idx_a 4 test.t2.b 2 Using index diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result index 8d2d1561456..8f32ca1f566 100644 --- a/mysql-test/r/view.result +++ b/mysql-test/r/view.result @@ -4780,6 +4780,30 @@ id id bbb iddqd val1 drop view v2; drop table t1,t2; # +# MDEV-3914: Wrong result (NULLs instead of real values) +# with INNER and RIGHT JOIN in a FROM subquery, derived_merge=on +# (fix of above MDEV-486 fix) +# +SET @save_optimizer_switch_MDEV_3914=@@optimizer_switch; +SET optimizer_switch = 'derived_merge=on'; +CREATE TABLE t1 (a INT) ENGINE=MyISAM; +INSERT INTO t1 VALUES (1),(2); +CREATE TABLE t2 (b INT) ENGINE=MyISAM; +INSERT INTO t2 VALUES (3),(4); +CREATE TABLE t3 (c INT) ENGINE=MyISAM; +INSERT INTO t3 VALUES (5),(6); +SELECT * FROM ( SELECT c FROM ( t1 INNER JOIN t2 ) RIGHT JOIN t3 ON a = c ) AS alias; +c +5 +6 +SET optimizer_switch = 'derived_merge=off'; +SELECT * FROM ( SELECT c FROM ( t1 INNER JOIN t2 ) RIGHT JOIN t3 ON a = c ) AS alias; +c +5 +6 +SET optimizer_switch=@save_optimizer_switch_MDEV_3914; +drop table t1,t2,t3; +# # MDEV-589 (LP BUG#1007647) : # Assertion `vcol_table == 0 || vcol_table == table' failed in # fill_record(THD*, List<Item>&, List<Item>&, bool) @@ -4822,6 +4846,23 @@ f2 f1 7 NULL 8 NULL drop tables t1,t2; +# +# MDEV-3876 Wrong result (extra rows) with ALL subquery +# from a MERGE view (duplicate of MDEV-3873) +# +CREATE TABLE t1 (a INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t1 VALUES (1),(2); +CREATE TABLE t2 (b INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t2 VALUES (1),(3); +CREATE OR REPLACE ALGORITHM=MERGE VIEW v1 AS SELECT * FROM t2; +SELECT a FROM t1 AS alias +WHERE a >= ALL ( +SELECT b FROM t1 LEFT JOIN v1 ON (a = b) +WHERE a = alias.a ); +a +1 +drop view v1; +drop table t1,t2; # ----------------------------------------------------------------- # -- End of 5.3 tests. # ----------------------------------------------------------------- diff --git a/mysql-test/suite/binlog/r/binlog_database.result b/mysql-test/suite/binlog/r/binlog_database.result index 0eaed3c97d7..99066d632ac 100644 --- a/mysql-test/suite/binlog/r/binlog_database.result +++ b/mysql-test/suite/binlog/r/binlog_database.result @@ -58,7 +58,7 @@ Tables_in_db1 t2 show binlog events from <binlog_start>; Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 # Query # # use `db1`; drop table `t1` +master-bin.000001 # Query # # use `db1`; DROP TABLE `t1` DROP TABLE t3; DROP DATABASE db1; set binlog_format=mixed; @@ -121,7 +121,7 @@ Tables_in_db1 t2 show binlog events from <binlog_start>; Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 # Query # # use `db1`; drop table `t1` +master-bin.000001 # Query # # use `db1`; DROP TABLE `t1` DROP TABLE t3; DROP DATABASE db1; set binlog_format=row; @@ -185,7 +185,7 @@ Tables_in_db1 t2 show binlog events from <binlog_start>; Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 # Query # # use `db1`; drop table `t1` +master-bin.000001 # Query # # use `db1`; DROP TABLE `t1` DROP TABLE t3; DROP DATABASE db1; show databases; diff --git a/mysql-test/r/mysqlbinlog-cp932.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog-cp932.result index cbf6159516a..cbf6159516a 100644 --- a/mysql-test/r/mysqlbinlog-cp932.result +++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog-cp932.result diff --git a/mysql-test/r/mysqlbinlog2.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result index 806cf74479e..806cf74479e 100644 --- a/mysql-test/r/mysqlbinlog2.result +++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog2.result diff --git a/mysql-test/r/mysqlbinlog_base64.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_base64.result index 72d49c16cc8..72d49c16cc8 100644 --- a/mysql-test/r/mysqlbinlog_base64.result +++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_base64.result diff --git a/mysql-test/r/mysqlbinlog_row.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result index ce46b7ea898..84a6d6c3baf 100644 --- a/mysql-test/r/mysqlbinlog_row.result +++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result @@ -357,7 +357,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */ # at # @@ -374,7 +374,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ # at # @@ -401,7 +401,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'0000001' /* BIT(7) meta=7 nullable=1 is_null=0 */ # at # @@ -418,7 +418,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'0000010' /* BIT(7) meta=7 nullable=1 is_null=0 */ # at # @@ -435,7 +435,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'0000100' /* BIT(7) meta=7 nullable=1 is_null=0 */ # at # @@ -452,7 +452,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'0001000' /* BIT(7) meta=7 nullable=1 is_null=0 */ # at # @@ -469,7 +469,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'0010000' /* BIT(7) meta=7 nullable=1 is_null=0 */ # at # @@ -486,7 +486,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'0100000' /* BIT(7) meta=7 nullable=1 is_null=0 */ # at # @@ -503,7 +503,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'1000000' /* BIT(7) meta=7 nullable=1 is_null=0 */ # at # @@ -520,7 +520,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'1111111' /* BIT(7) meta=7 nullable=1 is_null=0 */ # at # @@ -537,7 +537,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=b'1111111' /* BIT(7) meta=7 nullable=1 is_null=0 */ # at # @@ -554,7 +554,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=b'0010000' /* BIT(7) meta=7 nullable=1 is_null=0 */ ### SET @@ -583,7 +583,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'00010010010010001001' /* BIT(20) meta=516 nullable=1 is_null=0 */ ### @2='ab' /* STRING(2) meta=65026 nullable=1 is_null=0 */ @@ -611,7 +611,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'0000000000000000000000000000000000000000000000000000000000000001' /* BIT(64) meta=2048 nullable=1 is_null=0 */ # at # @@ -628,7 +628,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'0000000000000000000000000000000000000000000000000000000000000010' /* BIT(64) meta=2048 nullable=1 is_null=0 */ # at # @@ -645,7 +645,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'0000000000000000000000000000000000000000000000000000000010000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ # at # @@ -662,7 +662,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ # at # @@ -689,13 +689,13 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=1 /* TINYINT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=2 /* TINYINT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=3 /* TINYINT meta=0 nullable=1 is_null=0 */ # at # @@ -712,7 +712,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ # at # @@ -729,7 +729,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=1 /* TINYINT meta=0 nullable=1 is_null=0 */ ### SET @@ -748,7 +748,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ # at # @@ -775,10 +775,10 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ # at # @@ -795,7 +795,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ # at # @@ -822,7 +822,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=1 /* TINYINT meta=0 nullable=1 is_null=0 */ # at # @@ -839,7 +839,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=1 /* TINYINT meta=0 nullable=1 is_null=0 */ # at # @@ -866,7 +866,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=1234 /* SHORTINT meta=0 nullable=1 is_null=0 */ # at # @@ -883,7 +883,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=1234 /* SHORTINT meta=0 nullable=1 is_null=0 */ # at # @@ -910,10 +910,10 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=-32768 (32768) /* SHORTINT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ # at # @@ -930,7 +930,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=-32768 (32768) /* SHORTINT meta=0 nullable=1 is_null=0 */ ### SET @@ -949,7 +949,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ # at # @@ -976,7 +976,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=12345 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ # at # @@ -993,7 +993,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=12345 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ # at # @@ -1020,10 +1020,10 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=-8388608 (8388608) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ # at # @@ -1040,7 +1040,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=-8388608 (8388608) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ ### SET @@ -1059,7 +1059,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ # at # @@ -1086,7 +1086,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=123456 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -1103,7 +1103,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=123456 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -1130,10 +1130,10 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=-2147483648 (2147483648) /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -1150,7 +1150,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=-2147483648 (2147483648) /* INT meta=0 nullable=1 is_null=0 */ ### SET @@ -1169,7 +1169,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -1196,7 +1196,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=1234567890 /* LONGINT meta=0 nullable=1 is_null=0 */ # at # @@ -1213,7 +1213,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=1234567890 /* LONGINT meta=0 nullable=1 is_null=0 */ # at # @@ -1240,10 +1240,10 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=-9223372036854775808 (9223372036854775808) /* LONGINT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ # at # @@ -1260,7 +1260,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=-9223372036854775808 (9223372036854775808) /* LONGINT meta=0 nullable=1 is_null=0 */ ### SET @@ -1279,7 +1279,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ # at # @@ -1306,7 +1306,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=123.223... /* FLOAT meta=4 nullable=1 is_null=0 */ # at # @@ -1323,7 +1323,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=123.223... /* FLOAT meta=4 nullable=1 is_null=0 */ # at # @@ -1350,7 +1350,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=123434.223... /* DOUBLE meta=8 nullable=1 is_null=0 */ # at # @@ -1367,7 +1367,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=123434.223... /* DOUBLE meta=8 nullable=1 is_null=0 */ # at # @@ -1394,7 +1394,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=000000124.450000000 /* DECIMAL(10,5) meta=2565 nullable=1 is_null=0 */ # at # @@ -1411,7 +1411,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=-000000543.210000000 /* DECIMAL(10,5) meta=2565 nullable=1 is_null=0 */ # at # @@ -1428,7 +1428,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=000000124.450000000 /* DECIMAL(10,5) meta=2565 nullable=1 is_null=0 */ # at # @@ -1455,7 +1455,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2001:02:03' /* DATE meta=0 nullable=1 is_null=0 */ # at # @@ -1472,7 +1472,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2001:02:03' /* DATE meta=0 nullable=1 is_null=0 */ # at # @@ -1499,7 +1499,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=2001-02-03 10:20:30 /* DATETIME meta=0 nullable=1 is_null=0 */ # at # @@ -1516,7 +1516,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=2001-02-03 10:20:30 /* DATETIME meta=0 nullable=1 is_null=0 */ # at # @@ -1544,7 +1544,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=981184830 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ # at # @@ -1561,7 +1561,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=981184830 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ # at # @@ -1588,7 +1588,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='11:22:33' /* TIME meta=0 nullable=1 is_null=0 */ # at # @@ -1605,7 +1605,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='11:22:33' /* TIME meta=0 nullable=1 is_null=0 */ # at # @@ -1632,7 +1632,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=2001 /* YEAR meta=0 nullable=1 is_null=0 */ # at # @@ -1649,7 +1649,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=2001 /* YEAR meta=0 nullable=1 is_null=0 */ # at # @@ -1676,7 +1676,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ # at # @@ -1693,7 +1693,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ # at # @@ -1720,7 +1720,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ # at # @@ -1737,7 +1737,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ # at # @@ -1764,7 +1764,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='b' /* STRING(1) meta=65025 nullable=1 is_null=0 */ # at # @@ -1781,7 +1781,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='b' /* STRING(1) meta=65025 nullable=1 is_null=0 */ # at # @@ -1808,7 +1808,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* STRING(255) meta=65279 nullable=1 is_null=0 */ # at # @@ -1825,7 +1825,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* STRING(255) meta=65279 nullable=1 is_null=0 */ # at # @@ -1852,7 +1852,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */ # at # @@ -1869,7 +1869,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */ # at # @@ -1896,7 +1896,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ # at # @@ -1913,7 +1913,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ # at # @@ -1940,7 +1940,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */ # at # @@ -1957,7 +1957,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */ # at # @@ -1984,7 +1984,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* STRING(765) meta=57085 nullable=1 is_null=0 */ # at # @@ -2001,7 +2001,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* STRING(765) meta=57085 nullable=1 is_null=0 */ # at # @@ -2018,10 +2018,10 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* STRING(765) meta=57085 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* STRING(765) meta=57085 nullable=1 is_null=0 */ # at # @@ -2048,7 +2048,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */ # at # @@ -2065,7 +2065,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */ # at # @@ -2092,7 +2092,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ # at # @@ -2109,7 +2109,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ # at # @@ -2136,7 +2136,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */ # at # @@ -2153,7 +2153,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */ # at # @@ -2180,7 +2180,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a' /* STRING(510) meta=61182 nullable=1 is_null=0 */ # at # @@ -2197,7 +2197,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß' /* STRING(510) meta=61182 nullable=1 is_null=0 */ # at # @@ -2216,10 +2216,10 @@ BEGIN #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a' /* STRING(510) meta=61182 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß' /* STRING(510) meta=61182 nullable=1 is_null=0 */ # at # @@ -2246,7 +2246,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ # at # @@ -2263,7 +2263,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ # at # @@ -2290,7 +2290,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ # at # @@ -2307,7 +2307,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ # at # @@ -2334,7 +2334,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ # at # @@ -2351,7 +2351,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ # at # @@ -2378,7 +2378,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ # at # @@ -2395,7 +2395,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ # at # @@ -2422,7 +2422,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ # at # @@ -2439,7 +2439,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ # at # @@ -2466,7 +2466,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='a' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ # at # @@ -2483,7 +2483,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='a' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ # at # @@ -2510,7 +2510,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ # at # @@ -2527,7 +2527,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ # at # @@ -2544,10 +2544,10 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ # at # @@ -2574,7 +2574,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ # at # @@ -2591,7 +2591,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ # at # @@ -2608,10 +2608,10 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ # at # @@ -2638,7 +2638,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ # at # @@ -2655,7 +2655,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ # at # @@ -2682,7 +2682,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x00a' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ # at # @@ -2699,7 +2699,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='\x00a' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ # at # @@ -2726,7 +2726,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ # at # @@ -2743,7 +2743,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ # at # @@ -2770,7 +2770,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ # at # @@ -2787,7 +2787,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ # at # @@ -2814,7 +2814,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ # at # @@ -2831,7 +2831,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x02' /* STRING(1) meta=65025 nullable=1 is_null=0 */ # at # @@ -2848,7 +2848,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ # at # @@ -2865,7 +2865,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ # at # @@ -2892,7 +2892,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ # at # @@ -2909,7 +2909,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ # at # @@ -2936,7 +2936,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ # at # @@ -2953,7 +2953,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x02' /* STRING(1) meta=65025 nullable=1 is_null=0 */ # at # @@ -2970,7 +2970,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ # at # @@ -2987,7 +2987,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ # at # @@ -3014,7 +3014,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ # at # @@ -3031,7 +3031,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x02' /* STRING(255) meta=65279 nullable=1 is_null=0 */ # at # @@ -3048,7 +3048,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a' /* STRING(255) meta=65279 nullable=1 is_null=0 */ # at # @@ -3065,7 +3065,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ # at # @@ -3092,7 +3092,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ # at # @@ -3109,7 +3109,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ # at # @@ -3136,7 +3136,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x00' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ # at # @@ -3153,7 +3153,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x02' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ # at # @@ -3170,7 +3170,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ # at # @@ -3187,7 +3187,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='\x02' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ # at # @@ -3214,7 +3214,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x00' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ # at # @@ -3231,7 +3231,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ # at # @@ -3248,7 +3248,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ # at # @@ -3265,7 +3265,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='\x02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ # at # @@ -3292,7 +3292,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='tinyblob1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ # at # @@ -3309,7 +3309,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='tinyblob1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ # at # @@ -3336,7 +3336,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='blob1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ # at # @@ -3353,7 +3353,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='blob1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ # at # @@ -3380,7 +3380,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='mediumblob1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ # at # @@ -3397,7 +3397,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='mediumblob1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ # at # @@ -3424,7 +3424,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='longblob1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ # at # @@ -3441,7 +3441,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='longblob1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ # at # @@ -3468,7 +3468,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='tinytext1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ # at # @@ -3485,7 +3485,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='tinytext1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ # at # @@ -3512,7 +3512,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='text1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ # at # @@ -3529,7 +3529,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='text1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ # at # @@ -3556,7 +3556,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='mediumtext1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ # at # @@ -3573,7 +3573,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='mediumtext1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ # at # @@ -3600,7 +3600,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='longtext1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ # at # @@ -3617,7 +3617,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='longtext1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ # at # @@ -3644,7 +3644,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x001' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ # at # @@ -3661,7 +3661,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x001' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ # at # @@ -3688,7 +3688,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x00t\x00e\x00x\x00t\x001' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ # at # @@ -3705,7 +3705,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='\x00t\x00e\x00x\x00t\x001' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ # at # @@ -3732,7 +3732,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x001' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ # at # @@ -3749,7 +3749,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x001' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ # at # @@ -3776,7 +3776,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x001' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ # at # @@ -3793,7 +3793,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x001' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ # at # @@ -3820,7 +3820,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ # at # @@ -3837,7 +3837,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ # at # @@ -3864,7 +3864,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'00000011' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ # at # @@ -3881,7 +3881,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'00000101' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ # at # @@ -3898,7 +3898,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ # at # @@ -3915,7 +3915,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ # at # @@ -3932,7 +3932,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'00001111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ # at # @@ -3949,7 +3949,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'00011111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ # at # @@ -3966,7 +3966,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'00111111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ # at # @@ -3983,7 +3983,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=b'00000011' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ # at # @@ -4015,7 +4015,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=1 /* INT meta=0 nullable=0 is_null=0 */ ### @2=0 /* INT meta=0 nullable=0 is_null=0 */ @@ -4033,7 +4033,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=0 /* INT meta=0 nullable=0 is_null=0 */ ### @2=1 /* INT meta=0 nullable=0 is_null=0 */ @@ -4051,7 +4051,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1=1 /* INT meta=0 nullable=0 is_null=0 */ ### @2=0 /* INT meta=0 nullable=0 is_null=0 */ @@ -4069,7 +4069,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1=0 /* INT meta=0 nullable=0 is_null=0 */ ### @2=1 /* INT meta=0 nullable=0 is_null=0 */ @@ -4091,28 +4091,28 @@ BEGIN #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=1 /* INT meta=0 nullable=0 is_null=0 */ ### @2=0 /* INT meta=0 nullable=0 is_null=0 */ ### SET ### @1=10 /* INT meta=0 nullable=0 is_null=0 */ ### @2=0 /* INT meta=0 nullable=0 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=0 /* INT meta=0 nullable=0 is_null=0 */ ### @2=1 /* INT meta=0 nullable=0 is_null=0 */ ### SET ### @1=10 /* INT meta=0 nullable=0 is_null=0 */ ### @2=1 /* INT meta=0 nullable=0 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1=1 /* INT meta=0 nullable=0 is_null=0 */ ### @2=0 /* INT meta=0 nullable=0 is_null=0 */ ### SET ### @1=20 /* INT meta=0 nullable=0 is_null=0 */ ### @2=0 /* INT meta=0 nullable=0 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1=0 /* INT meta=0 nullable=0 is_null=0 */ ### @2=1 /* INT meta=0 nullable=0 is_null=0 */ diff --git a/mysql-test/r/mysqlbinlog_row_innodb.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result index 63b64489a37..31d7ee0df98 100644 --- a/mysql-test/r/mysqlbinlog_row_innodb.result +++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result @@ -2363,7 +2363,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -2456,7 +2456,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -2551,7 +2551,7 @@ BEGIN #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */ ### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ @@ -2632,7 +2632,7 @@ BEGIN ### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */ ### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */ ### @79=3 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -2725,7 +2725,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -2898,7 +2898,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -3071,7 +3071,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */ ### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ @@ -3244,7 +3244,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -3417,7 +3417,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -3510,7 +3510,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -3603,7 +3603,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -3696,7 +3696,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */ ### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ @@ -3901,47 +3901,47 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:08' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-08' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=8 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -3958,7 +3958,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -3967,7 +3967,7 @@ BEGIN ### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=1 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -3976,7 +3976,7 @@ BEGIN ### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -3985,7 +3985,7 @@ BEGIN ### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -3994,7 +3994,7 @@ BEGIN ### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -4003,7 +4003,7 @@ BEGIN ### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -4012,7 +4012,7 @@ BEGIN ### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -4033,37 +4033,37 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=1 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -4286,47 +4286,47 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:01' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=11 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:08' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=18 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4343,47 +4343,47 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:01' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=21 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:08' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=28 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4400,47 +4400,47 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:01' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=31 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:08' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=38 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4465,7 +4465,7 @@ BEGIN #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:01:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4474,7 +4474,7 @@ BEGIN ### @1='2018:01:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:01:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4483,7 +4483,7 @@ BEGIN ### @1='2018:01:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:01:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4492,7 +4492,7 @@ BEGIN ### @1='2018:01:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:01:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4501,7 +4501,7 @@ BEGIN ### @1='2018:01:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:01:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4510,7 +4510,7 @@ BEGIN ### @1='2018:01:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:01:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4519,7 +4519,7 @@ BEGIN ### @1='2018:01:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1='2008:02:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4528,7 +4528,7 @@ BEGIN ### @1='2028:02:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1='2008:02:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4537,7 +4537,7 @@ BEGIN ### @1='2028:02:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1='2008:02:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4546,7 +4546,7 @@ BEGIN ### @1='2028:02:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1='2008:02:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4555,7 +4555,7 @@ BEGIN ### @1='2028:02:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1='2008:02:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4564,7 +4564,7 @@ BEGIN ### @1='2028:02:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1='2008:02:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4573,7 +4573,7 @@ BEGIN ### @1='2028:02:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t3 +### UPDATE `test`.`t3` ### WHERE ### @1='2008:03:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4582,7 +4582,7 @@ BEGIN ### @1='2038:03:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t3 +### UPDATE `test`.`t3` ### WHERE ### @1='2008:03:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4591,7 +4591,7 @@ BEGIN ### @1='2038:03:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t3 +### UPDATE `test`.`t3` ### WHERE ### @1='2008:03:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4600,7 +4600,7 @@ BEGIN ### @1='2038:03:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t3 +### UPDATE `test`.`t3` ### WHERE ### @1='2008:03:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4609,7 +4609,7 @@ BEGIN ### @1='2038:03:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t3 +### UPDATE `test`.`t3` ### WHERE ### @1='2008:03:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4618,7 +4618,7 @@ BEGIN ### @1='2038:03:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t3 +### UPDATE `test`.`t3` ### WHERE ### @1='2008:03:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4647,92 +4647,92 @@ BEGIN #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2018:01:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2018:01:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2018:01:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2018:01:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2018:01:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2018:01:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1='2028:02:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1='2028:02:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1='2028:02:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1='2028:02:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1='2028:02:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1='2028:02:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t3 +### DELETE FROM `test`.`t3` ### WHERE ### @1='2038:03:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t3 +### DELETE FROM `test`.`t3` ### WHERE ### @1='2038:03:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t3 +### DELETE FROM `test`.`t3` ### WHERE ### @1='2038:03:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t3 +### DELETE FROM `test`.`t3` ### WHERE ### @1='2038:03:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t3 +### DELETE FROM `test`.`t3` ### WHERE ### @1='2038:03:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t3 +### DELETE FROM `test`.`t3` ### WHERE ### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4829,17 +4829,17 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2=2 /* INT meta=0 nullable=1 is_null=0 */ ### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2=4 /* INT meta=0 nullable=1 is_null=0 */ ### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=5 /* INT meta=0 nullable=1 is_null=0 */ ### @2=6 /* INT meta=0 nullable=1 is_null=0 */ diff --git a/mysql-test/r/mysqlbinlog_row_myisam.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result index 6e8c7cd64f9..c268d20c87d 100644 --- a/mysql-test/r/mysqlbinlog_row_myisam.result +++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result @@ -2363,7 +2363,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -2458,7 +2458,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -2555,7 +2555,7 @@ BEGIN #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */ ### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ @@ -2636,7 +2636,7 @@ BEGIN ### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */ ### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */ ### @79=3 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -2731,7 +2731,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -2906,7 +2906,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -3081,7 +3081,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */ ### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ @@ -3256,7 +3256,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -3431,7 +3431,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -3526,7 +3526,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -3621,7 +3621,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ ### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ @@ -3716,7 +3716,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */ ### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ @@ -3923,47 +3923,47 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:08' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-08' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=8 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -3982,7 +3982,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -3991,7 +3991,7 @@ BEGIN ### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=1 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -4000,7 +4000,7 @@ BEGIN ### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -4009,7 +4009,7 @@ BEGIN ### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -4018,7 +4018,7 @@ BEGIN ### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -4027,7 +4027,7 @@ BEGIN ### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -4036,7 +4036,7 @@ BEGIN ### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -4059,37 +4059,37 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=1 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ @@ -4314,47 +4314,47 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:01' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=11 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:08' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=18 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1='2008:01:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4373,47 +4373,47 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:01' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=21 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:08' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=28 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1='2008:02:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4432,47 +4432,47 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:01' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=31 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:08' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=38 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test.t3 +### INSERT INTO `test`.`t3` ### SET ### @1='2008:03:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4499,7 +4499,7 @@ BEGIN #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:01:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4508,7 +4508,7 @@ BEGIN ### @1='2018:01:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:01:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4517,7 +4517,7 @@ BEGIN ### @1='2018:01:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:01:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4526,7 +4526,7 @@ BEGIN ### @1='2018:01:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:01:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4535,7 +4535,7 @@ BEGIN ### @1='2018:01:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:01:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4544,7 +4544,7 @@ BEGIN ### @1='2018:01:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1='2008:01:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4553,7 +4553,7 @@ BEGIN ### @1='2018:01:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1='2008:02:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4562,7 +4562,7 @@ BEGIN ### @1='2028:02:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1='2008:02:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4571,7 +4571,7 @@ BEGIN ### @1='2028:02:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1='2008:02:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4580,7 +4580,7 @@ BEGIN ### @1='2028:02:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1='2008:02:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4589,7 +4589,7 @@ BEGIN ### @1='2028:02:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1='2008:02:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4598,7 +4598,7 @@ BEGIN ### @1='2028:02:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1='2008:02:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4607,7 +4607,7 @@ BEGIN ### @1='2028:02:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t3 +### UPDATE `test`.`t3` ### WHERE ### @1='2008:03:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4616,7 +4616,7 @@ BEGIN ### @1='2038:03:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t3 +### UPDATE `test`.`t3` ### WHERE ### @1='2008:03:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4625,7 +4625,7 @@ BEGIN ### @1='2038:03:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t3 +### UPDATE `test`.`t3` ### WHERE ### @1='2008:03:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4634,7 +4634,7 @@ BEGIN ### @1='2038:03:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t3 +### UPDATE `test`.`t3` ### WHERE ### @1='2008:03:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4643,7 +4643,7 @@ BEGIN ### @1='2038:03:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t3 +### UPDATE `test`.`t3` ### WHERE ### @1='2008:03:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4652,7 +4652,7 @@ BEGIN ### @1='2038:03:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### UPDATE test.t3 +### UPDATE `test`.`t3` ### WHERE ### @1='2008:03:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4683,92 +4683,92 @@ BEGIN #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2018:01:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2018:01:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2018:01:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2018:01:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2018:01:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1='2018:01:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1='2028:02:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1='2028:02:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1='2028:02:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1='2028:02:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1='2028:02:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1='2028:02:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t3 +### DELETE FROM `test`.`t3` ### WHERE ### @1='2038:03:02' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t3 +### DELETE FROM `test`.`t3` ### WHERE ### @1='2038:03:03' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t3 +### DELETE FROM `test`.`t3` ### WHERE ### @1='2038:03:04' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=4 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t3 +### DELETE FROM `test`.`t3` ### WHERE ### @1='2038:03:05' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=5 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t3 +### DELETE FROM `test`.`t3` ### WHERE ### @1='2038:03:06' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @3=6 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test.t3 +### DELETE FROM `test`.`t3` ### WHERE ### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ @@ -4867,17 +4867,17 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2=2 /* INT meta=0 nullable=1 is_null=0 */ ### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2=4 /* INT meta=0 nullable=1 is_null=0 */ ### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=5 /* INT meta=0 nullable=1 is_null=0 */ ### @2=6 /* INT meta=0 nullable=1 is_null=0 */ diff --git a/mysql-test/r/mysqlbinlog_row_trans.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result index 33c997d76a7..5d08a1095a9 100644 --- a/mysql-test/r/mysqlbinlog_row_trans.result +++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result @@ -164,15 +164,15 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ @@ -180,21 +180,21 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### SET ### @1=11 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### SET ### @1=12 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ @@ -205,7 +205,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=12 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ @@ -231,15 +231,15 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ @@ -257,21 +257,21 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### SET ### @1=11 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### SET ### @1=12 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ @@ -292,7 +292,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1=12 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ @@ -310,15 +310,15 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### INSERT INTO test.t1 +### INSERT INTO `test`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ @@ -326,21 +326,21 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### SET ### @1=11 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### SET ### @1=12 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### UPDATE test.t1 +### UPDATE `test`.`t1` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ @@ -351,7 +351,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t1 +### DELETE FROM `test`.`t1` ### WHERE ### @1=12 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ @@ -377,15 +377,15 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### INSERT INTO test.t2 +### INSERT INTO `test`.`t2` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ @@ -403,21 +403,21 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### SET ### @1=11 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### SET ### @1=12 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ -### UPDATE test.t2 +### UPDATE `test`.`t2` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ @@ -438,7 +438,7 @@ BEGIN # at # #010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # #010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test.t2 +### DELETE FROM `test`.`t2` ### WHERE ### @1=12 /* INT meta=0 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ diff --git a/mysql-test/suite/binlog/r/binlog_row_annotate.result b/mysql-test/suite/binlog/r/binlog_row_annotate.result index 0c008661784..a305f39fb16 100644 --- a/mysql-test/suite/binlog/r/binlog_row_annotate.result +++ b/mysql-test/suite/binlog/r/binlog_row_annotate.result @@ -113,13 +113,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -139,13 +139,13 @@ BEGIN #Q> INSERT INTO test2.t2 VALUES (1), (2), (3) #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -165,13 +165,13 @@ BEGIN #Q> INSERT INTO test3.t3 VALUES (1), (2), (3) #010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test3.t3 +### INSERT INTO `test3`.`t3` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test3.t3 +### INSERT INTO `test3`.`t3` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test3.t3 +### INSERT INTO `test3`.`t3` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -197,22 +197,22 @@ BEGIN #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -232,13 +232,13 @@ BEGIN #Q> INSERT INTO test2.v2 VALUES (1), (2), (3) #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -260,13 +260,13 @@ BEGIN #Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3 #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -323,13 +323,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -379,13 +379,13 @@ BEGIN #Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3 #010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -483,13 +483,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -507,13 +507,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -531,13 +531,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test3.t3 +### INSERT INTO `test3`.`t3` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test3.t3 +### INSERT INTO `test3`.`t3` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test3.t3 +### INSERT INTO `test3`.`t3` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -559,22 +559,22 @@ BEGIN #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -592,13 +592,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -616,13 +616,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -699,13 +699,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -725,13 +725,13 @@ BEGIN #Q> INSERT INTO test2.t2 VALUES (1), (2), (3) #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -751,13 +751,13 @@ BEGIN #Q> INSERT INTO test3.t3 VALUES (1), (2), (3) #010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test3.t3 +### INSERT INTO `test3`.`t3` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test3.t3 +### INSERT INTO `test3`.`t3` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test3.t3 +### INSERT INTO `test3`.`t3` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -783,22 +783,22 @@ BEGIN #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -818,13 +818,13 @@ BEGIN #Q> INSERT INTO test2.v2 VALUES (1), (2), (3) #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -846,13 +846,13 @@ BEGIN #Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3 #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -909,13 +909,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -965,13 +965,13 @@ BEGIN #Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3 #010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -1069,13 +1069,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test1.t1 +### INSERT INTO `test1`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -1092,13 +1092,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -1115,13 +1115,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test3`.`t3` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test3.t3 +### INSERT INTO `test3`.`t3` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test3.t3 +### INSERT INTO `test3`.`t3` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test3.t3 +### INSERT INTO `test3`.`t3` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -1142,22 +1142,22 @@ BEGIN #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test1.t1 +### DELETE FROM `test1`.`t1` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -1174,13 +1174,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -1197,13 +1197,13 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ -### DELETE FROM test2.t2 +### DELETE FROM `test2`.`t2` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ # at # diff --git a/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result b/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result index 9c780390ca8..08919db5ed1 100644 --- a/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result +++ b/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result @@ -57,11 +57,11 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2=2 /* INT meta=0 nullable=1 is_null=0 */ @@ -85,10 +85,10 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -105,7 +105,7 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM new_test1.t1 +### DELETE FROM `new_test1`.`t1` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2=1 /* INT meta=0 nullable=1 is_null=0 */ @@ -129,10 +129,10 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `new_test3`.`t3` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO new_test3.t3 +### INSERT INTO `new_test3`.`t3` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO new_test3.t3 +### INSERT INTO `new_test3`.`t3` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -149,7 +149,7 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2=3 /* INT meta=0 nullable=1 is_null=0 */ @@ -167,23 +167,23 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2=3 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=4 /* INT meta=0 nullable=1 is_null=0 */ ### @2=4 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=5 /* INT meta=0 nullable=1 is_null=0 */ ### @2=5 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=6 /* INT meta=0 nullable=1 is_null=0 */ ### @2=6 /* INT meta=0 nullable=1 is_null=0 */ @@ -201,7 +201,7 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `new_test3`.`t3` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM new_test3.t3 +### DELETE FROM `new_test3`.`t3` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -251,11 +251,11 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2=2 /* INT meta=0 nullable=1 is_null=0 */ @@ -279,10 +279,10 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO test2.t2 +### INSERT INTO `test2`.`t2` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -299,7 +299,7 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM new_test1.t1 +### DELETE FROM `new_test1`.`t1` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2=1 /* INT meta=0 nullable=1 is_null=0 */ @@ -323,10 +323,10 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `new_test3`.`t3` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO new_test3.t3 +### INSERT INTO `new_test3`.`t3` ### SET ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO new_test3.t3 +### INSERT INTO `new_test3`.`t3` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ # at # @@ -343,7 +343,7 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2=3 /* INT meta=0 nullable=1 is_null=0 */ @@ -361,23 +361,23 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `new_test1`.`t1` mapped to number # #010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2=2 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2=3 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=4 /* INT meta=0 nullable=1 is_null=0 */ ### @2=4 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=5 /* INT meta=0 nullable=1 is_null=0 */ ### @2=5 /* INT meta=0 nullable=1 is_null=0 */ -### INSERT INTO new_test1.t1 +### INSERT INTO `new_test1`.`t1` ### SET ### @1=6 /* INT meta=0 nullable=1 is_null=0 */ ### @2=6 /* INT meta=0 nullable=1 is_null=0 */ @@ -395,7 +395,7 @@ BEGIN # at # #010909 4:46:40 server id # end_log_pos # Table_map: `new_test3`.`t3` mapped to number # #010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F -### DELETE FROM new_test3.t3 +### DELETE FROM `new_test3`.`t3` ### WHERE ### @1=1 /* INT meta=0 nullable=1 is_null=0 */ # at # diff --git a/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_verbose.result b/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_verbose.result index 2687b21213a..cbb739a9c48 100644 --- a/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_verbose.result +++ b/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_verbose.result @@ -1,152 +1,152 @@ Verbose statements from : write-partial-row.binlog select replace(txt,'\r', '') as stmt from raw_binlog_rows where txt like '###%'; stmt -### INSERT INTO mysql.ndb_apply_status +### INSERT INTO `mysql`.`ndb_apply_status` ### SET ### @1=1 ### @2=25769803786 ### @3='' ### @4=0 ### @5=0 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=3 ### @2=3 ### @3=3 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=1 ### @2=1 ### @3=1 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=2 ### @2=2 ### @3=2 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=4 ### @2=4 ### @3=4 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=4 ### @3=40 -### DELETE FROM test.ba +### DELETE FROM `test`.`ba` ### WHERE ### @1=2 drop table raw_binlog_rows; Verbose statements from : write-full-row.binlog select replace(txt,'\r', '') as stmt from raw_binlog_rows where txt like '###%'; stmt -### INSERT INTO mysql.ndb_apply_status +### INSERT INTO `mysql`.`ndb_apply_status` ### SET ### @1=2 ### @2=25769803786 ### @3='' ### @4=0 ### @5=0 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=3 ### @2=3 ### @3=3 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=1 ### @2=1 ### @3=1 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=2 ### @2=2 ### @3=2 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=4 ### @2=4 ### @3=4 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=4 ### @2=4 ### @3=40 -### DELETE FROM test.ba +### DELETE FROM `test`.`ba` ### WHERE ### @1=2 drop table raw_binlog_rows; Verbose statements from : update-partial-row.binlog select replace(txt,'\r', '') as stmt from raw_binlog_rows where txt like '###%'; stmt -### INSERT INTO mysql.ndb_apply_status +### INSERT INTO `mysql`.`ndb_apply_status` ### SET ### @1=3 ### @2=25769803786 ### @3='' ### @4=0 ### @5=0 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=3 ### @2=3 ### @3=3 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=1 ### @2=1 ### @3=1 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=2 ### @2=2 ### @3=2 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=4 ### @2=4 ### @3=4 -### UPDATE test.ba +### UPDATE `test`.`ba` ### WHERE ### @1=4 ### @3=4 ### SET ### @1=4 ### @3=40 -### DELETE FROM test.ba +### DELETE FROM `test`.`ba` ### WHERE ### @1=2 drop table raw_binlog_rows; Verbose statements from : update-full-row.binlog select replace(txt,'\r', '') as stmt from raw_binlog_rows where txt like '###%'; stmt -### INSERT INTO mysql.ndb_apply_status +### INSERT INTO `mysql`.`ndb_apply_status` ### SET ### @1=4 ### @2=25769803786 ### @3='' ### @4=0 ### @5=0 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=3 ### @2=3 ### @3=3 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=1 ### @2=1 ### @3=1 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=2 ### @2=2 ### @3=2 -### INSERT INTO test.ba +### INSERT INTO `test`.`ba` ### SET ### @1=4 ### @2=4 ### @3=4 -### UPDATE test.ba +### UPDATE `test`.`ba` ### WHERE ### @1=4 ### @2=4 @@ -155,7 +155,7 @@ stmt ### @1=4 ### @2=4 ### @3=40 -### DELETE FROM test.ba +### DELETE FROM `test`.`ba` ### WHERE ### @1=2 drop table raw_binlog_rows; diff --git a/mysql-test/t/mysqlbinlog-cp932-master.opt b/mysql-test/suite/binlog/t/binlog_mysqlbinlog-cp932-master.opt index bb0cda4519a..bb0cda4519a 100644 --- a/mysql-test/t/mysqlbinlog-cp932-master.opt +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog-cp932-master.opt diff --git a/mysql-test/t/mysqlbinlog-cp932.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog-cp932.test index 2a210bea0e0..2a210bea0e0 100644 --- a/mysql-test/t/mysqlbinlog-cp932.test +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog-cp932.test diff --git a/mysql-test/t/mysqlbinlog2-master.opt b/mysql-test/suite/binlog/t/binlog_mysqlbinlog2-master.opt index 4d69f3359db..4d69f3359db 100644 --- a/mysql-test/t/mysqlbinlog2-master.opt +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog2-master.opt diff --git a/mysql-test/t/mysqlbinlog2.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test index 740c4078f20..740c4078f20 100644 --- a/mysql-test/t/mysqlbinlog2.test +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test diff --git a/mysql-test/t/mysqlbinlog_base64.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_base64.test index 3d3444cea1c..3d3444cea1c 100644 --- a/mysql-test/t/mysqlbinlog_base64.test +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_base64.test diff --git a/mysql-test/t/mysqlbinlog_row-master.opt b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row-master.opt index 4d69f3359db..4d69f3359db 100644 --- a/mysql-test/t/mysqlbinlog_row-master.opt +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row-master.opt diff --git a/mysql-test/t/mysqlbinlog_row.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test index 9b41c63d195..9b41c63d195 100644 --- a/mysql-test/t/mysqlbinlog_row.test +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test diff --git a/mysql-test/t/mysqlbinlog_row_innodb-master.opt b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_innodb-master.opt index 4d69f3359db..4d69f3359db 100644 --- a/mysql-test/t/mysqlbinlog_row_innodb-master.opt +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_innodb-master.opt diff --git a/mysql-test/t/mysqlbinlog_row_innodb.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_innodb.test index cef1a712f7d..e8ba283807b 100644 --- a/mysql-test/t/mysqlbinlog_row_innodb.test +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_innodb.test @@ -20,5 +20,5 @@ let $engine_type=InnoDB; --source include/have_binlog_format_row.inc --source include/have_ucs2.inc ---source include/mysqlbinlog_row_engine.inc +--source extra/binlog_tests/mysqlbinlog_row_engine.inc diff --git a/mysql-test/t/mysqlbinlog_row_myisam-master.opt b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_myisam-master.opt index 4d69f3359db..4d69f3359db 100644 --- a/mysql-test/t/mysqlbinlog_row_myisam-master.opt +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_myisam-master.opt diff --git a/mysql-test/t/mysqlbinlog_row_myisam.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_myisam.test index e7b0335812a..9b941282399 100644 --- a/mysql-test/t/mysqlbinlog_row_myisam.test +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_myisam.test @@ -20,4 +20,4 @@ let $engine_type=MyISAM; --source include/have_binlog_format_row.inc --source include/have_ucs2.inc ---source include/mysqlbinlog_row_engine.inc +--source extra/binlog_tests/mysqlbinlog_row_engine.inc diff --git a/mysql-test/t/mysqlbinlog_row_trans-master.opt b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_trans-master.opt index 4d69f3359db..4d69f3359db 100644 --- a/mysql-test/t/mysqlbinlog_row_trans-master.opt +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_trans-master.opt diff --git a/mysql-test/t/mysqlbinlog_row_trans.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_trans.test index 24abc441c4c..24abc441c4c 100644 --- a/mysql-test/t/mysqlbinlog_row_trans.test +++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_trans.test diff --git a/mysql-test/suite/innodb/r/innodb_bug14704286.result b/mysql-test/suite/innodb/r/innodb_bug14704286.result new file mode 100644 index 00000000000..9de42cb01c8 --- /dev/null +++ b/mysql-test/suite/innodb/r/innodb_bug14704286.result @@ -0,0 +1,53 @@ +use test; +drop table if exists t1; +create table t1 (id int primary key, value int, value2 int, +value3 int, index(value,value2)) engine=innodb; +insert into t1 values +(10,10,10,10),(11,11,11,11),(12,12,12,12),(13,13,13,13),(14,14,14,14), +(15,15,15,15),(16,16,16,16),(17,17,17,17),(18,18,18,18),(19,19,19,19), +(20,20,20,20); +use test; +start transaction with consistent snapshot; +use test; +CREATE PROCEDURE update_t1() +BEGIN +DECLARE i INT DEFAULT 1; +while (i <= 5000) DO +update test.t1 set value2=value2+1, value3=value3+1 where id=12; +SET i = i + 1; +END WHILE; +END| +set autocommit=0; +CALL update_t1(); +select * from t1; +id value value2 value3 +10 10 10 10 +11 11 11 11 +12 12 5012 5012 +13 13 13 13 +14 14 14 14 +15 15 15 15 +16 16 16 16 +17 17 17 17 +18 18 18 18 +19 19 19 19 +20 20 20 20 +set autocommit=1; +select * from t1; +id value value2 value3 +10 10 10 10 +11 11 11 11 +12 12 5012 5012 +13 13 13 13 +14 14 14 14 +15 15 15 15 +16 16 16 16 +17 17 17 17 +18 18 18 18 +19 19 19 19 +20 20 20 20 +select * from t1 force index(value) where value=12; +kill query @id; +ERROR 70100: Query execution was interrupted +drop procedure if exists update_t1; +drop table if exists t1; diff --git a/mysql-test/suite/innodb/t/innodb_bug14704286.test b/mysql-test/suite/innodb/t/innodb_bug14704286.test new file mode 100644 index 00000000000..fb5e6b829a1 --- /dev/null +++ b/mysql-test/suite/innodb/t/innodb_bug14704286.test @@ -0,0 +1,95 @@ +--source include/have_innodb.inc + +# +# create test-bed to run test +# +use test; +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (id int primary key, value int, value2 int, +value3 int, index(value,value2)) engine=innodb; + +insert into t1 values +(10,10,10,10),(11,11,11,11),(12,12,12,12),(13,13,13,13),(14,14,14,14), +(15,15,15,15),(16,16,16,16),(17,17,17,17),(18,18,18,18),(19,19,19,19), +(20,20,20,20); +let $ID= `SELECT @id := CONNECTION_ID()`; + +# +# we need multiple connections as we need to keep one connection +# active with trx requesting consistent read. +# +connect (conn1, localhost, root,,); +connect (conn2, localhost, root,,); +connect (conn3, localhost, root,,); + +# +# start trx with consistent read +# +connection conn1; +use test; + +start transaction with consistent snapshot; + +# +# update table such that secondary index is updated. +# +connection conn2; +use test; +delimiter |; +CREATE PROCEDURE update_t1() +BEGIN + DECLARE i INT DEFAULT 1; + while (i <= 5000) DO + update test.t1 set value2=value2+1, value3=value3+1 where id=12; + SET i = i + 1; + END WHILE; +END| + +delimiter ;| +set autocommit=0; +CALL update_t1(); +select * from t1; +set autocommit=1; +select * from t1; + +# +# Now try to fire select query from connection-1 enforcing +# use of secondary index. +# +connection conn1; +let $ID= `SELECT @id := CONNECTION_ID()`; +#--error ER_QUERY_INTERRUPTED +--send +select * from t1 force index(value) where value=12; + +# +# select is going to take good time so let's kill query. +# +connection conn3; +let $wait_condition= + select * from information_schema.processlist where state = 'Sending data' and + info = 'select * from t1 force index(value) where value=12'; +--source include/wait_condition.inc +let $ignore= `SELECT @id := $ID`; +kill query @id; + +# +# reap the value of connection-1 +# +connection conn1; +--error ER_QUERY_INTERRUPTED +reap; + +# +# clean test-bed. +# +connection default; +disconnect conn1; +disconnect conn2; +disconnect conn3; +drop procedure if exists update_t1; +drop table if exists t1; + + diff --git a/mysql-test/suite/sys_vars/r/innodb_change_buffering_debug_basic.result b/mysql-test/suite/sys_vars/r/innodb_change_buffering_debug_basic.result index 2b74f891050..fc0078581fb 100644 --- a/mysql-test/suite/sys_vars/r/innodb_change_buffering_debug_basic.result +++ b/mysql-test/suite/sys_vars/r/innodb_change_buffering_debug_basic.result @@ -55,9 +55,6 @@ Warnings: Warning 1292 Truncated incorrect innodb_change_buffering_debug value: '-2' set global innodb_change_buffering_debug=1e1; ERROR 42000: Incorrect argument type to variable 'innodb_change_buffering_debug' -set global innodb_change_buffering_debug=2; -Warnings: -Warning 1292 Truncated incorrect innodb_change_buffering_debug value: '2' SET @@global.innodb_change_buffering_debug = @start_global_value; SELECT @@global.innodb_change_buffering_debug; @@global.innodb_change_buffering_debug diff --git a/mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test index ec1065a538e..893d1cb42e3 100644 --- a/mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test +++ b/mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test @@ -42,7 +42,9 @@ set global innodb_change_buffering_debug='foo'; set global innodb_change_buffering_debug=-2; --error ER_WRONG_TYPE_FOR_VAR set global innodb_change_buffering_debug=1e1; -set global innodb_change_buffering_debug=2; +# The value 2 is supposed to kill the server if there are unmerged changes. +# Do not try to set the value to 2 or anything that can be clamped to 2. +#set global innodb_change_buffering_debug=2; # # Cleanup diff --git a/mysql-test/t/ctype_ucs.test b/mysql-test/t/ctype_ucs.test index f3557e36a58..9f5b4153bce 100644 --- a/mysql-test/t/ctype_ucs.test +++ b/mysql-test/t/ctype_ucs.test @@ -68,6 +68,38 @@ RPAD(_ucs2 X'0420',10,_ucs2 X'0421') r; SHOW CREATE TABLE t1; DROP TABLE t1; +--echo # +--echo # Bug #51876 : crash/memory underrun when loading data with ucs2 +--echo # and reverse() function +--echo # + +--echo # Problem # 1 (original report): wrong parsing of ucs2 data +SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp.txt'; +CREATE TABLE t1(a INT); +LOAD DATA INFILE 'tmpp.txt' INTO TABLE t1 CHARACTER SET ucs2 +(@b) SET a=REVERSE(@b); +--echo # should return 2 zeroes (as the value is truncated) +SELECT * FROM t1; + +DROP TABLE t1; +let $MYSQLD_DATADIR= `select @@datadir`; +remove_file $MYSQLD_DATADIR/test/tmpp.txt; + + +--echo # Problem # 2 : if you write and read ucs2 data to a file they're lost +SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp2.txt' CHARACTER SET ucs2; +CREATE TABLE t1(a INT); +LOAD DATA INFILE 'tmpp2.txt' INTO TABLE t1 CHARACTER SET ucs2 +(@b) SET a=REVERSE(@b); +--echo # should return 0 and 1 (10 reversed) +SELECT * FROM t1; + +DROP TABLE t1; +let $MYSQLD_DATADIR= `select @@datadir`; +remove_file $MYSQLD_DATADIR/test/tmpp2.txt; + + + # # BUG3946 # diff --git a/mysql-test/t/derived_view.test b/mysql-test/t/derived_view.test index 30811be2934..c7705294ef2 100644 --- a/mysql-test/t/derived_view.test +++ b/mysql-test/t/derived_view.test @@ -1451,6 +1451,67 @@ select * from t1; drop table t1,t2; --echo # +--echo # MDEV-3873: Wrong result (extra rows) with NOT IN and +--echo # a subquery from a MERGE view +--echo # + +CREATE TABLE t1 (a INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t1 VALUES (4),(7),(0); + +CREATE TABLE t2 (b INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t2 VALUES (1),(2); + +CREATE TABLE t3 (c INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t3 VALUES (4),(6),(3); + +CREATE TABLE t4 (d INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t4 VALUES (4),(5),(3); + +CREATE TABLE tv (e INT NOT NULL) ENGINE=MyISAM; +INSERT INTO tv VALUES (1),(3); + +CREATE ALGORITHM=TEMPTABLE VIEW v_temptable AS SELECT * FROM tv; +CREATE ALGORITHM=MERGE VIEW v_merge AS SELECT * FROM tv; + +SELECT * FROM t1, t2 +WHERE a NOT IN ( SELECT e FROM t3 LEFT JOIN v_temptable ON (c = e) WHERE c <> b ) AND a < b; + +SELECT * FROM t1, t2 +WHERE a NOT IN ( SELECT e FROM t3 LEFT JOIN v_merge ON (c = e) WHERE c <> b ) AND a < b; + +SELECT * FROM t1, t2 +WHERE a NOT IN ( SELECT e FROM t3 LEFT JOIN (SELECT * FROM tv) as derived ON (c = e) WHERE c <> b ) AND a < b; + +drop view v_temptable, v_merge; +drop table t1,t2,t3,t4,tv; + +--echo # +--echo # MDEV-3912: Wrong result (extra rows) with FROM subquery inside +--echo # ALL subquery, LEFT JOIN, derived_merge. +--echo # (duplicate of MDEV-3873 (above)) +--echo # + +SET @save3912_optimizer_switch=@@optimizer_switch; +SET optimizer_switch = 'derived_merge=on,in_to_exists=on'; + +CREATE TABLE t1 (a INT) ENGINE=MyISAM; +INSERT INTO t1 VALUES (4),(8); + +CREATE TABLE t2 (b INT) ENGINE=MyISAM; +INSERT INTO t2 VALUES (7),(0); + +CREATE TABLE t3 (c INT, d INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t3 VALUES (0,4),(8,6); + +SELECT * FROM t1 +WHERE a >= ALL ( +SELECT d FROM t2 LEFT JOIN ( SELECT * FROM t3 ) AS alias ON ( c = b ) +WHERE b >= a +); +set optimizer_switch=@save3912_optimizer_switch; +drop table t1, t2, t3; + +--echo # --echo # end of 5.3 tests --echo # diff --git a/mysql-test/t/grant_lowercase.opt b/mysql-test/t/grant_lowercase.opt new file mode 100644 index 00000000000..5b0a3d41b41 --- /dev/null +++ b/mysql-test/t/grant_lowercase.opt @@ -0,0 +1 @@ +--lower-case-table-names=1 diff --git a/mysql-test/t/grant_lowercase.test b/mysql-test/t/grant_lowercase.test new file mode 100644 index 00000000000..b07cb88afd6 --- /dev/null +++ b/mysql-test/t/grant_lowercase.test @@ -0,0 +1,31 @@ +# test cases for strmov(tmp_db, db) -> strnmov replacement in sql_acl.cc +--source include/not_embedded.inc + +# +# http://seclists.org/fulldisclosure/2012/Dec/4 +# + +# in acl_get(), check_grant_db(), mysql_grant() +grant file on *.* to user1@localhost with grant option; +grant select on `a%`.* to user1@localhost with grant option; +connect (conn1,localhost,user1,,); +connection conn1; +--error ER_WRONG_DB_NAME +grant file on aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.* to 'user'@'%' identified by 'secret'; +connection default; +disconnect conn1; +drop user user1@localhost; + +# in acl_load() +call mtr.add_suppression("Incorrect database name"); +alter table mysql.host modify Db varchar(200); +alter table mysql.db modify Db varchar(200); +insert mysql.host set db=concat('=>', repeat(_utf8 'й', 200)); +insert mysql.db set db=concat('=>', repeat(_utf8 'й', 200)); +flush privileges; # shouldn't crash here +delete from mysql.host where db like '=>%'; +delete from mysql.db where db like '=>%'; +alter table mysql.host modify Db char(64); +alter table mysql.db modify Db char(64); +flush privileges; + diff --git a/mysql-test/t/group_by.test b/mysql-test/t/group_by.test index 4a7a4765385..a90fcba77fc 100644 --- a/mysql-test/t/group_by.test +++ b/mysql-test/t/group_by.test @@ -1484,6 +1484,41 @@ DROP TABLE t1; --echo the value below *must* be 1 show status like 'Created_tmp_disk_tables'; +--echo # +--echo # Bug #1002146: Unneeded filesort if usage of join buffer is not allowed +--echo # (bug mdev-645) +--echo # + +CREATE TABLE t1 (pk int PRIMARY KEY, a int, INDEX idx(a)); +INSERT INTO t1 VALUES (3,2), (2,3), (5,3), (6,4); + +CREATE TABLE t2 (pk int PRIMARY KEY, a int, INDEX idx(a)); +INSERT INTO t2 VALUES (9,0), (10,3), (6,4), (1,6), (3,100), (5,200); + +set join_cache_level=0; + +EXPLAIN +SELECT t2.a FROM t2 STRAIGHT_JOIN t1 ON t2.a <> 0 WHERE t2.a <> 6 + GROUP BY t2.a; +SELECT t2.a FROM t2 STRAIGHT_JOIN t1 ON t2.a <> 0 WHERE t2.a <> 6 + GROUP BY t2.a; + +set join_cache_level=default; + +set @save_optimizer_switch=@@optimizer_switch; +set optimizer_switch='outer_join_with_cache=off'; + +EXPLAIN +SELECT t2.a FROM t2 LEFT JOIN t1 ON t2.a <> 0 WHERE t2.a <> 6 + GROUP BY t2.a; +SELECT t2.a FROM t2 LEFT JOIN t1 ON t2.a <> 0 WHERE t2.a <> 6 + GROUP BY t2.a; + +set optimizer_switch=@save_optimizer_switch; + + +DROP TABLE t1,t2; + --echo # End of 5.3 tests --echo # diff --git a/mysql-test/t/loaddata.test b/mysql-test/t/loaddata.test index f9181f91a89..bf84bdf9194 100644 --- a/mysql-test/t/loaddata.test +++ b/mysql-test/t/loaddata.test @@ -572,36 +572,40 @@ DROP TABLE t1; connection default; disconnect con1; +############################################################################# +# The below protion is moved to ctype_ucs.test # +############################################################################# +#--echo # +#--echo # Bug #51876 : crash/memory underrun when loading data with ucs2 +#--echo # and reverse() function +#--echo # + +#--echo # Problem # 1 (original report): wrong parsing of ucs2 data +#SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp.txt'; +#CREATE TABLE t1(a INT); +#LOAD DATA INFILE 'tmpp.txt' INTO TABLE t1 CHARACTER SET ucs2 +#(@b) SET a=REVERSE(@b); +#--echo # should return 2 zeroes (as the value is truncated) +#SELECT * FROM t1; + +#DROP TABLE t1; +#let $MYSQLD_DATADIR= `select @@datadir`; +#remove_file $MYSQLD_DATADIR/test/tmpp.txt; + + +#--echo # Problem # 2 : if you write and read ucs2 data to a file they're lost +#SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp2.txt' CHARACTER SET ucs2; +#CREATE TABLE t1(a INT); +#LOAD DATA INFILE 'tmpp2.txt' INTO TABLE t1 CHARACTER SET ucs2 +#(@b) SET a=REVERSE(@b); +#--echo # should return 0 and 1 (10 reversed) +#SELECT * FROM t1; + +#DROP TABLE t1; +#let $MYSQLD_DATADIR= `select @@datadir`; +#remove_file $MYSQLD_DATADIR/test/tmpp2.txt; +###################################################################################### ---echo # ---echo # Bug #51876 : crash/memory underrun when loading data with ucs2 ---echo # and reverse() function ---echo # - ---echo # Problem # 1 (original report): wrong parsing of ucs2 data -SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp.txt'; -CREATE TABLE t1(a INT); -LOAD DATA INFILE 'tmpp.txt' INTO TABLE t1 CHARACTER SET ucs2 -(@b) SET a=REVERSE(@b); ---echo # should return 2 zeroes (as the value is truncated) -SELECT * FROM t1; - -DROP TABLE t1; -let $MYSQLD_DATADIR= `select @@datadir`; -remove_file $MYSQLD_DATADIR/test/tmpp.txt; - - ---echo # Problem # 2 : if you write and read ucs2 data to a file they're lost -SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp2.txt' CHARACTER SET ucs2; -CREATE TABLE t1(a INT); -LOAD DATA INFILE 'tmpp2.txt' INTO TABLE t1 CHARACTER SET ucs2 -(@b) SET a=REVERSE(@b); ---echo # should return 0 and 1 (10 reversed) -SELECT * FROM t1; - -DROP TABLE t1; -let $MYSQLD_DATADIR= `select @@datadir`; -remove_file $MYSQLD_DATADIR/test/tmpp2.txt; --echo # --echo # Bug#11765139 58069: LOAD DATA INFILE: VALGRIND REPORTS INVALID MEMORY READS AND WRITES WITH U diff --git a/mysql-test/t/mysql.test b/mysql-test/t/mysql.test index 069cf37c3e6..76d980dee30 100644 --- a/mysql-test/t/mysql.test +++ b/mysql-test/t/mysql.test @@ -582,5 +582,17 @@ DROP DATABASE connected_db; --remove_file $MYSQLTEST_VARDIR/tmp/one_db_1.sql --remove_file $MYSQLTEST_VARDIR/tmp/one_db_2.sql +# +# USE and names with backticks +# +--write_file $MYSQLTEST_VARDIR/tmp/backticks.sql +USE aa`bb``cc +SELECT DATABASE(); +EOF +create database `aa``bb````cc`; +--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/backticks.sql +drop database `aa``bb````cc`; + + --echo --echo End of tests diff --git a/mysql-test/t/sp_notembedded.test b/mysql-test/t/sp_notembedded.test index 39e7102079c..a1973f641e3 100644 --- a/mysql-test/t/sp_notembedded.test +++ b/mysql-test/t/sp_notembedded.test @@ -461,3 +461,16 @@ SHOW CREATE EVENT TESTE_bug11763507; DROP EVENT teste_bug11763507; --echo #END OF BUG#11763507 test. + +--echo # ------------------------------------------------------------------ +--echo # -- End of 5.1 tests +--echo # ------------------------------------------------------------------ + +# +# Restore global concurrent_insert value. Keep in the end of the test file. +# + +set @@global.concurrent_insert= @old_concurrent_insert; + +# Wait till all disconnects are completed +--source include/wait_until_count_sessions.inc diff --git a/mysql-test/t/subselect4.test b/mysql-test/t/subselect4.test index 14b62bfd2f7..d939c60ddd1 100644 --- a/mysql-test/t/subselect4.test +++ b/mysql-test/t/subselect4.test @@ -1778,6 +1778,33 @@ drop table t1, t2; set optimizer_switch=@subselect4_tmp; --echo # +--echo # MDEV-3928 Assertion `example' failed in Item_cache::is_expensive_processor with a 2-level IN subquery +--echo # + +CREATE TABLE t1 (a1 INT, b1 TIME) ENGINE=MyISAM; +INSERT INTO t1 VALUES (4,'21:22:34'),(6,'10:50:38'); + +CREATE TABLE t2 (a2 INT, b2 TIME) ENGINE=MyISAM; +INSERT INTO t2 VALUES (8, '06:17:39'); + +CREATE TABLE t3 (a3 INT, b3 TIME) ENGINE=MyISAM; +INSERT INTO t3 VALUES (1,'00:00:01'),(7,'00:00:02'); + +EXPLAIN +SELECT * FROM t1 WHERE a1 IN ( + SELECT a2 FROM t2 WHERE a2 IN ( + SELECT a3 FROM t3 WHERE b2 = b1 AND b2 <= b1 ORDER BY b3 + ) +); + +SELECT * FROM t1 WHERE a1 IN ( + SELECT a2 FROM t2 WHERE a2 IN ( + SELECT a3 FROM t3 WHERE b2 = b1 AND b2 <= b1 ORDER BY b3 + ) +); +drop table t1, t2, t3; + +--echo # --echo # MDEV-3899 Valgrind warnings (blocks are definitely lost) in filesort on IN subquery with SUM and DISTINCT --echo # diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index d299718b54a..8b10e53f06d 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -4703,6 +4703,32 @@ drop view v2; drop table t1,t2; --echo # +--echo # MDEV-3914: Wrong result (NULLs instead of real values) +--echo # with INNER and RIGHT JOIN in a FROM subquery, derived_merge=on +--echo # (fix of above MDEV-486 fix) +--echo # +SET @save_optimizer_switch_MDEV_3914=@@optimizer_switch; +SET optimizer_switch = 'derived_merge=on'; + +CREATE TABLE t1 (a INT) ENGINE=MyISAM; +INSERT INTO t1 VALUES (1),(2); + +CREATE TABLE t2 (b INT) ENGINE=MyISAM; +INSERT INTO t2 VALUES (3),(4); + +CREATE TABLE t3 (c INT) ENGINE=MyISAM; +INSERT INTO t3 VALUES (5),(6); + +SELECT * FROM ( SELECT c FROM ( t1 INNER JOIN t2 ) RIGHT JOIN t3 ON a = c ) AS alias; + +SET optimizer_switch = 'derived_merge=off'; + +SELECT * FROM ( SELECT c FROM ( t1 INNER JOIN t2 ) RIGHT JOIN t3 ON a = c ) AS alias; + +SET optimizer_switch=@save_optimizer_switch_MDEV_3914; +drop table t1,t2,t3; + +--echo # --echo # MDEV-589 (LP BUG#1007647) : --echo # Assertion `vcol_table == 0 || vcol_table == table' failed in --echo # fill_record(THD*, List<Item>&, List<Item>&, bool) @@ -4747,6 +4773,27 @@ SELECT * FROM ( drop tables t1,t2; +--echo # +--echo # MDEV-3876 Wrong result (extra rows) with ALL subquery +--echo # from a MERGE view (duplicate of MDEV-3873) +--echo # + +CREATE TABLE t1 (a INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t1 VALUES (1),(2); + +CREATE TABLE t2 (b INT NOT NULL) ENGINE=MyISAM; +INSERT INTO t2 VALUES (1),(3); + +CREATE OR REPLACE ALGORITHM=MERGE VIEW v1 AS SELECT * FROM t2; + +SELECT a FROM t1 AS alias +WHERE a >= ALL ( +SELECT b FROM t1 LEFT JOIN v1 ON (a = b) +WHERE a = alias.a ); + +drop view v1; +drop table t1,t2; + --echo # ----------------------------------------------------------------- --echo # -- End of 5.3 tests. --echo # ----------------------------------------------------------------- diff --git a/mysys/my_redel.c b/mysys/my_redel.c index d15dd87001a..d096a5c071c 100644 --- a/mysys/my_redel.c +++ b/mysys/my_redel.c @@ -88,15 +88,11 @@ end: int my_copystat(const char *from, const char *to, int MyFlags) { - struct stat statbuf; + MY_STAT statbuf; - if (stat(from, &statbuf)) - { - my_errno=errno; - if (MyFlags & (MY_FAE+MY_WME)) - my_error(EE_STAT, MYF(ME_BELL+ME_WAITTANG),from,errno); + if (my_stat(from, &statbuf, MyFlags) == NULL) return -1; /* Can't get stat on input file */ - } + if ((statbuf.st_mode & S_IFMT) != S_IFREG) return 1; diff --git a/plugin/feedback/utils.cc b/plugin/feedback/utils.cc index f81fde2ab8f..a841ac244d1 100644 --- a/plugin/feedback/utils.cc +++ b/plugin/feedback/utils.cc @@ -44,6 +44,12 @@ static const char *get_os_version_name(OSVERSIONINFOEX *ver) DWORD major = ver->dwMajorVersion; DWORD minor = ver->dwMinorVersion; + if (major == 6 && minor == 2) + { + return (ver->wProductType == VER_NT_WORKSTATION)? + "Windows 8":"Windows Server 2012"; + } + if (major == 6 && minor == 1) { return (ver->wProductType == VER_NT_WORKSTATION)? diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in index 3fdecc968e1..69d20575212 100644 --- a/scripts/mysql_install_db.pl.in +++ b/scripts/mysql_install_db.pl.in @@ -423,8 +423,11 @@ my $mysqld_install_cmd_line = quote_options($mysqld_bootstrap, "--bootstrap", "--basedir=$opt->{basedir}", "--datadir=$opt->{ldata}", + "--log-warnings=0", "--loose-skip-innodb", + "--loose-skip-ndbcluster", "--max_allowed_packet=8M", + "--default-storage-engine=MyISAM", "--net_buffer_length=16K", @args, ); @@ -437,6 +440,8 @@ report_verbose_wait($opt,"Installing MySQL system tables..."); open(SQL, $create_system_tables) or error($opt,"can't open $create_system_tables for reading: $!"); +open(SQL2, $fill_system_tables) + or error($opt,"can't open $fill_system_tables for reading: $!"); # FIXME > /dev/null ? if ( open(PIPE, "| $mysqld_install_cmd_line") ) { @@ -450,8 +455,20 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) print PIPE $_; } + while ( <SQL2> ) + { + # TODO: make it similar to the above condition when we're sure + # @@hostname returns a fqdn + # When doing a "cross bootstrap" install, no reference to the current + # host should be added to the system tables. So we filter out any + # lines which contain the current host name. + next if /\@current_hostname/; + + print PIPE $_; + } close PIPE; close SQL; + close SQL2; report_verbose($opt,"OK"); diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh index 99ce187fcd4..81015746ae9 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh @@ -64,6 +64,28 @@ $homedir = $ENV{HOME}; $my_progname = $0; $my_progname =~ s/.*[\/]//; + +if (defined($ENV{UMASK})) { + my $UMASK = $ENV{UMASK}; + my $m; + my $fmode = "0640"; + + if(($UMASK =~ m/[^0246]/) || ($UMASK =~ m/^[^0]/) || (length($UMASK) != 4)) { + printf("UMASK must be a 3-digit mode with an additional leading 0 to indicate octal.\n"); + printf("The first digit will be corrected to 6, the others may be 0, 2, 4, or 6.\n"); } + else { + $fmode= substr $UMASK, 2, 2; + $fmode= "06${fmode}"; } + + if($fmode != $UMASK) { + printf("UMASK corrected from $UMASK to $fmode ...\n"); } + + $fmode= oct($fmode); + + umask($fmode); +} + + main(); #### diff --git a/scripts/mysqld_safe.sh b/scripts/mysqld_safe.sh index aaf1936afe1..ce77caadfa8 100644 --- a/scripts/mysqld_safe.sh +++ b/scripts/mysqld_safe.sh @@ -32,7 +32,28 @@ syslog_tag_mysqld_safe=mysqld_safe trap '' 1 2 3 15 # we shouldn't let anyone kill us -umask 007 +# MySQL-specific environment variable. First off, it's not really a umask, +# it's the desired mode. Second, it follows umask(2), not umask(3) in that +# octal needs to be explicit. Our shell might be a proper sh without printf, +# multiple-base arithmetic, and binary arithmetic, so this will get ugly. +# We reject decimal values to keep things at least half-sane. +umask 007 # fallback +UMASK="${UMASK-0640}" +fmode=`echo "$UMASK" | sed -e 's/[^0246]//g'` +octalp=`echo "$fmode"|cut -c1` +fmlen=`echo "$fmode"|wc -c|sed -e 's/ //g'` +if [ "x$octalp" != "x0" -o "x$UMASK" != "x$fmode" -o "x$fmlen" != "x5" ] +then + fmode=0640 + echo "UMASK must be a 3-digit mode with an additional leading 0 to indicate octal." >&2 + echo "The first digit will be corrected to 6, the others may be 0, 2, 4, or 6." >&2 +fi +fmode=`echo "$fmode"|cut -c3-4` +fmode="6$fmode" +if [ "x$UMASK" != "x0$fmode" ] +then + echo "UMASK corrected from $UMASK to 0$fmode ..." +fi defaults= case "$1" in @@ -561,6 +582,12 @@ then # Log to err_log file log_notice "Logging to '$err_log'." logging=file + + if [ ! -e "$err_log" ]; then # if error log already exists, + touch "$err_log" # we just append. otherwise, + chmod "$fmode" "$err_log" # fix the permissions here! + fi + else if [ -n "$syslog_tag" ] then @@ -776,6 +803,12 @@ do eval_log_error "$cmd" + if [ $want_syslog -eq 0 -a ! -e "$err_log" ]; then + touch "$err_log" # hypothetical: log was renamed but not + chown $user "$err_log" # flushed yet. we'd recreate it with + chmod "$fmode" "$err_log" # wrong owner next time we log, so set + fi # it up correctly while we can! + end_time=`date +%M%S` if test ! -f "$pid_file" # This is removed if normal shutdown diff --git a/sql-common/client.c b/sql-common/client.c index 9f58281ddbf..c8ec031c95c 100644 --- a/sql-common/client.c +++ b/sql-common/client.c @@ -4442,8 +4442,8 @@ static int old_password_auth_client(MYSQL_PLUGIN_VIO *vio, MYSQL *mysql) DBUG_RETURN(CR_SERVER_HANDSHAKE_ERR); /* save it in MYSQL */ - memmove(mysql->scramble, pkt, pkt_len); - mysql->scramble[pkt_len] = 0; + memmove(mysql->scramble, pkt, pkt_len - 1); + mysql->scramble[pkt_len - 1] = 0; } if (mysql->passwd[0]) diff --git a/sql/ha_ndbcluster_binlog.cc b/sql/ha_ndbcluster_binlog.cc index 59b9d6eab6b..856781db28a 100644 --- a/sql/ha_ndbcluster_binlog.cc +++ b/sql/ha_ndbcluster_binlog.cc @@ -1,4 +1,5 @@ /* Copyright (c) 2006, 2011, Oracle and/or its affiliates. + Copyright (c) 2012, 2013, Monty Proram Ab. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/sql/item.cc b/sql/item.cc index 8be339541e1..e6462d1c070 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -8851,9 +8851,10 @@ int Item_cache_temporal::save_in_field(Field *field, bool no_conversions) } -void Item_cache_temporal::store_packed(longlong val_arg) +void Item_cache_temporal::store_packed(longlong val_arg, Item *example) { /* An explicit values is given, save it. */ + store(example); value_cached= true; value= val_arg; null_value= false; @@ -9599,11 +9600,18 @@ table_map Item_ref::used_tables() const void Item_ref::update_used_tables() -{ +{ if (!get_depended_from()) - (*ref)->update_used_tables(); + (*ref)->update_used_tables(); + maybe_null= (*ref)->maybe_null; } +void Item_direct_view_ref::update_used_tables() +{ + Item_ref::update_used_tables(); + if (view->table && view->table->maybe_null) + maybe_null= TRUE; +} table_map Item_direct_view_ref::used_tables() const { diff --git a/sql/item.h b/sql/item.h index 0d38c5eb5f8..baff64cac24 100644 --- a/sql/item.h +++ b/sql/item.h @@ -1440,18 +1440,6 @@ public: max_length= char_to_byte_length_safe(max_char_length_arg, collation.collation->mbmaxlen); } - void fix_char_length_ulonglong(ulonglong max_char_length_arg) - { - ulonglong max_result_length= max_char_length_arg * - collation.collation->mbmaxlen; - if (max_result_length >= MAX_BLOB_WIDTH) - { - max_length= MAX_BLOB_WIDTH; - maybe_null= 1; - } - else - max_length= (uint32) max_result_length; - } /* Return TRUE if the item points to a column of an outer-joined table. */ @@ -2063,9 +2051,14 @@ public: bitmap_fast_test_and_set(tab->read_set, field->field_index); if (field->vcol_info) tab->mark_virtual_col(field); - } + } + } + void update_used_tables() + { + update_table_bitmaps(); + if (field && field->table) + maybe_null= field->maybe_null(); } - void update_used_tables() { update_table_bitmaps(); } Item *get_tmp_table_item(THD *thd); bool collect_item_field_processor(uchar * arg); bool add_field_to_set_processor(uchar * arg); @@ -3116,7 +3109,11 @@ public: enum Item_result result_type () const { return orig_item->result_type(); } enum_field_types field_type() const { return orig_item->field_type(); } table_map used_tables() const { return orig_item->used_tables(); } - void update_used_tables() { orig_item->update_used_tables(); } + void update_used_tables() + { + orig_item->update_used_tables(); + maybe_null= orig_item->maybe_null; + } bool const_item() const { return orig_item->const_item(); } table_map not_null_tables() const { return orig_item->not_null_tables(); } bool walk(Item_processor processor, bool walk_subquery, uchar *arg) @@ -3208,6 +3205,7 @@ public: Item *replace_equal_field(uchar *arg); table_map used_tables() const; table_map not_null_tables() const; + void update_used_tables(); bool walk(Item_processor processor, bool walk_subquery, uchar *arg) { return (*ref)->walk(processor, walk_subquery, arg) || @@ -4033,7 +4031,7 @@ public: bool cache_value(); bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate); int save_in_field(Field *field, bool no_conversions); - void store_packed(longlong val_arg); + void store_packed(longlong val_arg, Item *example); /* Having a clone_item method tells optimizer that this object is a constant and need not be optimized further. @@ -4042,7 +4040,7 @@ public: Item *clone_item() { Item_cache_temporal *item= new Item_cache_temporal(cached_field_type); - item->store_packed(value); + item->store_packed(value, example); return item; } }; diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index d950c0c1443..3e64e3969e4 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -1,5 +1,5 @@ /* Copyright (c) 2000, 2012, Oracle and/or its affiliates. - Copyright (c) 2009, 2012 Monty Program Ab + Copyright (c) 2009, 2013, Monty Program Ab. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -914,7 +914,7 @@ get_datetime_value(THD *thd, Item ***item_arg, Item **cache_arg, if (save_arena) thd->set_query_arena(save_arena); - cache->store_packed(value); + cache->store_packed(value, item); *cache_arg= cache; *item_arg= cache_arg; } @@ -1353,7 +1353,7 @@ int Arg_comparator::compare_e_row() void Item_func_truth::fix_length_and_dec() { - maybe_null= 0; + set_persist_maybe_null(0); null_value= 0; decimals= 0; max_length= 1; @@ -1865,7 +1865,8 @@ longlong Item_func_eq::val_int() void Item_func_equal::fix_length_and_dec() { Item_bool_func2::fix_length_and_dec(); - maybe_null=null_value=0; + set_persist_maybe_null(0); + null_value= 0; } longlong Item_func_equal::val_int() @@ -2004,7 +2005,7 @@ void Item_func_interval::fix_length_and_dec() } } } - maybe_null= 0; + set_persist_maybe_null(0); max_length= 2; used_tables_cache|= row->used_tables(); not_null_tables_cache= row->not_null_tables(); @@ -2685,7 +2686,7 @@ void Item_func_nullif::fix_length_and_dec() { Item_bool_func2::fix_length_and_dec(); - maybe_null=1; + set_persist_maybe_null(1); if (args[0]) // Only false if EOM { max_length=args[0]->max_length; @@ -4546,6 +4547,8 @@ void Item_cond::update_used_tables() item->update_used_tables(); used_tables_cache|= item->used_tables(); const_item_cache&= item->const_item(); + if (!persistent_maybe_null && item->maybe_null) + maybe_null= 1; } } @@ -4720,10 +4723,9 @@ longlong Item_is_not_null_test::val_int() */ void Item_is_not_null_test::update_used_tables() { + args[0]->update_used_tables(); if (!args[0]->maybe_null) used_tables_cache= 0; /* is always true */ - else - args[0]->update_used_tables(); } @@ -5004,7 +5006,7 @@ Item_func_regex::fix_fields(THD *thd, Item **ref) int comp_res= regcomp(TRUE); if (comp_res == -1) { // Will always return NULL - maybe_null=1; + set_persist_maybe_null(1); fixed= 1; return FALSE; } @@ -5014,7 +5016,7 @@ Item_func_regex::fix_fields(THD *thd, Item **ref) maybe_null= args[0]->maybe_null; } else - maybe_null=1; + set_persist_maybe_null(1); fixed= 1; return FALSE; } @@ -5828,6 +5830,8 @@ void Item_equal::update_used_tables() used_tables_cache|= item->used_tables(); /* see commentary at Item_equal::update_const() */ const_item_cache&= item->const_item() && !item->is_outer_field(); + if (!persistent_maybe_null && item->maybe_null) + maybe_null= 1; } } diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 34d1a0bd0ae..e9b77152d12 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -767,6 +767,11 @@ public: my_decimal *decimal_op(my_decimal *); enum_field_types field_type() const; void fix_length_and_dec(); + void update_used_tables() + { + Item_func_coalesce::update_used_tables(); + maybe_null= args[1]->maybe_null; + } const char *func_name() const { return "ifnull"; } Field *tmp_table_field(TABLE *table); uint decimal_precision() const; @@ -789,6 +794,11 @@ public: enum_field_types field_type() const { return cached_field_type; } bool fix_fields(THD *, Item **); void fix_length_and_dec(); + void update_used_tables() + { + Item_func::update_used_tables(); + maybe_null= args[1]->maybe_null || args[2]->maybe_null; + } uint decimal_precision() const; const char *func_name() const { return "if"; } bool eval_not_null_tables(uchar *opt_arg); @@ -1254,6 +1264,12 @@ public: my_decimal *val_decimal(my_decimal *); bool fix_fields(THD *thd, Item **ref); void fix_length_and_dec(); + void update_used_tables() + { + Item_func::update_used_tables(); + if (else_expr_num == -1 || args[else_expr_num]->maybe_null) + maybe_null= 1; + } uint decimal_precision() const; table_map not_null_tables() const { return 0; } enum Item_result result_type () const { return cached_result_type; } @@ -1375,13 +1391,14 @@ public: enum Functype functype() const { return ISNULL_FUNC; } void fix_length_and_dec() { - decimals=0; max_length=1; maybe_null=0; + decimals=0; max_length=1; set_persist_maybe_null(0); update_used_tables(); } const char *func_name() const { return "isnull"; } /* Optimize case of not_null_column IS NULL */ virtual void update_used_tables() { + args[0]->update_used_tables(); if (!args[0]->maybe_null) { used_tables_cache= 0; /* is always false */ @@ -1389,7 +1406,6 @@ public: } else { - args[0]->update_used_tables(); used_tables_cache= args[0]->used_tables(); const_item_cache= args[0]->const_item(); } @@ -1437,7 +1453,7 @@ public: enum Functype functype() const { return ISNOTNULL_FUNC; } void fix_length_and_dec() { - decimals=0; max_length=1; maybe_null=0; + decimals=0; max_length=1; set_persist_maybe_null(0); } const char *func_name() const { return "isnotnull"; } optimize_type select_optimize() const { return OPTIMIZE_NULL; } @@ -1505,6 +1521,12 @@ public: void cleanup(); longlong val_int(); bool fix_fields(THD *thd, Item **ref); + void update_used_tables() + { + Item_bool_func::update_used_tables(); + if (regex_is_const) + maybe_null= 1; + } const char *func_name() const { return "regexp"; } virtual inline void print(String *str, enum_query_type query_type) diff --git a/sql/item_func.cc b/sql/item_func.cc index 441eb37d701..7053b8fec65 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -1,5 +1,5 @@ /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. - Copyright (c) 2008-2011 Monty Program Ab + Copyright (c) 2009, 2013, Monty Program Ab. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -111,7 +111,7 @@ void Item_func::set_arguments(List<Item> &list) } Item_func::Item_func(List<Item> &list) - :allowed_arg_cols(1) + :allowed_arg_cols(1), persistent_maybe_null(0) { set_arguments(list); } @@ -119,6 +119,7 @@ Item_func::Item_func(List<Item> &list) Item_func::Item_func(THD *thd, Item_func *item) :Item_result_field(thd, item), allowed_arg_cols(item->allowed_arg_cols), + persistent_maybe_null(0), arg_count(item->arg_count), used_tables_cache(item->used_tables_cache), not_null_tables_cache(item->not_null_tables_cache), @@ -446,6 +447,8 @@ void Item_func::update_used_tables() args[i]->update_used_tables(); used_tables_cache|=args[i]->used_tables(); const_item_cache&=args[i]->const_item(); + if (!persistent_maybe_null && args[i]->maybe_null) + maybe_null= 1; } } @@ -1712,7 +1715,7 @@ void Item_func_div::fix_length_and_dec() case IMPOSSIBLE_RESULT: DBUG_ASSERT(0); } - maybe_null= 1; // devision by zero + set_persist_maybe_null(1); // devision by zero DBUG_VOID_RETURN; } @@ -1796,7 +1799,7 @@ void Item_func_int_div::fix_length_and_dec() max_length=args[0]->max_length - (argtype == DECIMAL_RESULT || argtype == INT_RESULT ? args[0]->decimals : 0); - maybe_null=1; + set_persist_maybe_null(1); unsigned_flag=args[0]->unsigned_flag | args[1]->unsigned_flag; } @@ -1883,7 +1886,7 @@ void Item_func_mod::result_precision() void Item_func_mod::fix_length_and_dec() { Item_num_op::fix_length_and_dec(); - maybe_null= 1; + set_persist_maybe_null(1); unsigned_flag= args[0]->unsigned_flag; } @@ -3078,7 +3081,7 @@ longlong Item_func_field::val_int() void Item_func_field::fix_length_and_dec() { - maybe_null=0; max_length=3; + set_persist_maybe_null(0); max_length=3; cmp_type= args[0]->result_type(); for (uint i=1; i < arg_count ; i++) cmp_type= item_cmp_type(cmp_type, args[i]->result_type()); @@ -4163,7 +4166,8 @@ longlong Item_func_last_insert_id::val_int() thd->first_successful_insert_id_in_prev_stmt= value; return value; } - return thd->read_first_successful_insert_id_in_prev_stmt(); + return + static_cast<longlong>(thd->read_first_successful_insert_id_in_prev_stmt()); } @@ -5282,7 +5286,7 @@ void Item_func_get_user_var::fix_length_and_dec() { THD *thd=current_thd; int error; - maybe_null=1; + set_persist_maybe_null(1); decimals=NOT_FIXED_DEC; max_length=MAX_BLOB_WIDTH; @@ -5481,7 +5485,7 @@ void Item_func_get_system_var::update_null_value() void Item_func_get_system_var::fix_length_and_dec() { char *cptr; - maybe_null= TRUE; + set_persist_maybe_null(1); max_length= 0; if (var->check_type(var_type)) @@ -6048,7 +6052,7 @@ bool Item_func_match::fix_fields(THD *thd, Item **ref) status_var_increment(thd->status_var.feature_fulltext); - maybe_null=1; + set_persist_maybe_null(1); join_key=0; /* @@ -6382,7 +6386,7 @@ longlong Item_func_row_count::val_int() Item_func_sp::Item_func_sp(Name_resolution_context *context_arg, sp_name *name) :Item_func(), context(context_arg), m_name(name), m_sp(NULL), sp_result_field(NULL) { - maybe_null= 1; + set_persist_maybe_null(1); m_name->init_qname(current_thd); dummy_table= (TABLE*) sql_calloc(sizeof(TABLE)+ sizeof(TABLE_SHARE)); dummy_table->s= (TABLE_SHARE*) (dummy_table+1); @@ -6393,7 +6397,7 @@ Item_func_sp::Item_func_sp(Name_resolution_context *context_arg, sp_name *name, List<Item> &list) :Item_func(list), context(context_arg), m_name(name), m_sp(NULL),sp_result_field(NULL) { - maybe_null= 1; + set_persist_maybe_null(1); m_name->init_qname(current_thd); dummy_table= (TABLE*) sql_calloc(sizeof(TABLE)+ sizeof(TABLE_SHARE)); dummy_table->s= (TABLE_SHARE*) (dummy_table+1); @@ -6534,7 +6538,7 @@ void Item_func_sp::fix_length_and_dec() decimals= sp_result_field->decimals(); max_length= sp_result_field->field_length; collation.set(sp_result_field->charset()); - maybe_null= 1; + set_persist_maybe_null(1); unsigned_flag= test(sp_result_field->flags & UNSIGNED_FLAG); DBUG_VOID_RETURN; diff --git a/sql/item_func.h b/sql/item_func.h index f1b97151cbe..88491be44a2 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -1,7 +1,7 @@ #ifndef ITEM_FUNC_INCLUDED #define ITEM_FUNC_INCLUDED /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. - Copyright (c) 2009-2011 Monty Program Ab + Copyright (c) 2009, 2013, Monty Program Ab. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -39,6 +39,8 @@ protected: 0 means get this number from first argument */ uint allowed_arg_cols; + /* maybe_null can't be changed by parameters or used table state */ + bool persistent_maybe_null; public: uint arg_count; table_map used_tables_cache, not_null_tables_cache; @@ -64,13 +66,13 @@ public: enum Type type() const { return FUNC_ITEM; } virtual enum Functype functype() const { return UNKNOWN_FUNC; } Item_func(void): - allowed_arg_cols(1), arg_count(0) + allowed_arg_cols(1), persistent_maybe_null(0), arg_count(0) { with_sum_func= 0; with_field= 0; } Item_func(Item *a): - allowed_arg_cols(1), arg_count(1) + allowed_arg_cols(1), persistent_maybe_null(0), arg_count(1) { args= tmp_arg; args[0]= a; @@ -78,7 +80,7 @@ public: with_field= a->with_field; } Item_func(Item *a,Item *b): - allowed_arg_cols(1), arg_count(2) + allowed_arg_cols(1), persistent_maybe_null(0), arg_count(2) { args= tmp_arg; args[0]= a; args[1]= b; @@ -86,7 +88,7 @@ public: with_field= a->with_field || b->with_field; } Item_func(Item *a,Item *b,Item *c): - allowed_arg_cols(1) + allowed_arg_cols(1), persistent_maybe_null(0) { arg_count= 0; if ((args= (Item**) sql_alloc(sizeof(Item*)*3))) @@ -98,7 +100,7 @@ public: } } Item_func(Item *a,Item *b,Item *c,Item *d): - allowed_arg_cols(1) + allowed_arg_cols(1), persistent_maybe_null(0) { arg_count= 0; if ((args= (Item**) sql_alloc(sizeof(Item*)*4))) @@ -112,7 +114,7 @@ public: } } Item_func(Item *a,Item *b,Item *c,Item *d,Item* e): - allowed_arg_cols(1) + allowed_arg_cols(1), persistent_maybe_null(0) { arg_count= 5; if ((args= (Item**) sql_alloc(sizeof(Item*)*5))) @@ -170,6 +172,18 @@ public: my_decimal *val_decimal(my_decimal *); + void fix_char_length_ulonglong(ulonglong max_char_length_arg) + { + ulonglong max_result_length= max_char_length_arg * + collation.collation->mbmaxlen; + if (max_result_length >= MAX_BLOB_WIDTH) + { + max_length= MAX_BLOB_WIDTH; + set_persist_maybe_null(1); + } + else + max_length= (uint32) max_result_length; + } bool agg_arg_charsets(DTCollation &c, Item **items, uint nitems, uint flags, int item_sep) { @@ -371,6 +385,11 @@ public: info.bool_function= &Item::restore_to_before_no_rows_in_result; walk(&Item::call_bool_func_processor, FALSE, (uchar*) &info); } + inline void set_persist_maybe_null(bool mb_null) + { + maybe_null= mb_null; + persistent_maybe_null= 1; + } }; @@ -584,7 +603,7 @@ public: } double val_real(); enum_field_types field_type() const { return MYSQL_TYPE_DOUBLE; } - void fix_length_and_dec() { maybe_null= 1; } + void fix_length_and_dec() { set_persist_maybe_null(1); } const char *func_name() const { return "double_typecast"; } virtual void print(String *str, enum_query_type query_type); }; @@ -725,7 +744,7 @@ class Item_dec_func :public Item_real_func void fix_length_and_dec() { decimals=NOT_FIXED_DEC; max_length=float_length(decimals); - maybe_null=1; + set_persist_maybe_null(1); } }; @@ -1057,7 +1076,7 @@ public: Item_func_coercibility(Item *a) :Item_int_func(a) {} longlong val_int(); const char *func_name() const { return "coercibility"; } - void fix_length_and_dec() { max_length=10; maybe_null= 0; } + void fix_length_and_dec() { max_length=10; set_persist_maybe_null(0); } table_map not_null_tables() const { return 0; } }; @@ -1199,6 +1218,7 @@ public: const char *func_name() const { return "last_insert_id"; } void fix_length_and_dec() { + unsigned_flag= TRUE; if (arg_count) max_length= args[0]->max_length; unsigned_flag=1; @@ -1219,7 +1239,7 @@ public: {} longlong val_int(); const char *func_name() const { return "benchmark"; } - void fix_length_and_dec() { max_length=1; maybe_null=0; } + void fix_length_and_dec() { max_length=1; set_persist_maybe_null(0); } virtual void print(String *str, enum_query_type query_type); bool check_vcol_func_processor(uchar *int_arg) { @@ -1472,7 +1492,7 @@ public: double val_real() { DBUG_ASSERT(fixed == 1); null_value= 1; return 0.0; } longlong val_int() { DBUG_ASSERT(fixed == 1); null_value=1; return 0; } enum Item_result result_type () const { return STRING_RESULT; } - void fix_length_and_dec() { maybe_null=1; max_length=0; } + void fix_length_and_dec() { set_persist_maybe_null(1); max_length=0; } }; #endif /* HAVE_DLOPEN */ @@ -1493,7 +1513,7 @@ class Item_func_get_lock :public Item_int_func Item_func_get_lock(Item *a,Item *b) :Item_int_func(a,b) {} longlong val_int(); const char *func_name() const { return "get_lock"; } - void fix_length_and_dec() { max_length=1; maybe_null=1;} + void fix_length_and_dec() { max_length=1; set_persist_maybe_null(1);} bool check_vcol_func_processor(uchar *int_arg) { return trace_unsupported_by_check_vcol_func_processor(func_name()); @@ -1507,7 +1527,7 @@ public: Item_func_release_lock(Item *a) :Item_int_func(a) {} longlong val_int(); const char *func_name() const { return "release_lock"; } - void fix_length_and_dec() { max_length=1; maybe_null=1;} + void fix_length_and_dec() { max_length=1; set_persist_maybe_null(1);} bool check_vcol_func_processor(uchar *int_arg) { return trace_unsupported_by_check_vcol_func_processor(func_name()); @@ -1524,7 +1544,7 @@ public: Item_master_pos_wait(Item *a,Item *b,Item *c) :Item_int_func(a,b,c) {} longlong val_int(); const char *func_name() const { return "master_pos_wait"; } - void fix_length_and_dec() { max_length=21; maybe_null=1;} + void fix_length_and_dec() { max_length=21; set_persist_maybe_null(1);} bool check_vcol_func_processor(uchar *int_arg) { return trace_unsupported_by_check_vcol_func_processor(func_name()); @@ -1741,7 +1761,8 @@ public: Item_func_inet_aton(Item *a) :Item_int_func(a) {} longlong val_int(); const char *func_name() const { return "inet_aton"; } - void fix_length_and_dec() { decimals= 0; max_length= 21; maybe_null= 1; unsigned_flag= 1;} + void fix_length_and_dec() + { decimals= 0; max_length= 21; set_persist_maybe_null(1); unsigned_flag= 1; } }; @@ -1810,7 +1831,8 @@ public: Item_func_is_free_lock(Item *a) :Item_int_func(a) {} longlong val_int(); const char *func_name() const { return "is_free_lock"; } - void fix_length_and_dec() { decimals=0; max_length=1; maybe_null=1;} + void fix_length_and_dec() + { decimals= 0; max_length= 1; set_persist_maybe_null(1); } bool check_vcol_func_processor(uchar *int_arg) { return trace_unsupported_by_check_vcol_func_processor(func_name()); @@ -1824,7 +1846,8 @@ public: Item_func_is_used_lock(Item *a) :Item_int_func(a) {} longlong val_int(); const char *func_name() const { return "is_used_lock"; } - void fix_length_and_dec() { decimals=0; max_length=10; maybe_null=1;} + void fix_length_and_dec() + { decimals= 0; max_length= 10; set_persist_maybe_null(1);} bool check_vcol_func_processor(uchar *int_arg) { return trace_unsupported_by_check_vcol_func_processor(func_name()); @@ -1847,7 +1870,7 @@ public: Item_func_row_count() :Item_int_func() {} longlong val_int(); const char *func_name() const { return "row_count"; } - void fix_length_and_dec() { decimals= 0; maybe_null=0; } + void fix_length_and_dec() { decimals= 0; set_persist_maybe_null(0); } bool check_vcol_func_processor(uchar *int_arg) { @@ -1987,7 +2010,7 @@ public: Item_func_found_rows() :Item_int_func() {} longlong val_int(); const char *func_name() const { return "found_rows"; } - void fix_length_and_dec() { decimals= 0; maybe_null=0; } + void fix_length_and_dec() { decimals= 0; set_persist_maybe_null(0); } bool check_vcol_func_processor(uchar *int_arg) { return trace_unsupported_by_check_vcol_func_processor(func_name()); diff --git a/sql/item_geofunc.cc b/sql/item_geofunc.cc index bc89a6c14b3..e3e80bdf59f 100644 --- a/sql/item_geofunc.cc +++ b/sql/item_geofunc.cc @@ -53,7 +53,7 @@ void Item_geometry_func::fix_length_and_dec() collation.set(&my_charset_bin); decimals=0; max_length= (uint32) 4294967295U; - maybe_null= 1; + set_persist_maybe_null(1); } @@ -147,7 +147,7 @@ void Item_func_as_wkt::fix_length_and_dec() { collation.set(default_charset(), DERIVATION_COERCIBLE, MY_REPERTOIRE_ASCII); max_length=MAX_BLOB_WIDTH; - maybe_null= 1; + set_persist_maybe_null(1); } diff --git a/sql/item_geofunc.h b/sql/item_geofunc.h index 3638d9f62e8..ee61f921adb 100644 --- a/sql/item_geofunc.h +++ b/sql/item_geofunc.h @@ -89,7 +89,7 @@ public: { // "GeometryCollection" is the longest fix_length_and_charset(20, default_charset()); - maybe_null= 1; + set_persist_maybe_null(1); }; }; @@ -224,7 +224,7 @@ public: { Item_func::print(str, query_type); } - void fix_length_and_dec() { maybe_null= 1; } + void fix_length_and_dec() { set_persist_maybe_null(1); } bool is_null() { (void) val_int(); return null_value; } }; @@ -251,7 +251,7 @@ public: Item_func::print(str, query_type); } - void fix_length_and_dec() { maybe_null= 1; } + void fix_length_and_dec() { set_persist_maybe_null(1); } bool is_null() { (void) val_int(); return null_value; } }; @@ -342,7 +342,7 @@ public: longlong val_int(); optimize_type select_optimize() const { return OPTIMIZE_NONE; } const char *func_name() const { return "st_isempty"; } - void fix_length_and_dec() { maybe_null= 1; } + void fix_length_and_dec() { set_persist_maybe_null(1); } }; class Item_func_issimple: public Item_bool_func @@ -356,7 +356,7 @@ public: longlong val_int(); optimize_type select_optimize() const { return OPTIMIZE_NONE; } const char *func_name() const { return "st_issimple"; } - void fix_length_and_dec() { maybe_null= 1; } + void fix_length_and_dec() { set_persist_maybe_null(1); } }; class Item_func_isclosed: public Item_bool_func @@ -366,7 +366,7 @@ public: longlong val_int(); optimize_type select_optimize() const { return OPTIMIZE_NONE; } const char *func_name() const { return "st_isclosed"; } - void fix_length_and_dec() { maybe_null= 1; } + void fix_length_and_dec() { set_persist_maybe_null(1); } }; class Item_func_dimension: public Item_int_func @@ -376,7 +376,7 @@ public: Item_func_dimension(Item *a): Item_int_func(a) {} longlong val_int(); const char *func_name() const { return "st_dimension"; } - void fix_length_and_dec() { max_length= 10; maybe_null= 1; } + void fix_length_and_dec() { max_length= 10; set_persist_maybe_null(1); } }; class Item_func_x: public Item_real_func @@ -389,7 +389,7 @@ public: void fix_length_and_dec() { Item_real_func::fix_length_and_dec(); - maybe_null= 1; + set_persist_maybe_null(1); } }; @@ -404,7 +404,7 @@ public: void fix_length_and_dec() { Item_real_func::fix_length_and_dec(); - maybe_null= 1; + set_persist_maybe_null(1); } }; @@ -416,7 +416,7 @@ public: Item_func_numgeometries(Item *a): Item_int_func(a) {} longlong val_int(); const char *func_name() const { return "st_numgeometries"; } - void fix_length_and_dec() { max_length= 10; maybe_null= 1; } + void fix_length_and_dec() { max_length= 10; set_persist_maybe_null(1); } }; @@ -427,7 +427,7 @@ public: Item_func_numinteriorring(Item *a): Item_int_func(a) {} longlong val_int(); const char *func_name() const { return "st_numinteriorrings"; } - void fix_length_and_dec() { max_length= 10; maybe_null= 1; } + void fix_length_and_dec() { max_length= 10; set_persist_maybe_null(1); } }; @@ -438,7 +438,7 @@ public: Item_func_numpoints(Item *a): Item_int_func(a) {} longlong val_int(); const char *func_name() const { return "st_numpoints"; } - void fix_length_and_dec() { max_length= 10; maybe_null= 1; } + void fix_length_and_dec() { max_length= 10; set_persist_maybe_null(1); } }; @@ -452,7 +452,7 @@ public: void fix_length_and_dec() { Item_real_func::fix_length_and_dec(); - maybe_null= 1; + set_persist_maybe_null(1); } }; @@ -467,7 +467,7 @@ public: void fix_length_and_dec() { Item_real_func::fix_length_and_dec(); - maybe_null= 1; + set_persist_maybe_null(1); } }; @@ -479,7 +479,7 @@ public: Item_func_srid(Item *a): Item_int_func(a) {} longlong val_int(); const char *func_name() const { return "srid"; } - void fix_length_and_dec() { max_length= 10; maybe_null= 1; } + void fix_length_and_dec() { max_length= 10; set_persist_maybe_null(1); } }; diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index cce99ec2991..28009e7154e 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -1,5 +1,6 @@ /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. + Copyright (c) 2009, 2013, Monty Program Ab. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -466,7 +467,7 @@ String *Item_func_aes_decrypt::val_str(String *str) void Item_func_aes_decrypt::fix_length_and_dec() { max_length=args[0]->max_length; - maybe_null= 1; + set_persist_maybe_null(1); } @@ -2410,7 +2411,7 @@ void Item_func_elt::fix_length_and_dec() set_if_bigger(decimals,args[i]->decimals); } fix_char_length(char_length); - maybe_null=1; // NULL if wrong first arg + set_persist_maybe_null(1); // NULL if wrong first arg } @@ -2658,7 +2659,7 @@ void Item_func_repeat::fix_length_and_dec() else { max_length= MAX_BLOB_WIDTH; - maybe_null= 1; + set_persist_maybe_null(1); } } @@ -2735,7 +2736,7 @@ void Item_func_rpad::fix_length_and_dec() else { max_length= MAX_BLOB_WIDTH; - maybe_null= 1; + set_persist_maybe_null(1); } } @@ -2839,7 +2840,7 @@ void Item_func_lpad::fix_length_and_dec() else { max_length= MAX_BLOB_WIDTH; - maybe_null= 1; + set_persist_maybe_null(1); } } @@ -3798,7 +3799,7 @@ bool Item_func_dyncol_create::fix_fields(THD *thd, Item **ref) void Item_func_dyncol_create::fix_length_and_dec() { - maybe_null= TRUE; + set_persist_maybe_null(1); collation.set(&my_charset_bin); decimals= 0; } diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h index 9ed2627a518..786f66e3aab 100644 --- a/sql/item_strfunc.h +++ b/sql/item_strfunc.h @@ -3,6 +3,7 @@ /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. + Copyright (c) 2009, 2013, Monty Program Ab. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -354,7 +355,7 @@ public: String *val_str(String *); void fix_length_and_dec() { - maybe_null=1; + set_persist_maybe_null(1); /* 9 = MAX ((8- (arg_len % 8)) + 1) */ max_length = args[0]->max_length + 9; } @@ -370,7 +371,7 @@ public: String *val_str(String *); void fix_length_and_dec() { - maybe_null=1; + set_persist_maybe_null(1); /* 9 = MAX ((8- (arg_len % 8)) + 1) */ max_length= args[0]->max_length; if (max_length >= 9U) @@ -398,7 +399,7 @@ public: constructor_helper(); } String *val_str(String *); - void fix_length_and_dec() { maybe_null=1; max_length = 13; } + void fix_length_and_dec() { set_persist_maybe_null(1); max_length = 13; } const char *func_name() const { return "encrypt"; } bool check_vcol_func_processor(uchar *int_arg) { @@ -468,7 +469,7 @@ public: void fix_length_and_dec() { max_length= MAX_FIELD_NAME * system_charset_info->mbmaxlen; - maybe_null=1; + set_persist_maybe_null(1); } const char *func_name() const { return "database"; } const char *fully_qualified_func_name() const { return "database()"; } @@ -649,7 +650,7 @@ public: { collation.set(default_charset()); max_length=64; - maybe_null= 1; + set_persist_maybe_null(1); } }; @@ -676,7 +677,7 @@ public: Item_func_unhex(Item *a) :Item_str_func(a) { /* there can be bad hex strings */ - maybe_null= 1; + set_persist_maybe_null(1); } const char *func_name() const { return "unhex"; } String *val_str(String *); @@ -762,7 +763,7 @@ public: void fix_length_and_dec() { collation.set(&my_charset_bin, DERIVATION_COERCIBLE); - maybe_null=1; + set_persist_maybe_null(1); max_length=MAX_BLOB_WIDTH; } bool check_vcol_func_processor(uchar *int_arg) @@ -795,7 +796,7 @@ public: { decimals= 0; fix_length_and_charset(3 * 8 + 7, default_charset()); - maybe_null= 1; + set_persist_maybe_null(1); } }; @@ -910,7 +911,7 @@ public: { collation.set(system_charset_info); max_length= 64 * collation.collation->mbmaxlen; // should be enough - maybe_null= 0; + set_persist_maybe_null(0); }; table_map not_null_tables() const { return 0; } }; @@ -925,7 +926,7 @@ public: { collation.set(system_charset_info); max_length= 64 * collation.collation->mbmaxlen; // should be enough - maybe_null= 0; + set_persist_maybe_null(0); }; table_map not_null_tables() const { return 0; } }; @@ -971,7 +972,8 @@ class Item_func_uncompress: public Item_str_func String buffer; public: Item_func_uncompress(Item *a): Item_str_func(a){} - void fix_length_and_dec(){ maybe_null= 1; max_length= MAX_BLOB_WIDTH; } + void fix_length_and_dec() + { set_persist_maybe_null(1); max_length= MAX_BLOB_WIDTH; } const char *func_name() const{return "uncompress";} String *val_str(String *) ZLIB_DEPENDED_FUNCTION }; @@ -1040,7 +1042,7 @@ public: max_length= MAX_DYNAMIC_COLUMN_LENGTH; } void fix_length_and_dec() - { maybe_null= 1; } + { set_persist_maybe_null(1); } /* Mark that collation can change between calls */ bool dynamic_result() { return 1; } @@ -1059,7 +1061,8 @@ class Item_func_dyncol_list: public Item_str_func { public: Item_func_dyncol_list(Item *str) :Item_str_func(str) {}; - void fix_length_and_dec() { maybe_null= 1; max_length= MAX_BLOB_WIDTH; }; + void fix_length_and_dec() + { set_persist_maybe_null(1); max_length= MAX_BLOB_WIDTH; }; const char *func_name() const{ return "column_list"; } String *val_str(String *); }; diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc index 117276e488b..02a7b8511af 100644 --- a/sql/item_timefunc.cc +++ b/sql/item_timefunc.cc @@ -1,6 +1,6 @@ /* Copyright (c) 2000, 2012, Oracle and/or its affiliates. - Copyright (c) 2009, 2011, Monty Program Ab + Copyright (c) 2009, 2013, Monty Program Ab This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -945,7 +945,7 @@ void Item_func_monthname::fix_length_and_dec() collation.set(cs, DERIVATION_COERCIBLE, repertoire); decimals=0; max_length= locale->max_month_name_length * collation.collation->mbmaxlen; - maybe_null=1; + set_persist_maybe_null(1); } @@ -1095,7 +1095,7 @@ void Item_func_dayname::fix_length_and_dec() collation.set(cs, DERIVATION_COERCIBLE, repertoire); decimals=0; max_length= locale->max_day_name_length * collation.collation->mbmaxlen; - maybe_null=1; + set_persist_maybe_null(1); } @@ -1446,7 +1446,7 @@ void Item_temporal_func::fix_length_and_dec() { MAX_DATETIME_WIDTH, MAX_DATETIME_WIDTH, MAX_DATE_WIDTH, MAX_DATETIME_WIDTH, MIN_TIME_WIDTH }; - maybe_null= true; + set_persist_maybe_null(1); max_length= max_time_type_width[mysql_type_to_time_type(field_type())+2]; if (decimals) { @@ -1501,13 +1501,10 @@ bool Item_func_from_days::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date) bzero(ltime, sizeof(MYSQL_TIME)); if (get_date_from_daynr((long) value, <ime->year, <ime->month, <ime->day)) - return (null_value= 1); - - if ((fuzzy_date & TIME_NO_ZERO_DATE) && ltime->year == 0) - return (null_value= 1); + return 0; ltime->time_type= MYSQL_TIMESTAMP_DATE; - return (null_value= 0); + return 0; } @@ -1519,7 +1516,7 @@ void Item_func_curdate::fix_length_and_dec() ltime.hour= ltime.minute= ltime.second= 0; ltime.time_type= MYSQL_TIMESTAMP_DATE; Item_datefunc::fix_length_and_dec(); - maybe_null= false; + set_persist_maybe_null(0); } /** @@ -1758,7 +1755,7 @@ void Item_func_date_format::fix_length_and_dec() collation.collation->mbmaxlen; set_if_smaller(max_length,MAX_BLOB_WIDTH); } - maybe_null=1; // If wrong date + set_persist_maybe_null(1); // If wrong date } @@ -2102,7 +2099,7 @@ void Item_extract::print(String *str, enum_query_type query_type) void Item_extract::fix_length_and_dec() { - maybe_null=1; // If wrong date + set_persist_maybe_null(1); // If wrong date switch (int_type) { case INTERVAL_YEAR: max_length=4; date_value=1; break; case INTERVAL_YEAR_MONTH: max_length=6; date_value=1; break; diff --git a/sql/item_timefunc.h b/sql/item_timefunc.h index 3af08a8168e..3e3cd698efc 100644 --- a/sql/item_timefunc.h +++ b/sql/item_timefunc.h @@ -82,7 +82,7 @@ public: { decimals=0; max_length=6*MY_CHARSET_BIN_MB_MAXLEN; - maybe_null=1; + set_persist_maybe_null(1); } enum_monotonicity_info get_monotonicity_info() const; longlong val_int_endpoint(bool left_endp, bool *incl_endp); @@ -105,7 +105,7 @@ public: { decimals=0; max_length=6*MY_CHARSET_BIN_MB_MAXLEN; - maybe_null=1; + set_persist_maybe_null(1); } enum_monotonicity_info get_monotonicity_info() const; longlong val_int_endpoint(bool left_endp, bool *incl_endp); @@ -138,7 +138,7 @@ public: { decimals=0; max_length=2*MY_CHARSET_BIN_MB_MAXLEN; - maybe_null=1; + set_persist_maybe_null(1); } bool check_partition_func_processor(uchar *int_arg) {return FALSE;} bool check_vcol_func_processor(uchar *int_arg) { return FALSE;} @@ -170,7 +170,7 @@ public: { decimals= 0; fix_char_length(2); - maybe_null= 1; + set_persist_maybe_null(1); } bool check_partition_func_processor(uchar *int_arg) {return FALSE;} bool check_vcol_func_processor(uchar *int_arg) { return FALSE;} @@ -208,7 +208,7 @@ public: { decimals= 0; fix_char_length(3); - maybe_null= 1; + set_persist_maybe_null(1); } bool check_partition_func_processor(uchar *int_arg) {return FALSE;} bool check_vcol_func_processor(uchar *int_arg) { return FALSE;} @@ -229,7 +229,7 @@ public: { decimals=0; max_length=2*MY_CHARSET_BIN_MB_MAXLEN; - maybe_null=1; + set_persist_maybe_null(1); } bool check_partition_func_processor(uchar *int_arg) {return FALSE;} bool check_vcol_func_processor(uchar *int_arg) { return FALSE;} @@ -250,7 +250,7 @@ public: { decimals=0; max_length=2*MY_CHARSET_BIN_MB_MAXLEN; - maybe_null=1; + set_persist_maybe_null(1); } bool check_partition_func_processor(uchar *int_arg) {return FALSE;} bool check_vcol_func_processor(uchar *int_arg) { return FALSE;} @@ -271,7 +271,7 @@ public: { decimals=0; max_length=1*MY_CHARSET_BIN_MB_MAXLEN; - maybe_null=1; + set_persist_maybe_null(1); } bool check_partition_func_processor(uchar *int_arg) {return FALSE;} bool check_vcol_func_processor(uchar *int_arg) { return FALSE;} @@ -292,7 +292,7 @@ public: { decimals=0; max_length=2*MY_CHARSET_BIN_MB_MAXLEN; - maybe_null=1; + set_persist_maybe_null(1); } bool check_partition_func_processor(uchar *int_arg) {return FALSE;} bool check_vcol_func_processor(uchar *int_arg) { return FALSE;} @@ -313,7 +313,7 @@ public: { decimals=0; max_length=2*MY_CHARSET_BIN_MB_MAXLEN; - maybe_null=1; + set_persist_maybe_null(1); } }; @@ -327,7 +327,7 @@ public: { decimals=0; max_length=6*MY_CHARSET_BIN_MB_MAXLEN; - maybe_null=1; + set_persist_maybe_null(1); } bool check_partition_func_processor(uchar *int_arg) {return FALSE;} bool check_vcol_func_processor(uchar *int_arg) { return FALSE;} @@ -350,7 +350,7 @@ public: { decimals=0; max_length=4*MY_CHARSET_BIN_MB_MAXLEN; - maybe_null=1; + set_persist_maybe_null(1); } bool check_partition_func_processor(uchar *int_arg) {return FALSE;} bool check_vcol_func_processor(uchar *int_arg) { return FALSE;} @@ -384,7 +384,7 @@ public: { decimals= 0; fix_char_length(1); - maybe_null= 1; + set_persist_maybe_null(1); } bool check_partition_func_processor(uchar *int_arg) {return FALSE;} bool check_vcol_func_processor(uchar *int_arg) { return FALSE;} @@ -419,7 +419,7 @@ public: decimals= args[0]->decimals; set_if_smaller(decimals, TIME_SECOND_PART_DIGITS); max_length=17 + (decimals ? decimals + 1 : 0); - maybe_null= 1; + set_persist_maybe_null(1); } void find_num_type() { hybrid_type= decimals ? DECIMAL_RESULT : INT_RESULT; } double real_op() { DBUG_ASSERT(0); return 0; } @@ -466,7 +466,7 @@ public: const char *func_name() const { return "time_to_sec"; } void fix_num_length_and_dec() { - maybe_null= true; + set_persist_maybe_null(1); Item_func_seconds_hybrid::fix_num_length_and_dec(); } bool check_partition_func_processor(uchar *int_arg) {return FALSE;} @@ -537,7 +537,7 @@ public: { store_now_in_TIME(<ime); Item_timefunc::fix_length_and_dec(); - maybe_null= false; + set_persist_maybe_null(0); } bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); /* @@ -619,7 +619,7 @@ public: { store_now_in_TIME(<ime); Item_temporal_func::fix_length_and_dec(); - maybe_null= false; + set_persist_maybe_null(0); } bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date); virtual void store_now_in_TIME(MYSQL_TIME *now_time)=0; @@ -664,7 +664,7 @@ public: void update_used_tables() { Item_func_now::update_used_tables(); - maybe_null= false; + set_persist_maybe_null(0); used_tables_cache|= RAND_TABLE_BIT; } }; @@ -959,7 +959,7 @@ public: void fix_length_and_dec() { decimals=0; - maybe_null=1; + set_persist_maybe_null(1); } bool check_partition_func_processor(uchar *int_arg) {return FALSE;} bool check_vcol_func_processor(uchar *int_arg) { return FALSE;} @@ -981,7 +981,7 @@ public: void fix_length_and_dec() { decimals=0; - maybe_null=1; + set_persist_maybe_null(1); } virtual void print(String *str, enum_query_type query_type); }; @@ -1003,7 +1003,7 @@ public: const char *func_name() const { return "get_format"; } void fix_length_and_dec() { - maybe_null= 1; + set_persist_maybe_null(1); decimals=0; fix_length_and_charset(17, default_charset()); } diff --git a/sql/item_xmlfunc.cc b/sql/item_xmlfunc.cc index ae0a74c5ba6..5a824e48b7b 100644 --- a/sql/item_xmlfunc.cc +++ b/sql/item_xmlfunc.cc @@ -2604,6 +2604,7 @@ void Item_xml_str_func::fix_length_and_dec() status_var_increment(current_thd->status_var.feature_xml); nodeset_func= 0; + set_persist_maybe_null(1); if (agg_arg_charsets_for_comparison(collation, args, arg_count)) return; diff --git a/sql/item_xmlfunc.h b/sql/item_xmlfunc.h index 800cf6ed760..3356b4ac902 100644 --- a/sql/item_xmlfunc.h +++ b/sql/item_xmlfunc.h @@ -34,14 +34,10 @@ protected: public: Item_xml_str_func(Item *a, Item *b): Item_str_func(a,b) - { - maybe_null= TRUE; - } + {} Item_xml_str_func(Item *a, Item *b, Item *c): Item_str_func(a,b,c) - { - maybe_null= TRUE; - } + {} void fix_length_and_dec(); String *parse_xml(String *raw_xml, String *parsed_xml_buf); bool check_vcol_func_processor(uchar *int_arg) diff --git a/sql/log.cc b/sql/log.cc index b7218615f58..abda8c52d88 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -1,5 +1,5 @@ /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. - Copyright (c) 2010, 2013 Monty Program Ab + Copyright (c) 2009, 2013, Monty Program Ab This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -5024,12 +5024,18 @@ MYSQL_BIN_LOG::flush_and_set_pending_rows_event(THD *thd, /* Write pending event to the cache. */ + DBUG_EXECUTE_IF("simulate_disk_full_at_flush_pending", + {DBUG_SET("+d,simulate_file_write_error");}); if (pending->write(file)) { set_write_error(thd, is_transactional); if (check_write_error(thd) && cache_data && stmt_has_updated_non_trans_table(thd)) cache_data->set_incident(); + delete pending; + cache_data->set_pending(NULL); + DBUG_EXECUTE_IF("simulate_disk_full_at_flush_pending", + {DBUG_SET("-d,simulate_file_write_error");}); DBUG_RETURN(1); } diff --git a/sql/log_event.cc b/sql/log_event.cc index a46da2304b2..d5cfa9367c5 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -1,6 +1,6 @@ /* Copyright (c) 2000, 2012, Oracle and/or its affiliates. - Copyright (c) 2010, 2012, Monty Program Ab + Copyright (c) 2009, 2013, Monty Program Ab. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -46,7 +46,7 @@ #include "rpl_record.h" #include "transaction.h" #include <my_dir.h> -#include "sql_show.h" +#include "sql_show.h" // append_identifier #endif /* MYSQL_CLIENT */ @@ -92,6 +92,23 @@ TYPELIB binlog_checksum_typelib= */ #define FMT_G_BUFSIZE(PREC) (3 + (PREC) + 5 + 1) +/* + Explicit instantiation to unsigned int of template available_buffer + function. +*/ +template unsigned int available_buffer<unsigned int>(const char*, + const char*, + unsigned int); + +/* + Explicit instantiation to unsigned int of template valid_buffer_range + function. +*/ +template bool valid_buffer_range<unsigned int>(unsigned int, + const char*, + const char*, + unsigned int); + /* replication event checksum is introduced in the following "checksum-home" version. The checksum-aware servers extract FD's version to decide whether the FD event @@ -1572,7 +1589,7 @@ Log_event* Log_event::read_log_event(const char* buf, uint event_len, ev = new Rand_log_event(buf, description_event); break; case USER_VAR_EVENT: - ev = new User_var_log_event(buf, description_event); + ev = new User_var_log_event(buf, event_len, description_event); break; case FORMAT_DESCRIPTION_EVENT: ev = new Format_description_log_event(buf, event_len, description_event); @@ -2297,7 +2314,7 @@ void Rows_log_event::print_verbose(IO_CACHE *file, for (const uchar *value= m_rows_buf; value < m_rows_end; ) { size_t length; - my_b_printf(file, "### %s %s.%s\n", + my_b_printf(file, "### %s %`s.%`s\n", sql_command, map->get_db_name(), map->get_table_name()); /* Print the first image */ @@ -2463,7 +2480,7 @@ void Query_log_event::pack_info(THD *thd, Protocol *protocol) { buf.append(STRING_WITH_LEN("use ")); append_identifier(thd, &buf, db, db_len); - buf.append("; "); + buf.append(STRING_WITH_LEN("; ")); } if (query && q_len) buf.append(query, q_len); @@ -3333,17 +3350,11 @@ void Query_log_event::print_query_header(IO_CACHE* file, } else if (db) { - /* Room for expand ` to `` + initial/final ` + \0 */ - char buf[FN_REFLEN*2+3]; - different_db= memcmp(print_event_info->db, db, db_len + 1); if (different_db) memcpy(print_event_info->db, db, db_len + 1); if (db[0] && different_db) - { - my_snprintf(buf, sizeof(buf), "%`s", db); - my_b_printf(file, "use %s%s\n", buf, print_event_info->delimiter); - } + my_b_printf(file, "use %`s%s\n", db, print_event_info->delimiter); } end=int10_to_str((long) when, strmov(buff,"SET TIMESTAMP="),10); @@ -5175,7 +5186,7 @@ void Load_log_event::print(FILE* file_arg, PRINT_EVENT_INFO* print_event_info, } if (db && db[0] && different_db) - my_b_printf(&cache, "%suse %s%s\n", + my_b_printf(&cache, "%suse %`s%s\n", commented ? "# " : "", db, print_event_info->delimiter); @@ -5227,7 +5238,7 @@ void Load_log_event::print(FILE* file_arg, PRINT_EVENT_INFO* print_event_info, { if (i) my_b_printf(&cache, ","); - my_b_printf(&cache, "%s", field); + my_b_printf(&cache, "%`s", field); field += field_lens[i] + 1; } @@ -6287,19 +6298,35 @@ void User_var_log_event::pack_info(THD *thd, Protocol* protocol) User_var_log_event:: -User_var_log_event(const char* buf, +User_var_log_event(const char* buf, uint event_len, const Format_description_log_event* description_event) :Log_event(buf, description_event) #ifndef MYSQL_CLIENT , deferred(false) #endif { + bool error= false; + const char* buf_start= buf; /* The Post-Header is empty. The Variable Data part begins immediately. */ const char *start= buf; buf+= description_event->common_header_len + description_event->post_header_len[USER_VAR_EVENT-1]; name_len= uint4korr(buf); name= (char *) buf + UV_NAME_LEN_SIZE; + + /* + We don't know yet is_null value, so we must assume that name_len + may have the bigger value possible, is_null= True and there is no + payload for val. + */ + if (0 == name_len || + !valid_buffer_range<uint>(name_len, buf_start, name, + event_len - UV_VAL_IS_NULL)) + { + error= true; + goto err; + } + buf+= UV_NAME_LEN_SIZE + name_len; is_null= (bool) *buf; flags= User_var_log_event::UNDEF_F; // defaults to UNDEF_F @@ -6312,6 +6339,14 @@ User_var_log_event(const char* buf, } else { + if (!valid_buffer_range<uint>(UV_VAL_IS_NULL + UV_VAL_TYPE_SIZE + + UV_CHARSET_NUMBER_SIZE + UV_VAL_LEN_SIZE, + buf_start, buf, event_len)) + { + error= true; + goto err; + } + type= (Item_result) buf[UV_VAL_IS_NULL]; charset_number= uint4korr(buf + UV_VAL_IS_NULL + UV_VAL_TYPE_SIZE); val_len= uint4korr(buf + UV_VAL_IS_NULL + UV_VAL_TYPE_SIZE + @@ -6319,6 +6354,12 @@ User_var_log_event(const char* buf, val= (char *) (buf + UV_VAL_IS_NULL + UV_VAL_TYPE_SIZE + UV_CHARSET_NUMBER_SIZE + UV_VAL_LEN_SIZE); + if (!valid_buffer_range<uint>(val_len, buf_start, val, event_len)) + { + error= true; + goto err; + } + /** We need to check if this is from an old server that did not pack information for flags. @@ -6353,6 +6394,10 @@ User_var_log_event(const char* buf, val_len); } } + +err: + if (error) + name= 0; } @@ -6498,8 +6543,9 @@ void User_var_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info) char *hex_str; CHARSET_INFO *cs; - if (!(hex_str= (char *)my_alloca(2*val_len+1+2))) // 2 hex digits / byte - break; // no error, as we are 'void' + hex_str= (char *)my_malloc(2*val_len+1+2,MYF(MY_WME)); // 2 hex digits / byte + if (!hex_str) + return; str_to_hex(hex_str, val, val_len); /* For proper behaviour when mysqlbinlog|mysql, we need to explicitely @@ -6517,7 +6563,7 @@ void User_var_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info) my_b_printf(&cache, ":=_%s %s COLLATE `%s`%s\n", cs->csname, hex_str, cs->name, print_event_info->delimiter); - my_afree(hex_str); + my_free(hex_str); } break; case ROW_RESULT: @@ -7756,9 +7802,9 @@ void Execute_load_query_log_event::pack_info(THD *thd, Protocol *protocol) buf.real_alloc(9 + db_len + q_len + 10 + 21); if (db && db_len) { - if (buf.append("use ") || + if (buf.append(STRING_WITH_LEN("use ")) || append_identifier(thd, &buf, db, db_len) || - buf.append("; ")) + buf.append(STRING_WITH_LEN("; "))) return; } if (query && q_len && buf.append(query, q_len)) diff --git a/sql/log_event.h b/sql/log_event.h index bf45dd0cc93..2c2e1dcd8b9 100644 --- a/sql/log_event.h +++ b/sql/log_event.h @@ -2693,7 +2693,7 @@ public: void print(FILE* file, PRINT_EVENT_INFO* print_event_info); #endif - User_var_log_event(const char* buf, + User_var_log_event(const char* buf, uint event_len, const Format_description_log_event *description_event); ~User_var_log_event() {} Log_event_type get_type_code() { return USER_VAR_EVENT;} @@ -2705,9 +2705,9 @@ public: and which case the applier adjusts execution path. */ bool is_deferred() { return deferred; } - void set_deferred() { deferred= val; } + void set_deferred() { deferred= true; } #endif - bool is_valid() const { return 1; } + bool is_valid() const { return name != 0; } private: #if defined(MYSQL_SERVER) && defined(HAVE_REPLICATION) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 37e54a6638c..14737cd69bb 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -5354,7 +5354,7 @@ void create_thread_to_handle_connection(THD *thd) if (cached_thread_count > wake_thread) { /* Get thread from cache */ - thread_cache.append(thd); + thread_cache.push_back(thd); wake_thread++; mysql_cond_signal(&COND_thread_cache); } diff --git a/sql/sp_head.cc b/sql/sp_head.cc index 0d92a68a2d4..22bce1dad4f 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -4020,8 +4020,6 @@ typedef struct st_sp_table Multi-set key: db_name\0table_name\0alias\0 - for normal tables db_name\0table_name\0 - for temporary tables - Note that in both cases we don't take last '\0' into account when - we count length of key. */ LEX_STRING qname; uint db_length, table_name_length; @@ -4078,19 +4076,26 @@ sp_head::merge_table_list(THD *thd, TABLE_LIST *table, LEX *lex_for_tmp_check) for (; table ; table= table->next_global) if (!table->derived && !table->schema_table) { - char tname[(SAFE_NAME_LEN + 1) * 3]; // db\0table\0alias\0 - uint tlen, alen; - - tlen= table->db_length; - memcpy(tname, table->db, tlen); - tname[tlen++]= '\0'; - memcpy(tname+tlen, table->table_name, table->table_name_length); - tlen+= table->table_name_length; - tname[tlen++]= '\0'; - alen= strlen(table->alias); - memcpy(tname+tlen, table->alias, alen); - tlen+= alen; - tname[tlen]= '\0'; + /* + Structure of key for the multi-set is "db\0table\0alias\0". + Since "alias" part can have arbitrary length we use String + object to construct the key. By default String will use + buffer allocated on stack with NAME_LEN bytes reserved for + alias, since in most cases it is going to be smaller than + NAME_LEN bytes. + */ + char tname_buff[(SAFE_NAME_LEN + 1) * 3]; + String tname(tname_buff, sizeof(tname_buff), &my_charset_bin); + uint temp_table_key_length; + + tname.length(0); + tname.append(table->db, table->db_length); + tname.append('\0'); + tname.append(table->table_name, table->table_name_length); + tname.append('\0'); + temp_table_key_length= tname.length(); + tname.append(table->alias); + tname.append('\0'); /* Upgrade the lock type because this table list will be used @@ -4105,9 +4110,10 @@ sp_head::merge_table_list(THD *thd, TABLE_LIST *table, LEX *lex_for_tmp_check) (and therefore should not be prelocked). Otherwise we will erroneously treat table with same name but with different alias as non-temporary. */ - if ((tab= (SP_TABLE*) my_hash_search(&m_sptabs, (uchar *)tname, tlen)) || - ((tab= (SP_TABLE*) my_hash_search(&m_sptabs, (uchar *)tname, - tlen - alen - 1)) && + if ((tab= (SP_TABLE *)my_hash_search(&m_sptabs, (uchar *)tname.ptr(), + tname.length())) || + ((tab= (SP_TABLE *)my_hash_search(&m_sptabs, (uchar *)tname.ptr(), + temp_table_key_length)) && tab->temp)) { if (tab->lock_type < table->lock_type) @@ -4126,11 +4132,11 @@ sp_head::merge_table_list(THD *thd, TABLE_LIST *table, LEX *lex_for_tmp_check) lex_for_tmp_check->create_info.options & HA_LEX_CREATE_TMP_TABLE) { tab->temp= TRUE; - tab->qname.length= tlen - alen - 1; + tab->qname.length= temp_table_key_length; } else - tab->qname.length= tlen; - tab->qname.str= (char*) thd->memdup(tname, tab->qname.length + 1); + tab->qname.length= tname.length(); + tab->qname.str= (char*) thd->memdup(tname.ptr(), tab->qname.length); if (!tab->qname.str) return FALSE; tab->table_name_length= table->table_name_length; @@ -4199,7 +4205,7 @@ sp_head::add_used_tables_to_table_list(THD *thd, if (!(tab_buff= (char *)thd->calloc(ALIGN_SIZE(sizeof(TABLE_LIST)) * stab->lock_count)) || !(key_buff= (char*)thd->memdup(stab->qname.str, - stab->qname.length + 1))) + stab->qname.length))) DBUG_RETURN(FALSE); for (uint j= 0; j < stab->lock_count; j++) diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index b8e7d891e05..9921969929d 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -1,5 +1,5 @@ /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. - Copyright (c) 2009-2011, Monty Program Ab + Copyright (c) 2009, 2013, Monty Program Ab This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -560,7 +560,18 @@ static bool update_user_table(THD *thd, TABLE *table, const char *host, static my_bool acl_load(THD *thd, TABLE_LIST *tables); static my_bool grant_load(THD *thd, TABLE_LIST *tables); static inline void get_grantor(THD *thd, char* grantor); - +/* + Enumeration of various ACL's and Hashes used in handle_grant_struct() +*/ +enum enum_acl_lists +{ + USER_ACL= 0, + DB_ACL, + COLUMN_PRIVILEGES_HASH, + PROC_PRIVILEGES_HASH, + FUNC_PRIVILEGES_HASH, + ACL_PROXY_USERS +}; /* Convert scrambled password to binary form, according to scramble type, Binary form is stored in user.salt. @@ -767,7 +778,12 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables) convert db to lower case and give a warning if the db wasn't already in lower case */ - (void) strmov(tmp_name, host.db); + char *end = strnmov(tmp_name, host.db, sizeof(tmp_name)); + if (end >= tmp_name + sizeof(tmp_name)) + { + sql_print_warning(ER(ER_WRONG_DB_NAME), host.db); + continue; + } my_casedn_str(files_charset_info, host.db); if (strcmp(host.db, tmp_name) != 0) sql_print_warning("'host' entry '%s|%s' had database in mixed " @@ -1038,7 +1054,12 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables) convert db to lower case and give a warning if the db wasn't already in lower case */ - (void)strmov(tmp_name, db.db); + char *end = strnmov(tmp_name, db.db, sizeof(tmp_name)); + if (end >= tmp_name + sizeof(tmp_name)) + { + sql_print_warning(ER(ER_WRONG_DB_NAME), db.db); + continue; + } my_casedn_str(files_charset_info, db.db); if (strcmp(db.db, tmp_name) != 0) { @@ -3007,15 +3028,23 @@ static GRANT_NAME *name_hash_search(HASH *name_hash, const char *user, const char *tname, bool exact, bool name_tolower) { - char helping [SAFE_NAME_LEN*2+USERNAME_LENGTH+3], *name_ptr; + char helping[SAFE_NAME_LEN*2+USERNAME_LENGTH+3]; + char *hend = helping + sizeof(helping); uint len; GRANT_NAME *grant_name,*found=0; HASH_SEARCH_STATE state; - name_ptr= strmov(strmov(helping, user) + 1, db) + 1; - len = (uint) (strmov(name_ptr, tname) - helping) + 1; + char *db_ptr= strmov(helping, user) + 1; + char *tname_ptr= strnmov(db_ptr, db, hend - db_ptr) + 1; + if (tname_ptr > hend) + return 0; // invalid name = not found + char *end= strnmov(tname_ptr, tname, hend - tname_ptr) + 1; + if (end > hend) + return 0; // invalid name = not found + + len = (uint) (end - helping); if (name_tolower) - my_casedn_str(files_charset_info, name_ptr); + my_casedn_str(files_charset_info, tname_ptr); for (grant_name= (GRANT_NAME*) my_hash_first(name_hash, (uchar*) helping, len, &state); grant_name ; @@ -4016,7 +4045,12 @@ bool mysql_grant(THD *thd, const char *db, List <LEX_USER> &list, if (lower_case_table_names && db) { - strmov(tmp_db,db); + char *end= strnmov(tmp_db,db, sizeof(tmp_db)); + if (end >= tmp_db + sizeof(tmp_db)) + { + my_error(ER_WRONG_DB_NAME ,MYF(0), db); + DBUG_RETURN(TRUE); + } my_casedn_str(files_charset_info, tmp_db); db=tmp_db; } @@ -6058,20 +6092,20 @@ static int handle_grant_table(TABLE_LIST *tables, uint table_no, bool drop, Delete from grant structure if drop is true. Update in grant structure if drop is false and user_to is not NULL. Search in grant structure if drop is false and user_to is NULL. - Structures are numbered as follows: - 0 acl_users - 1 acl_dbs - 2 column_priv_hash - 3 proc_priv_hash - 4 func_priv_hash - 5 acl_proxy_users + Structures are enumerated as follows: + 0 ACL_USER + 1 ACL_DB + 2 COLUMN_PRIVILEGES_HASH + 3 PROC_PRIVILEGES_HASH + 4 FUNC_PRIVILEGES_HASH + 5 ACL_PROXY_USERS @retval > 0 At least one element matched. @retval 0 OK, but no element matched. - @retval -1 Wrong arguments to function. + @retval -1 Wrong arguments to function or Out of Memory */ -static int handle_grant_struct(uint struct_no, bool drop, +static int handle_grant_struct(enum enum_acl_lists struct_no, bool drop, LEX_USER *user_from, LEX_USER *user_to) { int result= 0; @@ -6095,21 +6129,21 @@ static int handle_grant_struct(uint struct_no, bool drop, /* Get the number of elements in the in-memory structure. */ switch (struct_no) { - case 0: + case USER_ACL: elements= acl_users.elements; break; - case 1: + case DB_ACL: elements= acl_dbs.elements; break; - case 2: + case COLUMN_PRIVILEGES_HASH: grant_name_hash= &column_priv_hash; elements= grant_name_hash->records; break; - case 3: + case PROC_PRIVILEGES_HASH: grant_name_hash= &proc_priv_hash; elements= grant_name_hash->records; break; - case 4: + case FUNC_PRIVILEGES_HASH: grant_name_hash= &func_priv_hash; elements= grant_name_hash->records; break; @@ -6131,21 +6165,21 @@ static int handle_grant_struct(uint struct_no, bool drop, Get a pointer to the element. */ switch (struct_no) { - case 0: + case USER_ACL: acl_user= dynamic_element(&acl_users, idx, ACL_USER*); user= acl_user->user; host= acl_user->host.hostname; break; - case 1: + case DB_ACL: acl_db= dynamic_element(&acl_dbs, idx, ACL_DB*); user= acl_db->user; host= acl_db->host.hostname; break; - case 2: - case 3: - case 4: + case COLUMN_PRIVILEGES_HASH: + case PROC_PRIVILEGES_HASH: + case FUNC_PRIVILEGES_HASH: grant_name= (GRANT_NAME*) my_hash_element(grant_name_hash, idx); user= grant_name->user; host= grant_name->host.hostname; @@ -6177,17 +6211,17 @@ static int handle_grant_struct(uint struct_no, bool drop, if ( drop ) { switch ( struct_no ) { - case 0: + case USER_ACL: delete_dynamic_element(&acl_users, idx); break; - case 1: + case DB_ACL: delete_dynamic_element(&acl_dbs, idx); break; - case 2: - case 3: - case 4: + case COLUMN_PRIVILEGES_HASH: + case PROC_PRIVILEGES_HASH: + case FUNC_PRIVILEGES_HASH: my_hash_delete(grant_name_hash, (uchar*) grant_name); break; @@ -6215,19 +6249,19 @@ static int handle_grant_struct(uint struct_no, bool drop, else if ( user_to ) { switch ( struct_no ) { - case 0: + case USER_ACL: acl_user->user= strdup_root(&mem, user_to->user.str); acl_user->host.hostname= strdup_root(&mem, user_to->host.str); break; - case 1: + case DB_ACL: acl_db->user= strdup_root(&mem, user_to->user.str); acl_db->host.hostname= strdup_root(&mem, user_to->host.str); break; - case 2: - case 3: - case 4: + case COLUMN_PRIVILEGES_HASH: + case PROC_PRIVILEGES_HASH: + case FUNC_PRIVILEGES_HASH: { /* Save old hash key and its length to be able properly update @@ -6324,7 +6358,7 @@ static int handle_grant_data(TABLE_LIST *tables, bool drop, else { /* Handle user array. */ - if ((handle_grant_struct(0, drop, user_from, user_to)) || found) + if ((handle_grant_struct(USER_ACL, drop, user_from, user_to)) || found) { result= 1; /* At least one record/element found. */ /* If search is requested, we do not need to search further. */ @@ -6342,7 +6376,7 @@ static int handle_grant_data(TABLE_LIST *tables, bool drop, else { /* Handle db array. */ - if (((handle_grant_struct(1, drop, user_from, user_to) && ! result) || + if (((handle_grant_struct(DB_ACL, drop, user_from, user_to) && ! result) || found) && ! result) { result= 1; /* At least one record/element found. */ @@ -6361,7 +6395,7 @@ static int handle_grant_data(TABLE_LIST *tables, bool drop, else { /* Handle procs array. */ - if (((handle_grant_struct(3, drop, user_from, user_to) && ! result) || + if (((handle_grant_struct(PROC_PRIVILEGES_HASH, drop, user_from, user_to) && ! result) || found) && ! result) { result= 1; /* At least one record/element found. */ @@ -6370,7 +6404,7 @@ static int handle_grant_data(TABLE_LIST *tables, bool drop, goto end; } /* Handle funcs array. */ - if (((handle_grant_struct(4, drop, user_from, user_to) && ! result) || + if (((handle_grant_struct(FUNC_PRIVILEGES_HASH, drop, user_from, user_to) && ! result) || found) && ! result) { result= 1; /* At least one record/element found. */ @@ -6405,7 +6439,7 @@ static int handle_grant_data(TABLE_LIST *tables, bool drop, else { /* Handle columns hash. */ - if (((handle_grant_struct(2, drop, user_from, user_to) && ! result) || + if (((handle_grant_struct(COLUMN_PRIVILEGES_HASH, drop, user_from, user_to) && ! result) || found) && ! result) result= 1; /* At least one record/element found. */ } @@ -6414,7 +6448,7 @@ static int handle_grant_data(TABLE_LIST *tables, bool drop, /* Handle proxies_priv table. */ if (tables[5].table) { - if ((found= handle_grant_table(tables, 5, drop, user_from, user_to)) < 0) + if ((found= handle_grant_table(tables, ACL_PROXY_USERS, drop, user_from, user_to)) < 0) { /* Handle of table failed, don't touch the in-memory array. */ result= -1; @@ -6422,7 +6456,7 @@ static int handle_grant_data(TABLE_LIST *tables, bool drop, else { /* Handle proxies_priv array. */ - if ((handle_grant_struct(5, drop, user_from, user_to) && !result) || + if ((handle_grant_struct(ACL_PROXY_USERS, drop, user_from, user_to) && !result) || found) result= 1; /* At least one record/element found. */ } diff --git a/sql/sql_connect.cc b/sql/sql_connect.cc index 81a85f10a16..9f6185280cd 100644 --- a/sql/sql_connect.cc +++ b/sql/sql_connect.cc @@ -905,6 +905,19 @@ static int check_connection(THD *thd) my_error(ER_BAD_HOST_ERROR, MYF(0)); return 1; } + /* BEGIN : DEBUG */ + DBUG_EXECUTE_IF("addr_fake_ipv4", + { + struct sockaddr *sa= (sockaddr *) &net->vio->remote; + sa->sa_family= AF_INET; + struct in_addr *ip4= &((struct sockaddr_in *)sa)->sin_addr; + /* See RFC 5737, 192.0.2.0/23 is reserved */ + const char* fake= "192.0.2.4"; + ip4->s_addr= inet_addr(fake); + strcpy(ip, fake); + };); + /* END : DEBUG */ + if (!(thd->main_security_ctx.ip= my_strdup(ip,MYF(MY_WME)))) return 1; /* The error is set by my_strdup(). */ thd->main_security_ctx.host_or_ip= thd->main_security_ctx.ip; diff --git a/sql/sql_db.cc b/sql/sql_db.cc index 99e5f3a035c..cbe59503058 100644 --- a/sql/sql_db.cc +++ b/sql/sql_db.cc @@ -1,5 +1,6 @@ /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. + Copyright (c) 2009, 2013, Monty Program Ab. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -754,7 +755,7 @@ bool mysql_rm_db(THD *thd,char *db,bool if_exists, bool silent) { ulong deleted_tables= 0; bool error= true; - char path[FN_REFLEN+16]; + char path[FN_REFLEN + 16]; MY_DIR *dirp; uint length; bool found_other_files= false; @@ -916,7 +917,7 @@ update_binlog: if (!(query= (char*) thd->alloc(MAX_DROP_TABLE_Q_LEN))) goto exit; /* not much else we can do */ - query_pos= query_data_start= strmov(query,"drop table "); + query_pos= query_data_start= strmov(query,"DROP TABLE "); query_end= query + MAX_DROP_TABLE_Q_LEN; db_len= strlen(db); diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 13622cb420a..b3ee0636bd7 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -1,4 +1,5 @@ /* Copyright (c) 2000, 2012, Oracle and/or its affiliates. + Copyright (c) 2009, 2013, Monty Program Ab. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1864,6 +1865,7 @@ void st_select_lex::init_query() ref_pointer_array= 0; select_n_where_fields= 0; select_n_having_items= 0; + n_child_sum_items= 0; subquery_in_having= explicit_limit= 0; is_item_list_lookup= 0; first_execution= 1; diff --git a/sql/sql_list.h b/sql/sql_list.h index 2b2d9e59771..b4e0ab84aab 100644 --- a/sql/sql_list.h +++ b/sql/sql_list.h @@ -1,7 +1,6 @@ #ifndef INCLUDES_MYSQL_SQL_LIST_H #define INCLUDES_MYSQL_SQL_LIST_H -/* - Copyright (c) 2000, 2010, Oracle and/or its affiliates. +/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -169,6 +168,14 @@ protected: public: uint elements; + bool operator==(const base_list &rhs) const + { + return + elements == rhs.elements && + first == rhs.first && + last == rhs.last; + } + inline void empty() { elements=0; first= &end_of_list; last=&first;} inline base_list() { empty(); } /** diff --git a/sql/sql_priv.h b/sql/sql_priv.h index ea89a67f210..6e778c09bd8 100644 --- a/sql/sql_priv.h +++ b/sql/sql_priv.h @@ -153,6 +153,41 @@ #define OPTION_ALLOW_BATCH (ULL(1) << 36) // THD, intern (slave) #define OPTION_SKIP_REPLICATION (ULL(1) << 37) // THD, user +/* + Check how many bytes are available on buffer. + + @param buf_start Pointer to buffer start. + @param buf_current Pointer to the current position on buffer. + @param buf_len Buffer length. + + @return Number of bytes available on event buffer. +*/ +template <class T> T available_buffer(const char* buf_start, + const char* buf_current, + T buf_len) +{ + return buf_len - (buf_current - buf_start); +} + +/* + Check if jump value is within buffer limits. + + @param jump Number of positions we want to advance. + @param buf_start Pointer to buffer start + @param buf_current Pointer to the current position on buffer. + @param buf_len Buffer length. + + @return True If jump value is within buffer limits. + False Otherwise. +*/ +template <class T> bool valid_buffer_range(T jump, + const char* buf_start, + const char* buf_current, + T buf_len) +{ + return (jump <= available_buffer(buf_start, buf_current, buf_len)); +} + /* The rest of the file is included in the server only */ #ifndef MYSQL_CLIENT diff --git a/sql/sql_profile.cc b/sql/sql_profile.cc index 2d00a19870b..feb7810fa28 100644 --- a/sql/sql_profile.cc +++ b/sql/sql_profile.cc @@ -46,6 +46,7 @@ #define TIME_I_S_DECIMAL_SIZE (TIME_FLOAT_DIGITS*100)+(TIME_FLOAT_DIGITS-3) #define MAX_QUERY_LENGTH 300 +#define MAX_QUERY_HISTORY 101 /** Connects Information_Schema and Profiling. @@ -264,9 +265,12 @@ void PROF_MEASUREMENT::collect() QUERY_PROFILE::QUERY_PROFILE(PROFILING *profiling_arg, const char *status_arg) :profiling(profiling_arg), profiling_query_id(0), query_source(NULL) { - profile_start= new PROF_MEASUREMENT(this, status_arg); - entries.push_back(profile_start); - profile_end= profile_start; + m_seq_counter= 1; + PROF_MEASUREMENT *prof= new PROF_MEASUREMENT(this, status_arg); + prof->m_seq= m_seq_counter++; + m_start_time_usecs= prof->time_usecs; + m_end_time_usecs= m_start_time_usecs; + entries.push_back(prof); } QUERY_PROFILE::~QUERY_PROFILE() @@ -305,9 +309,14 @@ void QUERY_PROFILE::new_status(const char *status_arg, else prof= new PROF_MEASUREMENT(this, status_arg); - profile_end= prof; + prof->m_seq= m_seq_counter++; + m_end_time_usecs= prof->time_usecs; entries.push_back(prof); + /* Maintain the query history size. */ + while (entries.elements > MAX_QUERY_HISTORY) + delete entries.pop(); + DBUG_VOID_RETURN; } @@ -467,8 +476,7 @@ bool PROFILING::show_profiles() String elapsed; - PROF_MEASUREMENT *ps= prof->profile_start; - PROF_MEASUREMENT *pe= prof->profile_end; + double query_time_usecs= prof->m_end_time_usecs - prof->m_start_time_usecs; if (++idx <= unit->offset_limit_cnt) continue; @@ -477,7 +485,7 @@ bool PROFILING::show_profiles() protocol->prepare_for_resend(); protocol->store((uint32)(prof->profiling_query_id)); - protocol->store((double)(pe->time_usecs - ps->time_usecs)/(1000.0*1000), + protocol->store((double)(query_time_usecs/(1000.0*1000)), (uint32) TIME_FLOAT_DIGITS-1, &elapsed); if (prof->query_source != NULL) protocol->store(prof->query_source, strlen(prof->query_source), @@ -537,17 +545,18 @@ int PROFILING::fill_statistics_info(THD *thd_arg, TABLE_LIST *tables, Item *cond us also include a numbering of each state per query. The query_id and the "seq" together are unique. */ - ulonglong seq; + ulong seq; void *entry_iterator; PROF_MEASUREMENT *entry, *previous= NULL; /* ...and for each query, go through all its state-change steps. */ - for (seq= 0, entry_iterator= query->entries.new_iterator(); + for (entry_iterator= query->entries.new_iterator(); entry_iterator != NULL; entry_iterator= query->entries.iterator_next(entry_iterator), - seq++, previous=entry, row_number++) + previous=entry, row_number++) { entry= query->entries.iterator_value(entry_iterator); + seq= entry->m_seq; /* Skip the first. We count spans of fence, not fence-posts. */ if (previous == NULL) continue; diff --git a/sql/sql_profile.h b/sql/sql_profile.h index 7705f6ca476..f8970bb162a 100644 --- a/sql/sql_profile.h +++ b/sql/sql_profile.h @@ -186,6 +186,7 @@ private: char *file; unsigned int line; + ulong m_seq; double time_usecs; char *allocated_status_memory; @@ -217,8 +218,9 @@ private: query_id_t profiling_query_id; /* Session-specific id. */ char *query_source; - PROF_MEASUREMENT *profile_start; - PROF_MEASUREMENT *profile_end; + double m_start_time_usecs; + double m_end_time_usecs; + ulong m_seq_counter; Queue<PROF_MEASUREMENT> entries; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 79cef2c3538..5995abc74f1 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -1,5 +1,5 @@ /* Copyright (c) 2000, 2012 Oracle and/or its affiliates. - Copyright (c) 2009, 2012, Monty Program Ab + Copyright (c) 2009, 2013 Monty Program Ab. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -2004,6 +2004,8 @@ bool JOIN::setup_subquery_caches() */ void JOIN::restore_tmp() { + DBUG_PRINT("info", ("restore_tmp this %p tmp_join %p", this, tmp_join)); + DBUG_ASSERT(tmp_join != this); memcpy(tmp_join, this, (size_t) sizeof(JOIN)); } @@ -7609,8 +7611,9 @@ get_best_combination(JOIN *join) if ( !(keyuse= join->best_positions[tablenr].key)) { j->type=JT_ALL; - if (tablenr != join->const_tables) - join->full_join=1; + if (join->best_positions[tablenr].use_join_buffer && + tablenr != join->const_tables) + join->full_join= 1; } /*if (join->best_positions[tablenr].sj_strategy == SJ_OPT_LOOSE_SCAN) @@ -8591,7 +8594,9 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond) We will use join cache here : prevent sorting of the first table only and sort at the end. */ - if (i != join->const_tables && join->table_count > join->const_tables + 1) + if (i != join->const_tables && + join->table_count > join->const_tables + 1 && + join->best_positions[i].use_join_buffer) join->full_join= 1; } @@ -10640,21 +10645,19 @@ void JOIN::cleanup(bool full) } } } - /* - We are not using tables anymore - Unlock all tables. We may be in an INSERT .... SELECT statement. - */ if (full) { - if (tmp_join) - tmp_table_param.copy_field= 0; - group_fields.delete_elements(); /* - Ensure that the above delete_elements() would not be called + Ensure that the following delete_elements() would not be called twice for the same list. */ - if (tmp_join && tmp_join != this) - tmp_join->group_fields= group_fields; + if (tmp_join && tmp_join != this && + tmp_join->group_fields == this->group_fields) + tmp_join->group_fields.empty(); + + // Run Cached_item DTORs! + group_fields.delete_elements(); + /* We can't call delete_elements() on copy_funcs as this will cause problems in free_elements() as some of the elements are then deleted. diff --git a/sql/sql_time.cc b/sql/sql_time.cc index 5c0471fdfaa..57dbd979933 100644 --- a/sql/sql_time.cc +++ b/sql/sql_time.cc @@ -1,5 +1,5 @@ /* Copyright (c) 2000, 2010, Oracle and/or its affiliates. - Copyright (c) 2009-2011 Monty Program Ab + Copyright (c) 2009, 2013 Monty Program Ab. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -154,7 +154,7 @@ bool get_date_from_daynr(long daynr,uint *ret_year,uint *ret_month, uchar *month_pos; DBUG_ENTER("get_date_from_daynr"); - if (daynr < 365 || daynr > MAX_DAY_NUMBER) + if (daynr < 366 || daynr > MAX_DAY_NUMBER) DBUG_RETURN(1); year= (uint) (daynr*100 / 36525L); diff --git a/sql/table.cc b/sql/table.cc index cc3ab6f8c36..a36a6d19484 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -4966,19 +4966,33 @@ TABLE *TABLE_LIST::get_real_join_table() DBUG_ASSERT(tbl->derived == NULL || tbl->derived->first_select()->next_select() == NULL); - if (tbl->table) - table= tbl->table; - tbl= (tbl->view != NULL ? - tbl->view->select_lex.get_table_list() : - tbl->derived->first_select()->get_table_list()); - - /* find left table in outer join on this level */ - while(tbl->outer_join & JOIN_TYPE_RIGHT) { - DBUG_ASSERT(tbl->next_local); - tbl= tbl->next_local; + List_iterator_fast<TABLE_LIST> ti; + { + List_iterator_fast<TABLE_LIST> + ti(tbl->view != NULL ? + tbl->view->select_lex.top_join_list : + tbl->derived->first_select()->top_join_list); + for (;;) + { + tbl= NULL; + /* + Find left table in outer join on this level + (the list is reverted). + */ + for (TABLE_LIST *t= ti++; t; t= ti++) + tbl= t; + /* + It is impossible that the list is empty + so tbl can't be NULL after above loop. + */ + if (!tbl->nested_join) + break; + /* go deeper if we've found nested join */ + ti= tbl->nested_join->join_list; + } + } } - } return tbl->table; diff --git a/storage/innobase/btr/btr0btr.c b/storage/innobase/btr/btr0btr.c index a6fdff72f50..1f4d8126be6 100644 --- a/storage/innobase/btr/btr0btr.c +++ b/storage/innobase/btr/btr0btr.c @@ -1594,7 +1594,7 @@ btr_page_reorganize_low( ut_ad(mtr_memo_contains(mtr, block, MTR_MEMO_PAGE_X_FIX)); btr_assert_not_corrupted(block, index); #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ data_size1 = page_get_data_size(page); max_ins_size1 = page_get_max_insert_size_after_reorganize(page, 1); @@ -1713,7 +1713,7 @@ btr_page_reorganize_low( func_exit: #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ #ifndef UNIV_HOTBACKUP buf_block_free(temp_block); @@ -1788,7 +1788,7 @@ btr_page_empty( ut_ad(mtr_memo_contains(mtr, block, MTR_MEMO_PAGE_X_FIX)); ut_ad(page_zip == buf_block_get_page_zip(block)); #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ btr_search_drop_page_hash_index(block); @@ -1845,10 +1845,10 @@ btr_root_raise_and_insert( root_block = btr_cur_get_block(cursor); root_page_zip = buf_block_get_page_zip(root_block); ut_ad(page_get_n_recs(root) > 0); + index = btr_cur_get_index(cursor); #ifdef UNIV_ZIP_DEBUG - ut_a(!root_page_zip || page_zip_validate(root_page_zip, root)); + ut_a(!root_page_zip || page_zip_validate(root_page_zip, root, index)); #endif /* UNIV_ZIP_DEBUG */ - index = btr_cur_get_index(cursor); #ifdef UNIV_BTR_DEBUG if (!dict_index_is_ibuf(index)) { ulint space = dict_index_get_space(index); @@ -2778,8 +2778,8 @@ insert_empty: #ifdef UNIV_ZIP_DEBUG if (UNIV_LIKELY_NULL(page_zip)) { - ut_a(page_zip_validate(page_zip, page)); - ut_a(page_zip_validate(new_page_zip, new_page)); + ut_a(page_zip_validate(page_zip, page, cursor->index)); + ut_a(page_zip_validate(new_page_zip, new_page, cursor->index)); } #endif /* UNIV_ZIP_DEBUG */ @@ -2813,7 +2813,8 @@ insert_empty: = buf_block_get_page_zip(insert_block); ut_a(!insert_page_zip - || page_zip_validate(insert_page_zip, insert_page)); + || page_zip_validate(insert_page_zip, insert_page, + cursor->index)); } #endif /* UNIV_ZIP_DEBUG */ @@ -3178,7 +3179,7 @@ btr_lift_page_up( btr_page_set_level(page, page_zip, page_level, mtr); #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ } @@ -3354,8 +3355,8 @@ err_exit: const page_zip_des_t* page_zip = buf_block_get_page_zip(block); ut_a(page_zip); - ut_a(page_zip_validate(merge_page_zip, merge_page)); - ut_a(page_zip_validate(page_zip, page)); + ut_a(page_zip_validate(merge_page_zip, merge_page, index)); + ut_a(page_zip_validate(page_zip, page, index)); } #endif /* UNIV_ZIP_DEBUG */ @@ -3488,7 +3489,8 @@ err_exit: ut_ad(page_validate(merge_page, index)); #ifdef UNIV_ZIP_DEBUG - ut_a(!merge_page_zip || page_zip_validate(merge_page_zip, merge_page)); + ut_a(!merge_page_zip || page_zip_validate(merge_page_zip, merge_page, + index)); #endif /* UNIV_ZIP_DEBUG */ /* Free the file page */ @@ -3671,7 +3673,7 @@ btr_discard_page( page_zip_des_t* merge_page_zip = buf_block_get_page_zip(merge_block); ut_a(!merge_page_zip - || page_zip_validate(merge_page_zip, merge_page)); + || page_zip_validate(merge_page_zip, merge_page, index)); } #endif /* UNIV_ZIP_DEBUG */ @@ -4149,7 +4151,7 @@ btr_validate_level( ut_a(space == page_get_space_id(page)); #ifdef UNIV_ZIP_DEBUG page_zip = buf_block_get_page_zip(block); - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ ut_a(!page_is_leaf(page)); @@ -4177,7 +4179,7 @@ loop: #ifdef UNIV_ZIP_DEBUG page_zip = buf_block_get_page_zip(block); - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ /* Check ordering etc. of records */ diff --git a/storage/innobase/btr/btr0cur.c b/storage/innobase/btr/btr0cur.c index ce43cba8525..1f92de245b1 100644 --- a/storage/innobase/btr/btr0cur.c +++ b/storage/innobase/btr/btr0cur.c @@ -673,7 +673,7 @@ retry_page_get: #ifdef UNIV_ZIP_DEBUG const page_zip_des_t* page_zip = buf_block_get_page_zip(block); - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ buf_block_dbg_add_level( @@ -2042,7 +2042,7 @@ any_extern: page_zip = buf_block_get_page_zip(block); #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ if (page_zip @@ -2253,7 +2253,7 @@ btr_cur_pessimistic_update( MTR_MEMO_X_LOCK)); ut_ad(mtr_memo_contains(mtr, block, MTR_MEMO_PAGE_X_FIX)); #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ /* The insert buffer tree should never be updated in place. */ ut_ad(!dict_index_is_ibuf(index)); @@ -2391,7 +2391,7 @@ make_external: btr_search_update_hash_on_delete(cursor); #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ page_cursor = btr_cur_get_page_cur(cursor); @@ -2498,7 +2498,7 @@ make_external: buf_block_t* rec_block = btr_cur_get_block(cursor); #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); page = buf_block_get_frame(rec_block); #endif /* UNIV_ZIP_DEBUG */ page_zip = buf_block_get_page_zip(rec_block); @@ -2524,7 +2524,7 @@ make_external: return_after_reservations: #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ if (n_extents > 0) { @@ -2886,7 +2886,7 @@ btr_cur_set_deleted_flag_for_ibuf( when the tablespace is uncompressed */ ibool val, /*!< in: value to set */ - mtr_t* mtr) /*!< in: mtr */ + mtr_t* mtr) /*!< in/out: mini-transaction */ { /* We do not need to reserve btr_search_latch, as the page has just been read to the buffer pool and there cannot be @@ -2986,12 +2986,14 @@ btr_cur_optimistic_delete( page, 1); } #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip + || page_zip_validate(page_zip, page, cursor->index)); #endif /* UNIV_ZIP_DEBUG */ page_cur_delete_rec(btr_cur_get_page_cur(cursor), cursor->index, offsets, mtr); #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip + || page_zip_validate(page_zip, page, cursor->index)); #endif /* UNIV_ZIP_DEBUG */ if (dict_index_is_clust(cursor->index) @@ -3086,7 +3088,7 @@ btr_cur_pessimistic_delete( rec = btr_cur_get_rec(cursor); page_zip = buf_block_get_page_zip(block); #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ offsets = rec_get_offsets(rec, index, NULL, ULINT_UNDEFINED, &heap); @@ -3096,7 +3098,7 @@ btr_cur_pessimistic_delete( rec, offsets, page_zip, rb_ctx, mtr); #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ } @@ -3157,7 +3159,7 @@ btr_cur_pessimistic_delete( page_cur_delete_rec(btr_cur_get_page_cur(cursor), index, offsets, mtr); #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ ut_ad(btr_check_node_ptr(index, block, mtr)); diff --git a/storage/innobase/buf/buf0buf.c b/storage/innobase/buf/buf0buf.c index 70841a168ab..1af019dfc45 100644 --- a/storage/innobase/buf/buf0buf.c +++ b/storage/innobase/buf/buf0buf.c @@ -242,7 +242,7 @@ the read requests for the whole area. #ifndef UNIV_HOTBACKUP /** Value in microseconds */ -static const int WAIT_FOR_READ = 5000; +static const int WAIT_FOR_READ = 100; /** Number of attemtps made to read in a page in the buffer pool */ static const ulint BUF_PAGE_READ_MAX_RETRIES = 100; @@ -2582,8 +2582,9 @@ wait_until_unfixed: mutex_exit(&block->mutex); if (io_fix == BUF_IO_READ) { - - os_thread_sleep(WAIT_FOR_READ); + /* wait by temporaly s-latch */ + rw_lock_s_lock(&(block->lock)); + rw_lock_s_unlock(&(block->lock)); } else { break; } diff --git a/storage/innobase/buf/buf0lru.c b/storage/innobase/buf/buf0lru.c index 7c8100df58e..60894cae6ad 100644 --- a/storage/innobase/buf/buf0lru.c +++ b/storage/innobase/buf/buf0lru.c @@ -1998,7 +1998,9 @@ buf_LRU_block_remove_hashed_page( break; case FIL_PAGE_INDEX: #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(&bpage->zip, page)); + ut_a(page_zip_validate( + &bpage->zip, page, + ((buf_block_t*) bpage)->index)); #endif /* UNIV_ZIP_DEBUG */ break; default: diff --git a/storage/innobase/dict/dict0dict.c b/storage/innobase/dict/dict0dict.c index 6f2c2caffaf..d5b16d419f1 100644 --- a/storage/innobase/dict/dict0dict.c +++ b/storage/innobase/dict/dict0dict.c @@ -487,10 +487,12 @@ Looks for column n in an index. ULINT_UNDEFINED if not contained */ UNIV_INTERN ulint -dict_index_get_nth_col_pos( -/*=======================*/ - const dict_index_t* index, /*!< in: index */ - ulint n) /*!< in: column number */ +dict_index_get_nth_col_or_prefix_pos( +/*=================================*/ + const dict_index_t* index, /*!< in: index */ + ulint n, /*!< in: column number */ + ibool inc_prefix) /*!< in: TRUE=consider + column prefixes too */ { const dict_field_t* field; const dict_col_t* col; @@ -512,7 +514,8 @@ dict_index_get_nth_col_pos( for (pos = 0; pos < n_fields; pos++) { field = dict_index_get_nth_field(index, pos); - if (col == field->col && field->prefix_len == 0) { + if (col == field->col + && (inc_prefix || field->prefix_len == 0)) { return(pos); } @@ -521,6 +524,20 @@ dict_index_get_nth_col_pos( return(ULINT_UNDEFINED); } +/********************************************************************//** +Looks for column n in an index. +@return position in internal representation of the index; +ULINT_UNDEFINED if not contained */ +UNIV_INTERN +ulint +dict_index_get_nth_col_pos( +/*=======================*/ + const dict_index_t* index, /*!< in: index */ + ulint n) /*!< in: column number */ +{ + return(dict_index_get_nth_col_or_prefix_pos(index, n, FALSE)); +} + #ifndef UNIV_HOTBACKUP /********************************************************************//** Returns TRUE if the index contains a column or a prefix of that column. @@ -2017,7 +2034,6 @@ dict_index_build_internal_clust( { dict_index_t* new_index; dict_field_t* field; - ulint fixed_size; ulint trx_id_pos; ulint i; ibool* indexed; @@ -2094,7 +2110,7 @@ dict_index_build_internal_clust( for (i = 0; i < trx_id_pos; i++) { - fixed_size = dict_col_get_fixed_size( + ulint fixed_size = dict_col_get_fixed_size( dict_index_get_nth_col(new_index, i), dict_table_is_comp(table)); @@ -2111,7 +2127,20 @@ dict_index_build_internal_clust( break; } - new_index->trx_id_offset += (unsigned int) fixed_size; + /* Add fixed_size to new_index->trx_id_offset. + Because the latter is a bit-field, an overflow + can theoretically occur. Check for it. */ + fixed_size += new_index->trx_id_offset; + + new_index->trx_id_offset = fixed_size; + + if (new_index->trx_id_offset != fixed_size) { + /* Overflow. Pretend that this is a + variable-length PRIMARY KEY. */ + ut_ad(0); + new_index->trx_id_offset = 0; + break; + } } } diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index 4553df05550..99606f637fb 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -11747,8 +11747,8 @@ static MYSQL_SYSVAR_ENUM(stats_method, srv_innodb_stats_method, #if defined UNIV_DEBUG || defined UNIV_IBUF_DEBUG static MYSQL_SYSVAR_UINT(change_buffering_debug, ibuf_debug, PLUGIN_VAR_RQCMDARG, - "Debug flags for InnoDB change buffering (0=none)", - NULL, NULL, 0, 0, 1, 0); + "Debug flags for InnoDB change buffering (0=none, 2=crash at merge)", + NULL, NULL, 0, 0, 2, 0); #endif /* UNIV_DEBUG || UNIV_IBUF_DEBUG */ static MYSQL_SYSVAR_BOOL(random_read_ahead, srv_random_read_ahead, diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc index dc65fb3ff1a..451e37f2136 100644 --- a/storage/innobase/handler/handler0alter.cc +++ b/storage/innobase/handler/handler0alter.cc @@ -112,13 +112,17 @@ innobase_col_to_mysql( /* These column types should never be shipped to MySQL. */ ut_ad(0); - case DATA_CHAR: case DATA_FIXBINARY: case DATA_FLOAT: case DATA_DOUBLE: case DATA_DECIMAL: /* Above are the valid column types for MySQL data. */ ut_ad(flen == len); + /* fall through */ + case DATA_CHAR: + /* We may have flen > len when there is a shorter + prefix on a CHAR column. */ + ut_ad(flen >= len); #else /* UNIV_DEBUG */ default: #endif /* UNIV_DEBUG */ @@ -151,7 +155,7 @@ innobase_rec_to_mysql( field->reset(); - ipos = dict_index_get_nth_col_pos(index, i); + ipos = dict_index_get_nth_col_or_prefix_pos(index, i, TRUE); if (UNIV_UNLIKELY(ipos == ULINT_UNDEFINED)) { null_field: diff --git a/storage/innobase/ibuf/ibuf0ibuf.c b/storage/innobase/ibuf/ibuf0ibuf.c index c7887afef92..7b48dcb5280 100644 --- a/storage/innobase/ibuf/ibuf0ibuf.c +++ b/storage/innobase/ibuf/ibuf0ibuf.c @@ -4285,6 +4285,22 @@ ibuf_delete_rec( ut_ad(ibuf_rec_get_page_no(mtr, btr_pcur_get_rec(pcur)) == page_no); ut_ad(ibuf_rec_get_space(mtr, btr_pcur_get_rec(pcur)) == space); +#if defined UNIV_DEBUG || defined UNIV_IBUF_DEBUG + if (ibuf_debug == 2) { + /* Inject a fault (crash). We do this before trying + optimistic delete, because a pessimistic delete in the + change buffer would require a larger test case. */ + + /* Flag the buffered record as processed, to avoid + an assertion failure after crash recovery. */ + btr_cur_set_deleted_flag_for_ibuf( + btr_pcur_get_rec(pcur), NULL, TRUE, mtr); + mtr_commit(mtr); + log_make_checkpoint_at(IB_ULONGLONG_MAX, TRUE); + DBUG_SUICIDE(); + } +#endif /* UNIV_DEBUG || UNIV_IBUF_DEBUG */ + success = btr_cur_optimistic_delete(btr_pcur_get_btr_cur(pcur), mtr); if (success) { @@ -4319,7 +4335,13 @@ ibuf_delete_rec( ut_ad(ibuf_rec_get_page_no(mtr, btr_pcur_get_rec(pcur)) == page_no); ut_ad(ibuf_rec_get_space(mtr, btr_pcur_get_rec(pcur)) == space); - /* We have to resort to a pessimistic delete from ibuf */ + /* We have to resort to a pessimistic delete from ibuf. + Delete-mark the record so that it will not be applied again, + in case the server crashes before the pessimistic delete is + made persistent. */ + btr_cur_set_deleted_flag_for_ibuf( + btr_pcur_get_rec(pcur), NULL, TRUE, mtr); + btr_pcur_store_position(pcur, mtr); ibuf_btr_pcur_commit_specify_mtr(pcur, mtr); @@ -4600,7 +4622,7 @@ loop: fputs("InnoDB: Discarding record\n ", stderr); rec_print_old(stderr, rec); fputs("\nInnoDB: from the insert buffer!\n\n", stderr); - } else if (block) { + } else if (block && !rec_get_deleted_flag(rec, 0)) { /* Now we have at pcur a record which should be applied on the index page; NOTE that the call below copies pointers to fields in rec, and we must diff --git a/storage/innobase/include/btr0cur.h b/storage/innobase/include/btr0cur.h index cbc6103c2ee..6819f2bc2c5 100644 --- a/storage/innobase/include/btr0cur.h +++ b/storage/innobase/include/btr0cur.h @@ -635,7 +635,7 @@ btr_cur_set_deleted_flag_for_ibuf( when the tablespace is uncompressed */ ibool val, /*!< in: value to set */ - mtr_t* mtr); /*!< in: mtr */ + mtr_t* mtr); /*!< in/out: mini-transaction */ /*######################################################################*/ /** In the pessimistic delete, if the page data size drops below this diff --git a/storage/innobase/include/dict0dict.h b/storage/innobase/include/dict0dict.h index b609bce9d41..54af14313c4 100644 --- a/storage/innobase/include/dict0dict.h +++ b/storage/innobase/include/dict0dict.h @@ -910,6 +910,18 @@ dict_index_get_nth_col_pos( const dict_index_t* index, /*!< in: index */ ulint n); /*!< in: column number */ /********************************************************************//** +Looks for column n in an index. +@return position in internal representation of the index; +ULINT_UNDEFINED if not contained */ +UNIV_INTERN +ulint +dict_index_get_nth_col_or_prefix_pos( +/*=================================*/ + const dict_index_t* index, /*!< in: index */ + ulint n, /*!< in: column number */ + ibool inc_prefix); /*!< in: TRUE=consider + column prefixes too */ +/********************************************************************//** Returns TRUE if the index contains a column or a prefix of that column. @return TRUE if contains the column or its prefix */ UNIV_INTERN diff --git a/storage/innobase/include/dict0mem.h b/storage/innobase/include/dict0mem.h index 4c371c8d5cf..980417715b3 100644 --- a/storage/innobase/include/dict0mem.h +++ b/storage/innobase/include/dict0mem.h @@ -377,10 +377,15 @@ struct dict_index_struct{ unsigned type:DICT_IT_BITS; /*!< index type (DICT_CLUSTERED, DICT_UNIQUE, DICT_UNIVERSAL, DICT_IBUF, DICT_CORRUPT) */ - unsigned trx_id_offset:10;/*!< position of the trx id column +#define MAX_KEY_LENGTH_BITS 12 + unsigned trx_id_offset:MAX_KEY_LENGTH_BITS; + /*!< position of the trx id column in a clustered index record, if the fields before it are known to be of a fixed size, 0 otherwise */ +#if (1<<MAX_KEY_LENGTH_BITS) < MAX_KEY_LENGTH +# error (1<<MAX_KEY_LENGTH_BITS) < MAX_KEY_LENGTH +#endif unsigned n_user_defined_cols:10; /*!< number of columns the user defined to be in the index: in the internal diff --git a/storage/innobase/include/page0zip.h b/storage/innobase/include/page0zip.h index 00c1d0516e6..9cf3b9805bc 100644 --- a/storage/innobase/include/page0zip.h +++ b/storage/innobase/include/page0zip.h @@ -156,9 +156,10 @@ page_zip_validate_low( /*==================*/ const page_zip_des_t* page_zip,/*!< in: compressed page */ const page_t* page, /*!< in: uncompressed page */ + const dict_index_t* index, /*!< in: index of the page, if known */ ibool sloppy) /*!< in: FALSE=strict, TRUE=ignore the MIN_REC_FLAG */ - __attribute__((nonnull)); + __attribute__((nonnull(1,2))); /**********************************************************************//** Check that the compressed and decompressed pages match. */ UNIV_INTERN @@ -166,8 +167,9 @@ ibool page_zip_validate( /*==============*/ const page_zip_des_t* page_zip,/*!< in: compressed page */ - const page_t* page) /*!< in: uncompressed page */ - __attribute__((nonnull)); + const page_t* page, /*!< in: uncompressed page */ + const dict_index_t* index) /*!< in: index of the page, if known */ + __attribute__((nonnull(1,2))); #endif /* UNIV_ZIP_DEBUG */ /**********************************************************************//** diff --git a/storage/innobase/include/row0undo.h b/storage/innobase/include/row0undo.h index 6eb4ca448b3..9420d022e3b 100644 --- a/storage/innobase/include/row0undo.h +++ b/storage/innobase/include/row0undo.h @@ -87,10 +87,6 @@ that index record. */ enum undo_exec { UNDO_NODE_FETCH_NEXT = 1, /*!< we should fetch the next undo log record */ - UNDO_NODE_PREV_VERS, /*!< the roll ptr to previous - version of a row is stored in - node, and undo should be done - based on it */ UNDO_NODE_INSERT, /*!< undo a fresh insert of a row to a table */ UNDO_NODE_MODIFY /*!< undo a modify operation @@ -108,9 +104,6 @@ struct undo_node_struct{ undo_no_t undo_no;/*!< undo number of the record */ ulint rec_type;/*!< undo log record type: TRX_UNDO_INSERT_REC, ... */ - roll_ptr_t new_roll_ptr; - /*!< roll ptr to restore to clustered index - record */ trx_id_t new_trx_id; /*!< trx id to restore to clustered index record */ btr_pcur_t pcur; /*!< persistent cursor used in searching the diff --git a/storage/innobase/log/log0recv.c b/storage/innobase/log/log0recv.c index 6c55a1badc5..03ba4d12cd0 100644 --- a/storage/innobase/log/log0recv.c +++ b/storage/innobase/log/log0recv.c @@ -1636,9 +1636,8 @@ recv_recover_page_func( if (fil_page_get_type(page) == FIL_PAGE_INDEX) { page_zip_des_t* page_zip = buf_block_get_page_zip(block); - if (page_zip) { - ut_a(page_zip_validate_low(page_zip, page, FALSE)); - } + ut_a(!page_zip + || page_zip_validate_low(page_zip, page, NULL, FALSE)); } #endif /* UNIV_ZIP_DEBUG */ diff --git a/storage/innobase/os/os0file.c b/storage/innobase/os/os0file.c index 1068c033871..4857e662121 100644 --- a/storage/innobase/os/os0file.c +++ b/storage/innobase/os/os0file.c @@ -1397,6 +1397,14 @@ os_file_create_func( DWORD create_flag; DWORD attributes; ibool retry; + + DBUG_EXECUTE_IF( + "ib_create_table_fail_disk_full", + *success = FALSE; + SetLastError(ERROR_DISK_FULL); + return((os_file_t) -1); + ); + try_again: ut_a(name); @@ -1512,6 +1520,13 @@ try_again: ibool retry; const char* mode_str = NULL; + DBUG_EXECUTE_IF( + "ib_create_table_fail_disk_full", + *success = FALSE; + errno = ENOSPC; + return((os_file_t) -1); + ); + try_again: ut_a(name); diff --git a/storage/innobase/page/page0cur.c b/storage/innobase/page/page0cur.c index 55ba72b4fe9..a722f5b188d 100644 --- a/storage/innobase/page/page0cur.c +++ b/storage/innobase/page/page0cur.c @@ -310,7 +310,7 @@ page_cur_search_with_match( #endif /* UNIV_DEBUG */ page = buf_block_get_frame(block); #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ page_check_dir(page); @@ -1248,7 +1248,7 @@ page_cur_insert_rec_zip( ut_ad(!page_rec_is_supremum(*current_rec)); #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page)); + ut_a(page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ /* 1. Get the size of the physical record in the page */ @@ -1973,7 +1973,7 @@ page_cur_delete_rec( } #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ } diff --git a/storage/innobase/page/page0page.c b/storage/innobase/page/page0page.c index 78135b0aff2..81051f8f4fe 100644 --- a/storage/innobase/page/page0page.c +++ b/storage/innobase/page/page0page.c @@ -626,7 +626,7 @@ page_copy_rec_list_end( Furthermore, btr_compress() may set FIL_PAGE_PREV to FIL_NULL on new_page while leaving it intact on new_page_zip. So, we cannot validate new_page_zip. */ - ut_a(page_zip_validate_low(page_zip, page, TRUE)); + ut_a(page_zip_validate_low(page_zip, page, index, TRUE)); } #endif /* UNIV_ZIP_DEBUG */ ut_ad(buf_block_get_frame(block) == page); @@ -946,7 +946,7 @@ page_delete_rec_list_end( ut_ad(size == ULINT_UNDEFINED || size < UNIV_PAGE_SIZE); ut_ad(!page_zip || page_rec_is_comp(rec)); #ifdef UNIV_ZIP_DEBUG - ut_a(!page_zip || page_zip_validate(page_zip, page)); + ut_a(!page_zip || page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ if (page_rec_is_infimum(rec)) { @@ -988,7 +988,7 @@ page_delete_rec_list_end( ULINT_UNDEFINED, &heap); rec = rec_get_next_ptr(rec, TRUE); #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page)); + ut_a(page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ page_cur_delete_rec(&cur, index, offsets, mtr); } while (page_offset(rec) != PAGE_NEW_SUPREMUM); @@ -1128,7 +1128,8 @@ page_delete_rec_list_start( between btr_attach_half_pages() and insert_page = ... when btr_page_get_split_rec_to_left() holds (direction == FSP_DOWN). */ - ut_a(!page_zip || page_zip_validate_low(page_zip, page, TRUE)); + ut_a(!page_zip + || page_zip_validate_low(page_zip, page, index, TRUE)); } #endif /* UNIV_ZIP_DEBUG */ @@ -1199,9 +1200,10 @@ page_move_rec_list_end( = buf_block_get_page_zip(block); ut_a(!new_page_zip == !page_zip); ut_a(!new_page_zip - || page_zip_validate(new_page_zip, new_page)); + || page_zip_validate(new_page_zip, new_page, index)); ut_a(!page_zip - || page_zip_validate(page_zip, page_align(split_rec))); + || page_zip_validate(page_zip, page_align(split_rec), + index)); } #endif /* UNIV_ZIP_DEBUG */ diff --git a/storage/innobase/page/page0zip.c b/storage/innobase/page/page0zip.c index ca3836689d3..9f895e60803 100644 --- a/storage/innobase/page/page0zip.c +++ b/storage/innobase/page/page0zip.c @@ -1433,7 +1433,7 @@ err_exit: page_zip_get_size(page_zip) - PAGE_DATA); mem_heap_free(heap); #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page)); + ut_a(page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ if (mtr) { @@ -3119,6 +3119,7 @@ page_zip_validate_low( /*==================*/ const page_zip_des_t* page_zip,/*!< in: compressed page */ const page_t* page, /*!< in: uncompressed page */ + const dict_index_t* index, /*!< in: index of the page, if known */ ibool sloppy) /*!< in: FALSE=strict, TRUE=ignore the MIN_REC_FLAG */ { @@ -3206,39 +3207,102 @@ page_zip_validate_low( committed. Let us tolerate that difference when we are performing a sloppy validation. */ - if (sloppy) { - byte info_bits_diff; - ulint offset - = rec_get_next_offs(page + PAGE_NEW_INFIMUM, - TRUE); - ut_a(offset >= PAGE_NEW_SUPREMUM); - offset -= 5 /* REC_NEW_INFO_BITS */; - - info_bits_diff = page[offset] ^ temp_page[offset]; - - if (info_bits_diff == REC_INFO_MIN_REC_FLAG) { - temp_page[offset] = page[offset]; - - if (!memcmp(page + PAGE_HEADER, - temp_page + PAGE_HEADER, - UNIV_PAGE_SIZE - PAGE_HEADER - - FIL_PAGE_DATA_END)) { - - /* Only the minimum record flag - differed. Let us ignore it. */ - page_zip_fail(("page_zip_validate: " - "min_rec_flag " - "(ignored, " - "%lu,%lu,0x%02lx)\n", - page_get_space_id(page), - page_get_page_no(page), - (ulong) page[offset])); - goto func_exit; + ulint* offsets; + mem_heap_t* heap; + const rec_t* rec; + const rec_t* trec; + byte info_bits_diff; + ulint offset + = rec_get_next_offs(page + PAGE_NEW_INFIMUM, TRUE); + ut_a(offset >= PAGE_NEW_SUPREMUM); + offset -= 5/*REC_NEW_INFO_BITS*/; + + info_bits_diff = page[offset] ^ temp_page[offset]; + + if (info_bits_diff == REC_INFO_MIN_REC_FLAG) { + temp_page[offset] = page[offset]; + + if (!memcmp(page + PAGE_HEADER, + temp_page + PAGE_HEADER, + UNIV_PAGE_SIZE - PAGE_HEADER + - FIL_PAGE_DATA_END)) { + + /* Only the minimum record flag + differed. Let us ignore it. */ + page_zip_fail(("page_zip_validate: " + "min_rec_flag " + "(%s" + "%lu,%lu,0x%02lx)\n", + sloppy ? "ignored, " : "", + page_get_space_id(page), + page_get_page_no(page), + (ulong) page[offset])); + valid = sloppy; + goto func_exit; + } + } + + /* Compare the pointers in the PAGE_FREE list. */ + rec = page_header_get_ptr(page, PAGE_FREE); + trec = page_header_get_ptr(temp_page, PAGE_FREE); + + while (rec || trec) { + if (page_offset(rec) != page_offset(trec)) { + page_zip_fail(("page_zip_validate: " + "PAGE_FREE list: %u!=%u\n", + (unsigned) page_offset(rec), + (unsigned) page_offset(trec))); + valid = FALSE; + goto func_exit; + } + + rec = page_rec_get_next_low(rec, TRUE); + trec = page_rec_get_next_low(trec, TRUE); + } + + /* Compare the records. */ + heap = NULL; + offsets = NULL; + rec = page_rec_get_next_low( + page + PAGE_NEW_INFIMUM, TRUE); + trec = page_rec_get_next_low( + temp_page + PAGE_NEW_INFIMUM, TRUE); + + do { + if (page_offset(rec) != page_offset(trec)) { + page_zip_fail(("page_zip_validate: " + "record list: 0x%02x!=0x%02x\n", + (unsigned) page_offset(rec), + (unsigned) page_offset(trec))); + valid = FALSE; + break; + } + + if (index) { + /* Compare the data. */ + offsets = rec_get_offsets( + rec, index, offsets, + ULINT_UNDEFINED, &heap); + + if (memcmp(rec - rec_offs_extra_size(offsets), + trec - rec_offs_extra_size(offsets), + rec_offs_size(offsets))) { + page_zip_fail( + ("page_zip_validate: " + "record content: 0x%02x", + (unsigned) page_offset(rec))); + valid = FALSE; + break; } } + + rec = page_rec_get_next_low(rec, TRUE); + trec = page_rec_get_next_low(trec, TRUE); + } while (rec || trec); + + if (heap) { + mem_heap_free(heap); } - page_zip_fail(("page_zip_validate: content\n")); - valid = FALSE; } func_exit: @@ -3260,9 +3324,10 @@ ibool page_zip_validate( /*==============*/ const page_zip_des_t* page_zip,/*!< in: compressed page */ - const page_t* page) /*!< in: uncompressed page */ + const page_t* page, /*!< in: uncompressed page */ + const dict_index_t* index) /*!< in: index of the page, if known */ { - return(page_zip_validate_low(page_zip, page, + return(page_zip_validate_low(page_zip, page, index, recv_recovery_is_on())); } #endif /* UNIV_ZIP_DEBUG */ @@ -3593,7 +3658,7 @@ page_zip_write_rec( page_zip->m_nonempty = TRUE; #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page_align(rec))); + ut_a(page_zip_validate(page_zip, page_align(rec), index)); #endif /* UNIV_ZIP_DEBUG */ } @@ -3640,7 +3705,7 @@ corrupt: } #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page)); + ut_a(page_zip_validate(page_zip, page, NULL)); #endif /* UNIV_ZIP_DEBUG */ memcpy(page + offset, @@ -3649,7 +3714,7 @@ corrupt: ptr + 4, BTR_EXTERN_FIELD_REF_SIZE); #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page)); + ut_a(page_zip_validate(page_zip, page, NULL)); #endif /* UNIV_ZIP_DEBUG */ } @@ -3716,7 +3781,7 @@ page_zip_write_blob_ptr( memcpy(externs, field, BTR_EXTERN_FIELD_REF_SIZE); #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page)); + ut_a(page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ if (mtr) { @@ -3787,7 +3852,7 @@ corrupt: } #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page)); + ut_a(page_zip_validate(page_zip, page, NULL)); #endif /* UNIV_ZIP_DEBUG */ field = page + offset; @@ -3808,7 +3873,7 @@ corrupt: memcpy(storage, ptr + 4, REC_NODE_PTR_SIZE); #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page)); + ut_a(page_zip_validate(page_zip, page, NULL)); #endif /* UNIV_ZIP_DEBUG */ } @@ -4035,7 +4100,7 @@ page_zip_clear_rec( } #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page)); + ut_a(page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ } @@ -4059,7 +4124,7 @@ page_zip_rec_set_deleted( *slot &= ~(PAGE_ZIP_DIR_SLOT_DEL >> 8); } #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page_align(rec))); + ut_a(page_zip_validate(page_zip, page_align(rec), NULL)); #endif /* UNIV_ZIP_DEBUG */ } @@ -4360,14 +4425,14 @@ corrupt: goto corrupt; } #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page)); + ut_a(page_zip_validate(page_zip, page, NULL)); #endif /* UNIV_ZIP_DEBUG */ memcpy(page + offset, ptr, len); memcpy(page_zip->data + offset, ptr, len); #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page)); + ut_a(page_zip_validate(page_zip, page, NULL)); #endif /* UNIV_ZIP_DEBUG */ } @@ -4445,7 +4510,7 @@ page_zip_reorganize( ut_ad(mtr_memo_contains(mtr, block, MTR_MEMO_PAGE_X_FIX)); ut_ad(page_is_comp(page)); ut_ad(!dict_index_is_ibuf(index)); - /* Note that page_zip_validate(page_zip, page) may fail here. */ + /* Note that page_zip_validate(page_zip, page, index) may fail here. */ UNIV_MEM_ASSERT_RW(page, UNIV_PAGE_SIZE); UNIV_MEM_ASSERT_RW(page_zip->data, page_zip_get_size(page_zip)); @@ -4532,7 +4597,7 @@ page_zip_copy_recs( FIL_PAGE_PREV or PAGE_LEVEL, causing a temporary min_rec_flag mismatch. A strict page_zip_validate() will be executed later during the B-tree operations. */ - ut_a(page_zip_validate_low(src_zip, src, TRUE)); + ut_a(page_zip_validate_low(src_zip, src, index, TRUE)); #endif /* UNIV_ZIP_DEBUG */ ut_a(page_zip_get_size(page_zip) == page_zip_get_size(src_zip)); if (UNIV_UNLIKELY(src_zip->n_blobs)) { @@ -4593,7 +4658,7 @@ page_zip_copy_recs( } #ifdef UNIV_ZIP_DEBUG - ut_a(page_zip_validate(page_zip, page)); + ut_a(page_zip_validate(page_zip, page, index)); #endif /* UNIV_ZIP_DEBUG */ btr_blob_dbg_add(page, index, "page_zip_copy_recs"); diff --git a/storage/innobase/row/row0mysql.c b/storage/innobase/row/row0mysql.c index 20e8c13ea70..7e1d18d41b6 100644 --- a/storage/innobase/row/row0mysql.c +++ b/storage/innobase/row/row0mysql.c @@ -1855,7 +1855,8 @@ Creates a table for MySQL. If the name of the table ends in one of "innodb_monitor", "innodb_lock_monitor", "innodb_tablespace_monitor", "innodb_table_monitor", then this will also start the printing of monitor output by the master thread. If the table name ends in "innodb_mem_validate", -InnoDB will try to invoke mem_validate(). +InnoDB will try to invoke mem_validate(). On failure the transaction will +be rolled back and the 'table' object will be freed. @return error code or DB_SUCCESS */ UNIV_INTERN int @@ -1993,6 +1994,8 @@ err_exit: row_drop_table_for_mysql(table->name, trx, FALSE); trx_commit_for_mysql(trx); + } else { + dict_mem_table_free(table); } break; diff --git a/storage/innobase/row/row0sel.c b/storage/innobase/row/row0sel.c index 7bec0a26225..48c36e4b92f 100644 --- a/storage/innobase/row/row0sel.c +++ b/storage/innobase/row/row0sel.c @@ -3915,6 +3915,11 @@ wait_table_again: } rec_loop: + if (trx_is_interrupted(trx)) { + err = DB_INTERRUPTED; + goto normal_return; + } + /*-------------------------------------------------------------*/ /* PHASE 4: Look for matching records in a loop */ @@ -4839,11 +4844,15 @@ row_search_autoinc_read_column( rec_offs_init(offsets_); - offsets = rec_get_offsets(rec, index, offsets, ULINT_UNDEFINED, &heap); + offsets = rec_get_offsets(rec, index, offsets, col_no + 1, &heap); - data = rec_get_nth_field(rec, offsets, col_no, &len); + if (rec_offs_nth_sql_null(offsets, col_no)) { + /* There is no non-NULL value in the auto-increment column. */ + value = 0; + goto func_exit; + } - ut_a(len != UNIV_SQL_NULL); + data = rec_get_nth_field(rec, offsets, col_no, &len); switch (mtype) { case DATA_INT: @@ -4865,14 +4874,15 @@ row_search_autoinc_read_column( ut_error; } - if (UNIV_LIKELY_NULL(heap)) { - mem_heap_free(heap); - } - if (!unsigned_type && (ib_int64_t) value < 0) { value = 0; } +func_exit: + if (UNIV_LIKELY_NULL(heap)) { + mem_heap_free(heap); + } + return(value); } diff --git a/storage/innobase/row/row0umod.c b/storage/innobase/row/row0umod.c index 9597c476125..9e5fb8686c6 100644 --- a/storage/innobase/row/row0umod.c +++ b/storage/innobase/row/row0umod.c @@ -69,36 +69,6 @@ If you make a change in this module make sure that no codepath is introduced where a call to log_free_check() is bypassed. */ /***********************************************************//** -Checks if also the previous version of the clustered index record was -modified or inserted by the same transaction, and its undo number is such -that it should be undone in the same rollback. -@return TRUE if also previous modify or insert of this row should be undone */ -static -ibool -row_undo_mod_undo_also_prev_vers( -/*=============================*/ - undo_node_t* node, /*!< in: row undo node */ - undo_no_t* undo_no)/*!< out: the undo number */ -{ - trx_undo_rec_t* undo_rec; - trx_t* trx; - - trx = node->trx; - - if (node->new_trx_id != trx->id) { - - *undo_no = 0; - return(FALSE); - } - - undo_rec = trx_undo_get_undo_rec_low(node->new_roll_ptr, node->heap); - - *undo_no = trx_undo_rec_get_undo_no(undo_rec); - - return(trx->roll_limit <= *undo_no); -} - -/***********************************************************//** Undoes a modify in a clustered index record. @return DB_SUCCESS, DB_FAIL, or error code: we may run out of file space */ static @@ -226,19 +196,11 @@ row_undo_mod_clust( btr_pcur_t* pcur; mtr_t mtr; ulint err; - ibool success; - ibool more_vers; - undo_no_t new_undo_no; ut_ad(node && thr); log_free_check(); - /* Check if also the previous version of the clustered index record - should be undone in this same rollback operation */ - - more_vers = row_undo_mod_undo_also_prev_vers(node, &new_undo_no); - pcur = &(node->pcur); mtr_start(&mtr); @@ -286,20 +248,6 @@ row_undo_mod_clust( trx_undo_rec_release(node->trx, node->undo_no); - if (more_vers && err == DB_SUCCESS) { - - /* Reserve the undo log record to the prior version after - committing &mtr: this is necessary to comply with the latching - order, as &mtr may contain the fsp latch which is lower in - the latch hierarchy than trx->undo_mutex. */ - - success = trx_undo_rec_reserve(node->trx, new_undo_no); - - if (success) { - node->state = UNDO_NODE_PREV_VERS; - } - } - return(err); } @@ -847,7 +795,6 @@ row_undo_mod_parse_undo_rec( trx_undo_update_rec_get_update(ptr, clust_index, type, trx_id, roll_ptr, info_bits, trx, node->heap, &(node->update)); - node->new_roll_ptr = roll_ptr; node->new_trx_id = trx_id; node->cmpl_info = cmpl_info; } diff --git a/storage/innobase/row/row0undo.c b/storage/innobase/row/row0undo.c index 09970b7fe21..a1c1d72f8c6 100644 --- a/storage/innobase/row/row0undo.c +++ b/storage/innobase/row/row0undo.c @@ -282,25 +282,6 @@ row_undo( } else { node->state = UNDO_NODE_MODIFY; } - - } else if (node->state == UNDO_NODE_PREV_VERS) { - - /* Undo should be done to the same clustered index record - again in this same rollback, restoring the previous version */ - - roll_ptr = node->new_roll_ptr; - - node->undo_rec = trx_undo_get_undo_rec_low(roll_ptr, - node->heap); - node->roll_ptr = roll_ptr; - node->undo_no = trx_undo_rec_get_undo_no(node->undo_rec); - - if (trx_undo_roll_ptr_is_insert(roll_ptr)) { - - node->state = UNDO_NODE_INSERT; - } else { - node->state = UNDO_NODE_MODIFY; - } } /* Prevent DROP TABLE etc. while we are rolling back this row. diff --git a/storage/myisam/myisamchk.c b/storage/myisam/myisamchk.c index 7d8b577e8b0..e806ca6f8f6 100644 --- a/storage/myisam/myisamchk.c +++ b/storage/myisam/myisamchk.c @@ -291,7 +291,14 @@ static struct my_option my_long_options[] = &check_param.write_buffer_length, 0, GET_ULONG, REQUIRED_ARG, (long) READ_BUFFER_INIT, (long) MALLOC_OVERHEAD, INT_MAX32, (long) MALLOC_OVERHEAD, (long) 1L, 0}, - { "sort_buffer_size", OPT_SORT_BUFFER_SIZE, "", + { "sort_buffer_size", OPT_SORT_BUFFER_SIZE, + "Deprecated. myisam_sort_buffer_size alias is being used", + &check_param.sort_buffer_length, + &check_param.sort_buffer_length, 0, GET_ULONG, REQUIRED_ARG, + (long) SORT_BUFFER_INIT, (long) (MIN_SORT_BUFFER + MALLOC_OVERHEAD), + ULONG_MAX, (long) MALLOC_OVERHEAD, (long) 1L, 0}, + { "myisam_sort_buffer_size", OPT_SORT_BUFFER_SIZE, + "Alias of sort_buffer_size parameter", &check_param.sort_buffer_length, &check_param.sort_buffer_length, 0, GET_ULL, REQUIRED_ARG, (long) SORT_BUFFER_INIT, (long) (MIN_SORT_BUFFER + MALLOC_OVERHEAD), diff --git a/win/create_def_file.js b/win/create_def_file.js index 019bb7471ab..461f4766a1d 100644 --- a/win/create_def_file.js +++ b/win/create_def_file.js @@ -169,6 +169,7 @@ function ScrubSymbol(symbol) function IsCompilerDefinedSymbol(symbol) { return ((symbol.indexOf("__real@") != -1) || + (symbol.indexOf("_xmm@") != -1) || (symbol.indexOf("_RTC_") != -1) || (symbol.indexOf("??_C@_") != -1) || (symbol.indexOf("??_R") != -1) || |