5.3 merge
This commit is contained in:
commit
aca8e7ed6b
4
VERSION
4
VERSION
@ -1,4 +1,4 @@
|
|||||||
MYSQL_VERSION_MAJOR=5
|
MYSQL_VERSION_MAJOR=5
|
||||||
MYSQL_VERSION_MINOR=5
|
MYSQL_VERSION_MINOR=5
|
||||||
MYSQL_VERSION_PATCH=28
|
MYSQL_VERSION_PATCH=29
|
||||||
MYSQL_VERSION_EXTRA=a
|
MYSQL_VERSION_EXTRA=
|
||||||
|
@ -191,6 +191,32 @@ t1 CREATE TABLE `t1` (
|
|||||||
`r` varchar(10) CHARACTER SET ucs2 NOT NULL DEFAULT ''
|
`r` varchar(10) CHARACTER SET ucs2 NOT NULL DEFAULT ''
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
DROP 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);
|
||||||
|
# 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));
|
create table t2(f1 Char(30));
|
||||||
insert into t2 values ("103000"), ("22720000"), ("3401200"), ("78000");
|
insert into t2 values ("103000"), ("22720000"), ("3401200"), ("78000");
|
||||||
select lpad(f1, 12, "-o-/") from t2;
|
select lpad(f1, 12, "-o-/") from t2;
|
||||||
|
@ -4,5 +4,5 @@ insert t1 values (addtime('9999-12-31 23:59:59', '00:00:01')),
|
|||||||
select * from t1;
|
select * from t1;
|
||||||
d
|
d
|
||||||
NULL
|
NULL
|
||||||
NULL
|
0000-00-00 00:00:00
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
@ -2115,6 +2115,55 @@ a
|
|||||||
4
|
4
|
||||||
drop table t1,t2;
|
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
|
# end of 5.3 tests
|
||||||
#
|
#
|
||||||
set optimizer_switch=@exit_optimizer_switch;
|
set optimizer_switch=@exit_optimizer_switch;
|
||||||
|
@ -1423,7 +1423,7 @@ MAKEDATE(11111111,1)
|
|||||||
NULL
|
NULL
|
||||||
SELECT WEEK(DATE_ADD(FROM_DAYS(1),INTERVAL 1 MONTH), 1);
|
SELECT WEEK(DATE_ADD(FROM_DAYS(1),INTERVAL 1 MONTH), 1);
|
||||||
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,
|
# Bug#12584302 AFTER FIX FOR #12403504: ASSERTION FAILED: DELSUM+(INT) Y/4-TEMP > 0,
|
||||||
#
|
#
|
||||||
|
20
mysql-test/r/grant_lowercase.result
Normal file
20
mysql-test/r/grant_lowercase.result
Normal file
@ -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;
|
@ -2130,6 +2130,47 @@ the value below *must* be 1
|
|||||||
show status like 'Created_tmp_disk_tables';
|
show status like 'Created_tmp_disk_tables';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Created_tmp_disk_tables 1
|
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
|
# End of 5.3 tests
|
||||||
#
|
#
|
||||||
# Bug#49771: Incorrect MIN (date) when minimum value is 0000-00-00
|
# Bug#49771: Incorrect MIN (date) when minimum value is 0000-00-00
|
||||||
|
@ -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
|
WHERE t1.b BETWEEN 5 AND 6 AND t1.pk IS NULL OR t1.pk = 5
|
||||||
ORDER BY t1.pk;
|
ORDER BY t1.pk;
|
||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
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
|
1 SIMPLE t2 const PRIMARY PRIMARY 4 const 1 100.00 Using index
|
||||||
Warnings:
|
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
|
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
|
WHERE t1.b BETWEEN 5 AND 6 AND t1.pk IS NULL OR t1.pk = 5
|
||||||
ORDER BY t1.pk;
|
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
|
WHERE t1.pk BETWEEN 5 AND 6 AND t1.b IS NULL OR t1.b = 5
|
||||||
ORDER BY t1.b;
|
ORDER BY t1.b;
|
||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
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
|
1 SIMPLE t2 ref c c 5 test.t1.a 2 100.00
|
||||||
Warnings:
|
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
|
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
|
WHERE t1.pk BETWEEN 5 AND 6 AND t1.b IS NULL OR t1.b = 5
|
||||||
ORDER BY t1.b;
|
ORDER BY t1.b;
|
||||||
|
@ -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
|
WHERE t1.b BETWEEN 5 AND 6 AND t1.pk IS NULL OR t1.pk = 5
|
||||||
ORDER BY t1.pk;
|
ORDER BY t1.pk;
|
||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
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
|
1 SIMPLE t2 const PRIMARY PRIMARY 4 const 1 100.00 Using index
|
||||||
Warnings:
|
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
|
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
|
WHERE t1.b BETWEEN 5 AND 6 AND t1.pk IS NULL OR t1.pk = 5
|
||||||
ORDER BY t1.pk;
|
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
|
WHERE t1.pk BETWEEN 5 AND 6 AND t1.b IS NULL OR t1.b = 5
|
||||||
ORDER BY t1.b;
|
ORDER BY t1.b;
|
||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
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
|
1 SIMPLE t2 ref c c 5 test.t1.a 2 100.00
|
||||||
Warnings:
|
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
|
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
|
WHERE t1.pk BETWEEN 5 AND 6 AND t1.b IS NULL OR t1.b = 5
|
||||||
ORDER BY t1.b;
|
ORDER BY t1.b;
|
||||||
|
@ -504,35 +504,6 @@ CREATE TABLE t1 (id INT NOT NULL);
|
|||||||
LOAD DATA LOCAL INFILE 'tb.txt' INTO TABLE t1;
|
LOAD DATA LOCAL INFILE 'tb.txt' INTO TABLE t1;
|
||||||
DROP 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
|
# Bug#11765139 58069: LOAD DATA INFILE: VALGRIND REPORTS INVALID MEMORY READS AND WRITES WITH U
|
||||||
#
|
#
|
||||||
CREATE TABLE t1(f1 INT);
|
CREATE TABLE t1(f1 INT);
|
||||||
|
@ -509,5 +509,9 @@ SHOW TABLES IN connected_db;
|
|||||||
Tables_in_connected_db
|
Tables_in_connected_db
|
||||||
table_in_connected_db
|
table_in_connected_db
|
||||||
DROP DATABASE connected_db;
|
DROP DATABASE connected_db;
|
||||||
|
create database `aa``bb````cc`;
|
||||||
|
DATABASE()
|
||||||
|
aa`bb``cc
|
||||||
|
drop database `aa``bb````cc`;
|
||||||
|
|
||||||
End of tests
|
End of tests
|
||||||
|
@ -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
|
teste_bug11763507 SYSTEM # latin1 latin1_swedish_ci latin1_swedish_ci
|
||||||
DROP EVENT teste_bug11763507;
|
DROP EVENT teste_bug11763507;
|
||||||
#END OF BUG#11763507 test.
|
#END OF BUG#11763507 test.
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# -- End of 5.1 tests
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
set @@global.concurrent_insert= @old_concurrent_insert;
|
||||||
|
@ -2248,6 +2248,32 @@ NULL NULL
|
|||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
set optimizer_switch=@subselect4_tmp;
|
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
|
# MDEV-3899 Valgrind warnings (blocks are definitely lost) in filesort on IN subquery with SUM and DISTINCT
|
||||||
#
|
#
|
||||||
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
||||||
|
@ -2988,7 +2988,7 @@ EXPLAIN
|
|||||||
SELECT a FROM t1 t WHERE a IN (SELECT b FROM t1, t2 WHERE b = a)
|
SELECT a FROM t1 t WHERE a IN (SELECT b FROM t1, t2 WHERE b = a)
|
||||||
GROUP BY a HAVING a != 'z';
|
GROUP BY a HAVING a != 'z';
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
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
|
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 t2 ALL NULL NULL NULL NULL 2 Using where
|
||||||
2 MATERIALIZED t1 ref idx_a idx_a 4 test.t2.b 2 Using index
|
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)
|
SELECT a FROM t1 t WHERE a IN (SELECT b FROM t1, t2 WHERE b = a)
|
||||||
GROUP BY a HAVING a != 'z';
|
GROUP BY a HAVING a != 'z';
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
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
|
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 t2 ALL NULL NULL NULL NULL 2 Using where
|
||||||
2 MATERIALIZED t1 ref idx_a idx_a 4 test.t2.b 2 Using index
|
2 MATERIALIZED t1 ref idx_a idx_a 4 test.t2.b 2 Using index
|
||||||
|
@ -4780,6 +4780,30 @@ id id bbb iddqd val1
|
|||||||
drop view v2;
|
drop view v2;
|
||||||
drop table t1,t2;
|
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) :
|
# MDEV-589 (LP BUG#1007647) :
|
||||||
# Assertion `vcol_table == 0 || vcol_table == table' failed in
|
# Assertion `vcol_table == 0 || vcol_table == table' failed in
|
||||||
# fill_record(THD*, List<Item>&, List<Item>&, bool)
|
# fill_record(THD*, List<Item>&, List<Item>&, bool)
|
||||||
@ -4822,6 +4846,23 @@ f2 f1
|
|||||||
7 NULL
|
7 NULL
|
||||||
8 NULL
|
8 NULL
|
||||||
drop tables t1,t2;
|
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.
|
# -- End of 5.3 tests.
|
||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
|
@ -58,7 +58,7 @@ Tables_in_db1
|
|||||||
t2
|
t2
|
||||||
show binlog events from <binlog_start>;
|
show binlog events from <binlog_start>;
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
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 TABLE t3;
|
||||||
DROP DATABASE db1;
|
DROP DATABASE db1;
|
||||||
set binlog_format=mixed;
|
set binlog_format=mixed;
|
||||||
@ -121,7 +121,7 @@ Tables_in_db1
|
|||||||
t2
|
t2
|
||||||
show binlog events from <binlog_start>;
|
show binlog events from <binlog_start>;
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
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 TABLE t3;
|
||||||
DROP DATABASE db1;
|
DROP DATABASE db1;
|
||||||
set binlog_format=row;
|
set binlog_format=row;
|
||||||
@ -185,7 +185,7 @@ Tables_in_db1
|
|||||||
t2
|
t2
|
||||||
show binlog events from <binlog_start>;
|
show binlog events from <binlog_start>;
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
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 TABLE t3;
|
||||||
DROP DATABASE db1;
|
DROP DATABASE db1;
|
||||||
show databases;
|
show databases;
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -2363,7 +2363,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -2456,7 +2456,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 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 # 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 #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
|
### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
|
||||||
### @2=NULL /* type=16 meta=2048 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 */
|
### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */
|
||||||
### @78=NULL /* TIMESTAMP meta=63489 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 */
|
### @79=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -2725,7 +2725,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -2898,7 +2898,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -3071,7 +3071,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
|
### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
|
||||||
### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
|
### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
|
||||||
@ -3244,7 +3244,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -3417,7 +3417,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -3510,7 +3510,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -3603,7 +3603,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -3696,7 +3696,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
|
### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
|
||||||
### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
|
### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
|
||||||
@ -3901,47 +3901,47 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-01' /* VARSTRING(24) meta=24 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 */
|
### @3=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-02' /* VARSTRING(24) meta=24 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 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-03' /* VARSTRING(24) meta=24 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 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-04' /* VARSTRING(24) meta=24 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 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-05' /* VARSTRING(24) meta=24 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 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-06' /* VARSTRING(24) meta=24 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 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 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 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:08' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:08' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-08' /* VARSTRING(24) meta=24 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 */
|
### @3=8 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
||||||
@ -3958,7 +3958,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-01' /* VARSTRING(24) meta=24 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 */
|
### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-01' /* VARSTRING(24) meta=24 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 */
|
### @3=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-02' /* VARSTRING(24) meta=24 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 */
|
### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-02' /* VARSTRING(24) meta=24 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 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-03' /* VARSTRING(24) meta=24 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 */
|
### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-03' /* VARSTRING(24) meta=24 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 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-04' /* VARSTRING(24) meta=24 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 */
|
### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-04' /* VARSTRING(24) meta=24 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 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-05' /* VARSTRING(24) meta=24 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 */
|
### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-05' /* VARSTRING(24) meta=24 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 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-06' /* VARSTRING(24) meta=24 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 */
|
### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-06' /* VARSTRING(24) meta=24 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 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
||||||
@ -4033,37 +4033,37 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-01' /* VARSTRING(24) meta=24 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 */
|
### @3=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-02' /* VARSTRING(24) meta=24 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 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-03' /* VARSTRING(24) meta=24 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 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-04' /* VARSTRING(24) meta=24 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 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-05' /* VARSTRING(24) meta=24 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 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-06' /* VARSTRING(24) meta=24 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 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
||||||
@ -4286,47 +4286,47 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1='2008:01:01' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=11 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=11 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:08' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=18 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=18 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:09' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
@ -4343,47 +4343,47 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1='2008:02:01' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=21 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=21 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:08' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=28 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=28 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:09' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
@ -4400,47 +4400,47 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1='2008:03:01' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=31 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=31 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:08' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=38 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=38 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:09' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 #
|
#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
|
#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
|
### WHERE
|
||||||
### @1='2008:01:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:01:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:01:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:01:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:01:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:01:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:02:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:02:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:02:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:02:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:02:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:02:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t3
|
### UPDATE `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:03:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t3
|
### UPDATE `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:03:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t3
|
### UPDATE `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:03:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t3
|
### UPDATE `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:03:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t3
|
### UPDATE `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:03:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t3
|
### UPDATE `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:03:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 #
|
#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
|
#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
|
### WHERE
|
||||||
### @1='2018:01:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2018:01:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2018:01:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2018:01:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2018:01:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2018:01:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t2
|
### DELETE FROM `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2028:02:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t2
|
### DELETE FROM `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2028:02:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t2
|
### DELETE FROM `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2028:02:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t2
|
### DELETE FROM `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2028:02:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t2
|
### DELETE FROM `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2028:02:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t2
|
### DELETE FROM `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2028:02:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t3
|
### DELETE FROM `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2038:03:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t3
|
### DELETE FROM `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2038:03:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t3
|
### DELETE FROM `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2038:03:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t3
|
### DELETE FROM `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2038:03:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t3
|
### DELETE FROM `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2038:03:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t3
|
### DELETE FROM `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
@ -4829,17 +4829,17 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=2 /* 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 */
|
### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=4 /* 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 */
|
### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @2=6 /* INT meta=0 nullable=1 is_null=0 */
|
@ -2363,7 +2363,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -2458,7 +2458,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 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 # 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 #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
|
### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
|
||||||
### @2=NULL /* type=16 meta=2048 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 */
|
### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */
|
||||||
### @78=NULL /* TIMESTAMP meta=63489 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 */
|
### @79=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -2731,7 +2731,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -2906,7 +2906,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -3081,7 +3081,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
|
### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
|
||||||
### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
|
### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
|
||||||
@ -3256,7 +3256,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -3431,7 +3431,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -3526,7 +3526,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -3621,7 +3621,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
|
||||||
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
|
||||||
@ -3716,7 +3716,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
|
### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */
|
||||||
### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
|
### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */
|
||||||
@ -3923,47 +3923,47 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-01' /* VARSTRING(24) meta=24 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 */
|
### @3=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-02' /* VARSTRING(24) meta=24 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 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-03' /* VARSTRING(24) meta=24 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 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-04' /* VARSTRING(24) meta=24 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 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-05' /* VARSTRING(24) meta=24 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 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-06' /* VARSTRING(24) meta=24 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 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 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 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:08' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:08' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-08' /* VARSTRING(24) meta=24 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 */
|
### @3=8 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
||||||
@ -3982,7 +3982,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-01' /* VARSTRING(24) meta=24 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 */
|
### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-01' /* VARSTRING(24) meta=24 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 */
|
### @3=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-02' /* VARSTRING(24) meta=24 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 */
|
### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-02' /* VARSTRING(24) meta=24 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 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-03' /* VARSTRING(24) meta=24 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 */
|
### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-03' /* VARSTRING(24) meta=24 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 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-04' /* VARSTRING(24) meta=24 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 */
|
### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-04' /* VARSTRING(24) meta=24 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 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-05' /* VARSTRING(24) meta=24 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 */
|
### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-05' /* VARSTRING(24) meta=24 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 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-06' /* VARSTRING(24) meta=24 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 */
|
### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-06' /* VARSTRING(24) meta=24 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 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
||||||
@ -4059,37 +4059,37 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-01' /* VARSTRING(24) meta=24 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 */
|
### @3=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-02' /* VARSTRING(24) meta=24 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 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-03' /* VARSTRING(24) meta=24 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 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-04' /* VARSTRING(24) meta=24 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 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-05' /* VARSTRING(24) meta=24 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 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-06' /* VARSTRING(24) meta=24 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 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */
|
### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */
|
||||||
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
||||||
@ -4314,47 +4314,47 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1='2008:01:01' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=11 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=11 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:08' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=18 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=18 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:01:09' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
@ -4373,47 +4373,47 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1='2008:02:01' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=21 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=21 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:08' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=28 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=28 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t2
|
### INSERT INTO `test`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:02:09' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
@ -4432,47 +4432,47 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1='2008:03:01' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=31 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=31 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:08' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=38 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=38 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t3
|
### INSERT INTO `test`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1='2008:03:09' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 #
|
#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
|
#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
|
### WHERE
|
||||||
### @1='2008:01:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:01:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:01:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:01:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:01:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:01:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:02:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:02:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:02:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:02:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:02:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:02:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t3
|
### UPDATE `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:03:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t3
|
### UPDATE `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:03:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t3
|
### UPDATE `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:03:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t3
|
### UPDATE `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:03:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t3
|
### UPDATE `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:03:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 */
|
### @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 */
|
### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t3
|
### UPDATE `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2008:03:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @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 #
|
#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
|
#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
|
### WHERE
|
||||||
### @1='2018:01:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2018:01:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2018:01:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2018:01:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2018:01:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t1
|
### DELETE FROM `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2018:01:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t2
|
### DELETE FROM `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2028:02:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t2
|
### DELETE FROM `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2028:02:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t2
|
### DELETE FROM `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2028:02:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t2
|
### DELETE FROM `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2028:02:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t2
|
### DELETE FROM `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2028:02:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t2
|
### DELETE FROM `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2028:02:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t3
|
### DELETE FROM `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2038:03:02' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t3
|
### DELETE FROM `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2038:03:03' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t3
|
### DELETE FROM `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2038:03:04' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t3
|
### DELETE FROM `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2038:03:05' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t3
|
### DELETE FROM `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2038:03:06' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @3=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test.t3
|
### DELETE FROM `test`.`t3`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */
|
### @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 */
|
### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||||
@ -4867,17 +4867,17 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=2 /* 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 */
|
### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=4 /* 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 */
|
### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test.t1
|
### INSERT INTO `test`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @2=6 /* INT meta=0 nullable=1 is_null=0 */
|
@ -164,15 +164,15 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-1' /* VARSTRING(20) meta=20 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
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 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
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
@ -180,21 +180,21 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### SET
|
### SET
|
||||||
### @1=11 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=11 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### SET
|
### SET
|
||||||
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
@ -205,7 +205,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
@ -231,15 +231,15 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-1' /* VARSTRING(20) meta=20 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
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 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
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
@ -257,21 +257,21 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### SET
|
### SET
|
||||||
### @1=11 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=11 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### SET
|
### SET
|
||||||
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
@ -292,7 +292,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
@ -310,15 +310,15 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-1' /* VARSTRING(20) meta=20 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
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 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
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
@ -326,21 +326,21 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### SET
|
### SET
|
||||||
### @1=11 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=11 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### SET
|
### SET
|
||||||
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t1
|
### UPDATE `test`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
@ -351,7 +351,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
@ -377,15 +377,15 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-1' /* VARSTRING(20) meta=20 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
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 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
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
@ -403,21 +403,21 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### SET
|
### SET
|
||||||
### @1=11 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=11 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### SET
|
### SET
|
||||||
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
### UPDATE test.t2
|
### UPDATE `test`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||||
@ -438,7 +438,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
@ -113,13 +113,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test1`.`t1` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test1.t1
|
### INSERT INTO `test1`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test1.t1
|
### INSERT INTO `test1`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -139,13 +139,13 @@ BEGIN
|
|||||||
#Q> INSERT INTO test2.t2 VALUES (1), (2), (3)
|
#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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -165,13 +165,13 @@ BEGIN
|
|||||||
#Q> INSERT INTO test3.t3 VALUES (1), (2), (3)
|
#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 # Table_map: `test3`.`t3` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test3.t3
|
### INSERT INTO `test3`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test3.t3
|
### INSERT INTO `test3`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# 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 # 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 #
|
||||||
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
#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
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -232,13 +232,13 @@ BEGIN
|
|||||||
#Q> INSERT INTO test2.v2 VALUES (1), (2), (3)
|
#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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -260,13 +260,13 @@ BEGIN
|
|||||||
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3
|
#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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
#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
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -323,13 +323,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test1`.`t1` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test1.t1
|
### INSERT INTO `test1`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test1.t1
|
### INSERT INTO `test1`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -379,13 +379,13 @@ BEGIN
|
|||||||
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
|
#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 # Table_map: `test1`.`t1` 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 #
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -483,13 +483,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test1`.`t1` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test1.t1
|
### INSERT INTO `test1`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test1.t1
|
### INSERT INTO `test1`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -507,13 +507,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -531,13 +531,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test3`.`t3` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test3.t3
|
### INSERT INTO `test3`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test3.t3
|
### INSERT INTO `test3`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# 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 # 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 #
|
||||||
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
#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
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -592,13 +592,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -616,13 +616,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
#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
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -699,13 +699,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test1`.`t1` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test1.t1
|
### INSERT INTO `test1`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test1.t1
|
### INSERT INTO `test1`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -725,13 +725,13 @@ BEGIN
|
|||||||
#Q> INSERT INTO test2.t2 VALUES (1), (2), (3)
|
#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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -751,13 +751,13 @@ BEGIN
|
|||||||
#Q> INSERT INTO test3.t3 VALUES (1), (2), (3)
|
#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 # Table_map: `test3`.`t3` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test3.t3
|
### INSERT INTO `test3`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test3.t3
|
### INSERT INTO `test3`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# 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 # 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 #
|
||||||
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
#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
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -818,13 +818,13 @@ BEGIN
|
|||||||
#Q> INSERT INTO test2.v2 VALUES (1), (2), (3)
|
#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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -846,13 +846,13 @@ BEGIN
|
|||||||
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3
|
#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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
#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
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -909,13 +909,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test1`.`t1` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test1.t1
|
### INSERT INTO `test1`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test1.t1
|
### INSERT INTO `test1`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -965,13 +965,13 @@ BEGIN
|
|||||||
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
|
#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 # Table_map: `test1`.`t1` 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 #
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -1069,13 +1069,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test1`.`t1` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test1.t1
|
### INSERT INTO `test1`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test1.t1
|
### INSERT INTO `test1`.`t1`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -1092,13 +1092,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -1115,13 +1115,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test3`.`t3` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test3.t3
|
### INSERT INTO `test3`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test3.t3
|
### INSERT INTO `test3`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# 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 # 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 #
|
||||||
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
#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
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test1.t1
|
### DELETE FROM `test1`.`t1`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -1174,13 +1174,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -1197,13 +1197,13 @@ BEGIN
|
|||||||
# at #
|
# 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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
#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
|
### WHERE
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### DELETE FROM test2.t2
|
### DELETE FROM `test2`.`t2`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
|
@ -57,11 +57,11 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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 #
|
# 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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -105,7 +105,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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 #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO new_test3.t3
|
### INSERT INTO `new_test3`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -149,7 +149,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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 #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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
|
### SET
|
||||||
### @1=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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
|
### SET
|
||||||
### @1=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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
|
### SET
|
||||||
### @1=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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 #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -251,11 +251,11 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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 #
|
# 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 # Table_map: `test2`.`t2` mapped to number #
|
||||||
#010909 4:46:40 server id # end_log_pos # Write_rows: table id # flags: STMT_END_F
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO test2.t2
|
### INSERT INTO `test2`.`t2`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -299,7 +299,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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 #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### INSERT INTO new_test3.t3
|
### INSERT INTO `new_test3`.`t3`
|
||||||
### SET
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
@ -343,7 +343,7 @@ BEGIN
|
|||||||
# at #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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 #
|
# 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 # 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
|
#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
|
### SET
|
||||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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
|
### SET
|
||||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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
|
### SET
|
||||||
### @1=4 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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
|
### SET
|
||||||
### @1=5 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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
|
### SET
|
||||||
### @1=6 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
### @2=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 #
|
# 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 # 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
|
#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
|
### WHERE
|
||||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||||
# at #
|
# at #
|
||||||
|
@ -1,152 +1,152 @@
|
|||||||
Verbose statements from : write-partial-row.binlog
|
Verbose statements from : write-partial-row.binlog
|
||||||
select replace(txt,'\r', '') as stmt from raw_binlog_rows where txt like '###%';
|
select replace(txt,'\r', '') as stmt from raw_binlog_rows where txt like '###%';
|
||||||
stmt
|
stmt
|
||||||
### INSERT INTO mysql.ndb_apply_status
|
### INSERT INTO `mysql`.`ndb_apply_status`
|
||||||
### SET
|
### SET
|
||||||
### @1=1
|
### @1=1
|
||||||
### @2=25769803786
|
### @2=25769803786
|
||||||
### @3=''
|
### @3=''
|
||||||
### @4=0
|
### @4=0
|
||||||
### @5=0
|
### @5=0
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=3
|
### @1=3
|
||||||
### @2=3
|
### @2=3
|
||||||
### @3=3
|
### @3=3
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=1
|
### @1=1
|
||||||
### @2=1
|
### @2=1
|
||||||
### @3=1
|
### @3=1
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=2
|
### @1=2
|
||||||
### @2=2
|
### @2=2
|
||||||
### @3=2
|
### @3=2
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=4
|
### @1=4
|
||||||
### @2=4
|
### @2=4
|
||||||
### @3=4
|
### @3=4
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=4
|
### @1=4
|
||||||
### @3=40
|
### @3=40
|
||||||
### DELETE FROM test.ba
|
### DELETE FROM `test`.`ba`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2
|
### @1=2
|
||||||
drop table raw_binlog_rows;
|
drop table raw_binlog_rows;
|
||||||
Verbose statements from : write-full-row.binlog
|
Verbose statements from : write-full-row.binlog
|
||||||
select replace(txt,'\r', '') as stmt from raw_binlog_rows where txt like '###%';
|
select replace(txt,'\r', '') as stmt from raw_binlog_rows where txt like '###%';
|
||||||
stmt
|
stmt
|
||||||
### INSERT INTO mysql.ndb_apply_status
|
### INSERT INTO `mysql`.`ndb_apply_status`
|
||||||
### SET
|
### SET
|
||||||
### @1=2
|
### @1=2
|
||||||
### @2=25769803786
|
### @2=25769803786
|
||||||
### @3=''
|
### @3=''
|
||||||
### @4=0
|
### @4=0
|
||||||
### @5=0
|
### @5=0
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=3
|
### @1=3
|
||||||
### @2=3
|
### @2=3
|
||||||
### @3=3
|
### @3=3
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=1
|
### @1=1
|
||||||
### @2=1
|
### @2=1
|
||||||
### @3=1
|
### @3=1
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=2
|
### @1=2
|
||||||
### @2=2
|
### @2=2
|
||||||
### @3=2
|
### @3=2
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=4
|
### @1=4
|
||||||
### @2=4
|
### @2=4
|
||||||
### @3=4
|
### @3=4
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=4
|
### @1=4
|
||||||
### @2=4
|
### @2=4
|
||||||
### @3=40
|
### @3=40
|
||||||
### DELETE FROM test.ba
|
### DELETE FROM `test`.`ba`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2
|
### @1=2
|
||||||
drop table raw_binlog_rows;
|
drop table raw_binlog_rows;
|
||||||
Verbose statements from : update-partial-row.binlog
|
Verbose statements from : update-partial-row.binlog
|
||||||
select replace(txt,'\r', '') as stmt from raw_binlog_rows where txt like '###%';
|
select replace(txt,'\r', '') as stmt from raw_binlog_rows where txt like '###%';
|
||||||
stmt
|
stmt
|
||||||
### INSERT INTO mysql.ndb_apply_status
|
### INSERT INTO `mysql`.`ndb_apply_status`
|
||||||
### SET
|
### SET
|
||||||
### @1=3
|
### @1=3
|
||||||
### @2=25769803786
|
### @2=25769803786
|
||||||
### @3=''
|
### @3=''
|
||||||
### @4=0
|
### @4=0
|
||||||
### @5=0
|
### @5=0
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=3
|
### @1=3
|
||||||
### @2=3
|
### @2=3
|
||||||
### @3=3
|
### @3=3
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=1
|
### @1=1
|
||||||
### @2=1
|
### @2=1
|
||||||
### @3=1
|
### @3=1
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=2
|
### @1=2
|
||||||
### @2=2
|
### @2=2
|
||||||
### @3=2
|
### @3=2
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=4
|
### @1=4
|
||||||
### @2=4
|
### @2=4
|
||||||
### @3=4
|
### @3=4
|
||||||
### UPDATE test.ba
|
### UPDATE `test`.`ba`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=4
|
### @1=4
|
||||||
### @3=4
|
### @3=4
|
||||||
### SET
|
### SET
|
||||||
### @1=4
|
### @1=4
|
||||||
### @3=40
|
### @3=40
|
||||||
### DELETE FROM test.ba
|
### DELETE FROM `test`.`ba`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2
|
### @1=2
|
||||||
drop table raw_binlog_rows;
|
drop table raw_binlog_rows;
|
||||||
Verbose statements from : update-full-row.binlog
|
Verbose statements from : update-full-row.binlog
|
||||||
select replace(txt,'\r', '') as stmt from raw_binlog_rows where txt like '###%';
|
select replace(txt,'\r', '') as stmt from raw_binlog_rows where txt like '###%';
|
||||||
stmt
|
stmt
|
||||||
### INSERT INTO mysql.ndb_apply_status
|
### INSERT INTO `mysql`.`ndb_apply_status`
|
||||||
### SET
|
### SET
|
||||||
### @1=4
|
### @1=4
|
||||||
### @2=25769803786
|
### @2=25769803786
|
||||||
### @3=''
|
### @3=''
|
||||||
### @4=0
|
### @4=0
|
||||||
### @5=0
|
### @5=0
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=3
|
### @1=3
|
||||||
### @2=3
|
### @2=3
|
||||||
### @3=3
|
### @3=3
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=1
|
### @1=1
|
||||||
### @2=1
|
### @2=1
|
||||||
### @3=1
|
### @3=1
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=2
|
### @1=2
|
||||||
### @2=2
|
### @2=2
|
||||||
### @3=2
|
### @3=2
|
||||||
### INSERT INTO test.ba
|
### INSERT INTO `test`.`ba`
|
||||||
### SET
|
### SET
|
||||||
### @1=4
|
### @1=4
|
||||||
### @2=4
|
### @2=4
|
||||||
### @3=4
|
### @3=4
|
||||||
### UPDATE test.ba
|
### UPDATE `test`.`ba`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=4
|
### @1=4
|
||||||
### @2=4
|
### @2=4
|
||||||
@ -155,7 +155,7 @@ stmt
|
|||||||
### @1=4
|
### @1=4
|
||||||
### @2=4
|
### @2=4
|
||||||
### @3=40
|
### @3=40
|
||||||
### DELETE FROM test.ba
|
### DELETE FROM `test`.`ba`
|
||||||
### WHERE
|
### WHERE
|
||||||
### @1=2
|
### @1=2
|
||||||
drop table raw_binlog_rows;
|
drop table raw_binlog_rows;
|
||||||
|
@ -20,5 +20,5 @@ let $engine_type=InnoDB;
|
|||||||
--source include/have_binlog_format_row.inc
|
--source include/have_binlog_format_row.inc
|
||||||
--source include/have_ucs2.inc
|
--source include/have_ucs2.inc
|
||||||
|
|
||||||
--source include/mysqlbinlog_row_engine.inc
|
--source extra/binlog_tests/mysqlbinlog_row_engine.inc
|
||||||
|
|
@ -20,4 +20,4 @@ let $engine_type=MyISAM;
|
|||||||
--source include/have_binlog_format_row.inc
|
--source include/have_binlog_format_row.inc
|
||||||
--source include/have_ucs2.inc
|
--source include/have_ucs2.inc
|
||||||
|
|
||||||
--source include/mysqlbinlog_row_engine.inc
|
--source extra/binlog_tests/mysqlbinlog_row_engine.inc
|
53
mysql-test/suite/innodb/r/innodb_bug14704286.result
Normal file
53
mysql-test/suite/innodb/r/innodb_bug14704286.result
Normal file
@ -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;
|
95
mysql-test/suite/innodb/t/innodb_bug14704286.test
Normal file
95
mysql-test/suite/innodb/t/innodb_bug14704286.test
Normal file
@ -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;
|
||||||
|
|
||||||
|
|
@ -55,9 +55,6 @@ Warnings:
|
|||||||
Warning 1292 Truncated incorrect innodb_change_buffering_debug value: '-2'
|
Warning 1292 Truncated incorrect innodb_change_buffering_debug value: '-2'
|
||||||
set global innodb_change_buffering_debug=1e1;
|
set global innodb_change_buffering_debug=1e1;
|
||||||
ERROR 42000: Incorrect argument type to variable 'innodb_change_buffering_debug'
|
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;
|
SET @@global.innodb_change_buffering_debug = @start_global_value;
|
||||||
SELECT @@global.innodb_change_buffering_debug;
|
SELECT @@global.innodb_change_buffering_debug;
|
||||||
@@global.innodb_change_buffering_debug
|
@@global.innodb_change_buffering_debug
|
||||||
|
@ -42,7 +42,9 @@ set global innodb_change_buffering_debug='foo';
|
|||||||
set global innodb_change_buffering_debug=-2;
|
set global innodb_change_buffering_debug=-2;
|
||||||
--error ER_WRONG_TYPE_FOR_VAR
|
--error ER_WRONG_TYPE_FOR_VAR
|
||||||
set global innodb_change_buffering_debug=1e1;
|
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
|
# Cleanup
|
||||||
|
@ -68,6 +68,38 @@ RPAD(_ucs2 X'0420',10,_ucs2 X'0421') r;
|
|||||||
SHOW CREATE TABLE t1;
|
SHOW CREATE TABLE t1;
|
||||||
DROP 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
|
# BUG3946
|
||||||
#
|
#
|
||||||
|
@ -1450,6 +1450,67 @@ INSERT INTO t1 SELECT * FROM ( SELECT * FROM t1 ) AS alias UNION SELECT * FROM t
|
|||||||
select * from t1;
|
select * from t1;
|
||||||
drop table t1,t2;
|
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 #
|
||||||
--echo # end of 5.3 tests
|
--echo # end of 5.3 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
1
mysql-test/t/grant_lowercase.opt
Normal file
1
mysql-test/t/grant_lowercase.opt
Normal file
@ -0,0 +1 @@
|
|||||||
|
--lower-case-table-names=1
|
31
mysql-test/t/grant_lowercase.test
Normal file
31
mysql-test/t/grant_lowercase.test
Normal file
@ -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;
|
||||||
|
|
@ -1484,6 +1484,41 @@ DROP TABLE t1;
|
|||||||
--echo the value below *must* be 1
|
--echo the value below *must* be 1
|
||||||
show status like 'Created_tmp_disk_tables';
|
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 # End of 5.3 tests
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -572,36 +572,40 @@ DROP TABLE t1;
|
|||||||
connection default;
|
connection default;
|
||||||
disconnect con1;
|
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 #
|
#--echo # Problem # 1 (original report): wrong parsing of ucs2 data
|
||||||
--echo # Bug #51876 : crash/memory underrun when loading data with ucs2
|
#SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp.txt';
|
||||||
--echo # and reverse() function
|
#CREATE TABLE t1(a INT);
|
||||||
--echo #
|
#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;
|
||||||
|
|
||||||
--echo # Problem # 1 (original report): wrong parsing of ucs2 data
|
#DROP TABLE t1;
|
||||||
SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp.txt';
|
#let $MYSQLD_DATADIR= `select @@datadir`;
|
||||||
CREATE TABLE t1(a INT);
|
#remove_file $MYSQLD_DATADIR/test/tmpp.txt;
|
||||||
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
|
#--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;
|
#SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp2.txt' CHARACTER SET ucs2;
|
||||||
CREATE TABLE t1(a INT);
|
#CREATE TABLE t1(a INT);
|
||||||
LOAD DATA INFILE 'tmpp2.txt' INTO TABLE t1 CHARACTER SET ucs2
|
#LOAD DATA INFILE 'tmpp2.txt' INTO TABLE t1 CHARACTER SET ucs2
|
||||||
(@b) SET a=REVERSE(@b);
|
#(@b) SET a=REVERSE(@b);
|
||||||
--echo # should return 0 and 1 (10 reversed)
|
#--echo # should return 0 and 1 (10 reversed)
|
||||||
SELECT * FROM t1;
|
#SELECT * FROM t1;
|
||||||
|
|
||||||
|
#DROP TABLE t1;
|
||||||
|
#let $MYSQLD_DATADIR= `select @@datadir`;
|
||||||
|
#remove_file $MYSQLD_DATADIR/test/tmpp2.txt;
|
||||||
|
######################################################################################
|
||||||
|
|
||||||
DROP TABLE t1;
|
|
||||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
|
||||||
remove_file $MYSQLD_DATADIR/test/tmpp2.txt;
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Bug#11765139 58069: LOAD DATA INFILE: VALGRIND REPORTS INVALID MEMORY READS AND WRITES WITH U
|
--echo # Bug#11765139 58069: LOAD DATA INFILE: VALGRIND REPORTS INVALID MEMORY READS AND WRITES WITH U
|
||||||
|
@ -582,5 +582,17 @@ DROP DATABASE connected_db;
|
|||||||
--remove_file $MYSQLTEST_VARDIR/tmp/one_db_1.sql
|
--remove_file $MYSQLTEST_VARDIR/tmp/one_db_1.sql
|
||||||
--remove_file $MYSQLTEST_VARDIR/tmp/one_db_2.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
|
||||||
--echo End of tests
|
--echo End of tests
|
||||||
|
@ -461,3 +461,16 @@ SHOW CREATE EVENT TESTE_bug11763507;
|
|||||||
|
|
||||||
DROP EVENT teste_bug11763507;
|
DROP EVENT teste_bug11763507;
|
||||||
--echo #END OF BUG#11763507 test.
|
--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
|
||||||
|
@ -1777,6 +1777,33 @@ drop table t1, t2;
|
|||||||
|
|
||||||
set optimizer_switch=@subselect4_tmp;
|
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 #
|
||||||
--echo # MDEV-3899 Valgrind warnings (blocks are definitely lost) in filesort on IN subquery with SUM and DISTINCT
|
--echo # MDEV-3899 Valgrind warnings (blocks are definitely lost) in filesort on IN subquery with SUM and DISTINCT
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -4702,6 +4702,32 @@ select t1.*, v2.* from t1 left join v2 on t1.id = v2.id;
|
|||||||
drop view v2;
|
drop view v2;
|
||||||
drop table t1,t2;
|
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 #
|
||||||
--echo # MDEV-589 (LP BUG#1007647) :
|
--echo # MDEV-589 (LP BUG#1007647) :
|
||||||
--echo # Assertion `vcol_table == 0 || vcol_table == table' failed in
|
--echo # Assertion `vcol_table == 0 || vcol_table == table' failed in
|
||||||
@ -4747,6 +4773,27 @@ SELECT * FROM (
|
|||||||
drop tables t1,t2;
|
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 # -----------------------------------------------------------------
|
||||||
--echo # -- End of 5.3 tests.
|
--echo # -- End of 5.3 tests.
|
||||||
--echo # -----------------------------------------------------------------
|
--echo # -----------------------------------------------------------------
|
||||||
|
@ -88,15 +88,11 @@ end:
|
|||||||
|
|
||||||
int my_copystat(const char *from, const char *to, int MyFlags)
|
int my_copystat(const char *from, const char *to, int MyFlags)
|
||||||
{
|
{
|
||||||
struct stat statbuf;
|
MY_STAT statbuf;
|
||||||
|
|
||||||
if (stat(from, &statbuf))
|
if (my_stat(from, &statbuf, MyFlags) == NULL)
|
||||||
{
|
|
||||||
my_errno=errno;
|
|
||||||
if (MyFlags & (MY_FAE+MY_WME))
|
|
||||||
my_error(EE_STAT, MYF(ME_BELL+ME_WAITTANG),from,errno);
|
|
||||||
return -1; /* Can't get stat on input file */
|
return -1; /* Can't get stat on input file */
|
||||||
}
|
|
||||||
if ((statbuf.st_mode & S_IFMT) != S_IFREG)
|
if ((statbuf.st_mode & S_IFMT) != S_IFREG)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
@ -44,6 +44,12 @@ static const char *get_os_version_name(OSVERSIONINFOEX *ver)
|
|||||||
DWORD major = ver->dwMajorVersion;
|
DWORD major = ver->dwMajorVersion;
|
||||||
DWORD minor = ver->dwMinorVersion;
|
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)
|
if (major == 6 && minor == 1)
|
||||||
{
|
{
|
||||||
return (ver->wProductType == VER_NT_WORKSTATION)?
|
return (ver->wProductType == VER_NT_WORKSTATION)?
|
||||||
|
@ -423,8 +423,11 @@ my $mysqld_install_cmd_line = quote_options($mysqld_bootstrap,
|
|||||||
"--bootstrap",
|
"--bootstrap",
|
||||||
"--basedir=$opt->{basedir}",
|
"--basedir=$opt->{basedir}",
|
||||||
"--datadir=$opt->{ldata}",
|
"--datadir=$opt->{ldata}",
|
||||||
|
"--log-warnings=0",
|
||||||
"--loose-skip-innodb",
|
"--loose-skip-innodb",
|
||||||
|
"--loose-skip-ndbcluster",
|
||||||
"--max_allowed_packet=8M",
|
"--max_allowed_packet=8M",
|
||||||
|
"--default-storage-engine=MyISAM",
|
||||||
"--net_buffer_length=16K",
|
"--net_buffer_length=16K",
|
||||||
@args,
|
@args,
|
||||||
);
|
);
|
||||||
@ -437,6 +440,8 @@ report_verbose_wait($opt,"Installing MySQL system tables...");
|
|||||||
|
|
||||||
open(SQL, $create_system_tables)
|
open(SQL, $create_system_tables)
|
||||||
or error($opt,"can't open $create_system_tables for reading: $!");
|
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 ?
|
# FIXME > /dev/null ?
|
||||||
if ( open(PIPE, "| $mysqld_install_cmd_line") )
|
if ( open(PIPE, "| $mysqld_install_cmd_line") )
|
||||||
{
|
{
|
||||||
@ -450,8 +455,20 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") )
|
|||||||
|
|
||||||
print PIPE $_;
|
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 PIPE;
|
||||||
close SQL;
|
close SQL;
|
||||||
|
close SQL2;
|
||||||
|
|
||||||
report_verbose($opt,"OK");
|
report_verbose($opt,"OK");
|
||||||
|
|
||||||
|
@ -64,6 +64,28 @@ $homedir = $ENV{HOME};
|
|||||||
$my_progname = $0;
|
$my_progname = $0;
|
||||||
$my_progname =~ s/.*[\/]//;
|
$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();
|
main();
|
||||||
|
|
||||||
####
|
####
|
||||||
|
@ -32,7 +32,28 @@ syslog_tag_mysqld_safe=mysqld_safe
|
|||||||
|
|
||||||
trap '' 1 2 3 15 # we shouldn't let anyone kill us
|
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=
|
defaults=
|
||||||
case "$1" in
|
case "$1" in
|
||||||
@ -561,6 +582,12 @@ then
|
|||||||
# Log to err_log file
|
# Log to err_log file
|
||||||
log_notice "Logging to '$err_log'."
|
log_notice "Logging to '$err_log'."
|
||||||
logging=file
|
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
|
else
|
||||||
if [ -n "$syslog_tag" ]
|
if [ -n "$syslog_tag" ]
|
||||||
then
|
then
|
||||||
@ -776,6 +803,12 @@ do
|
|||||||
|
|
||||||
eval_log_error "$cmd"
|
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`
|
end_time=`date +%M%S`
|
||||||
|
|
||||||
if test ! -f "$pid_file" # This is removed if normal shutdown
|
if test ! -f "$pid_file" # This is removed if normal shutdown
|
||||||
|
@ -4442,8 +4442,8 @@ static int old_password_auth_client(MYSQL_PLUGIN_VIO *vio, MYSQL *mysql)
|
|||||||
DBUG_RETURN(CR_SERVER_HANDSHAKE_ERR);
|
DBUG_RETURN(CR_SERVER_HANDSHAKE_ERR);
|
||||||
|
|
||||||
/* save it in MYSQL */
|
/* save it in MYSQL */
|
||||||
memmove(mysql->scramble, pkt, pkt_len);
|
memmove(mysql->scramble, pkt, pkt_len - 1);
|
||||||
mysql->scramble[pkt_len] = 0;
|
mysql->scramble[pkt_len - 1] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mysql->passwd[0])
|
if (mysql->passwd[0])
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
/* Copyright (c) 2006, 2011, Oracle and/or its affiliates.
|
/* 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
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
14
sql/item.cc
14
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. */
|
/* An explicit values is given, save it. */
|
||||||
|
store(example);
|
||||||
value_cached= true;
|
value_cached= true;
|
||||||
value= val_arg;
|
value= val_arg;
|
||||||
null_value= false;
|
null_value= false;
|
||||||
@ -9599,11 +9600,18 @@ table_map Item_ref::used_tables() const
|
|||||||
|
|
||||||
|
|
||||||
void Item_ref::update_used_tables()
|
void Item_ref::update_used_tables()
|
||||||
{
|
{
|
||||||
if (!get_depended_from())
|
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
|
table_map Item_direct_view_ref::used_tables() const
|
||||||
{
|
{
|
||||||
|
32
sql/item.h
32
sql/item.h
@ -1440,18 +1440,6 @@ public:
|
|||||||
max_length= char_to_byte_length_safe(max_char_length_arg,
|
max_length= char_to_byte_length_safe(max_char_length_arg,
|
||||||
collation.collation->mbmaxlen);
|
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.
|
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);
|
bitmap_fast_test_and_set(tab->read_set, field->field_index);
|
||||||
if (field->vcol_info)
|
if (field->vcol_info)
|
||||||
tab->mark_virtual_col(field);
|
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);
|
Item *get_tmp_table_item(THD *thd);
|
||||||
bool collect_item_field_processor(uchar * arg);
|
bool collect_item_field_processor(uchar * arg);
|
||||||
bool add_field_to_set_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 Item_result result_type () const { return orig_item->result_type(); }
|
||||||
enum_field_types field_type() const { return orig_item->field_type(); }
|
enum_field_types field_type() const { return orig_item->field_type(); }
|
||||||
table_map used_tables() const { return orig_item->used_tables(); }
|
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(); }
|
bool const_item() const { return orig_item->const_item(); }
|
||||||
table_map not_null_tables() const { return orig_item->not_null_tables(); }
|
table_map not_null_tables() const { return orig_item->not_null_tables(); }
|
||||||
bool walk(Item_processor processor, bool walk_subquery, uchar *arg)
|
bool walk(Item_processor processor, bool walk_subquery, uchar *arg)
|
||||||
@ -3208,6 +3205,7 @@ public:
|
|||||||
Item *replace_equal_field(uchar *arg);
|
Item *replace_equal_field(uchar *arg);
|
||||||
table_map used_tables() const;
|
table_map used_tables() const;
|
||||||
table_map not_null_tables() const;
|
table_map not_null_tables() const;
|
||||||
|
void update_used_tables();
|
||||||
bool walk(Item_processor processor, bool walk_subquery, uchar *arg)
|
bool walk(Item_processor processor, bool walk_subquery, uchar *arg)
|
||||||
{
|
{
|
||||||
return (*ref)->walk(processor, walk_subquery, arg) ||
|
return (*ref)->walk(processor, walk_subquery, arg) ||
|
||||||
@ -4033,7 +4031,7 @@ public:
|
|||||||
bool cache_value();
|
bool cache_value();
|
||||||
bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate);
|
bool get_date(MYSQL_TIME *ltime, ulonglong fuzzydate);
|
||||||
int save_in_field(Field *field, bool no_conversions);
|
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
|
Having a clone_item method tells optimizer that this object
|
||||||
is a constant and need not be optimized further.
|
is a constant and need not be optimized further.
|
||||||
@ -4042,7 +4040,7 @@ public:
|
|||||||
Item *clone_item()
|
Item *clone_item()
|
||||||
{
|
{
|
||||||
Item_cache_temporal *item= new Item_cache_temporal(cached_field_type);
|
Item_cache_temporal *item= new Item_cache_temporal(cached_field_type);
|
||||||
item->store_packed(value);
|
item->store_packed(value, example);
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Copyright (c) 2000, 2012, Oracle and/or its affiliates.
|
/* 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
|
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
|
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)
|
if (save_arena)
|
||||||
thd->set_query_arena(save_arena);
|
thd->set_query_arena(save_arena);
|
||||||
|
|
||||||
cache->store_packed(value);
|
cache->store_packed(value, item);
|
||||||
*cache_arg= cache;
|
*cache_arg= cache;
|
||||||
*item_arg= cache_arg;
|
*item_arg= cache_arg;
|
||||||
}
|
}
|
||||||
@ -1353,7 +1353,7 @@ int Arg_comparator::compare_e_row()
|
|||||||
|
|
||||||
void Item_func_truth::fix_length_and_dec()
|
void Item_func_truth::fix_length_and_dec()
|
||||||
{
|
{
|
||||||
maybe_null= 0;
|
set_persist_maybe_null(0);
|
||||||
null_value= 0;
|
null_value= 0;
|
||||||
decimals= 0;
|
decimals= 0;
|
||||||
max_length= 1;
|
max_length= 1;
|
||||||
@ -1865,7 +1865,8 @@ longlong Item_func_eq::val_int()
|
|||||||
void Item_func_equal::fix_length_and_dec()
|
void Item_func_equal::fix_length_and_dec()
|
||||||
{
|
{
|
||||||
Item_bool_func2::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()
|
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;
|
max_length= 2;
|
||||||
used_tables_cache|= row->used_tables();
|
used_tables_cache|= row->used_tables();
|
||||||
not_null_tables_cache= row->not_null_tables();
|
not_null_tables_cache= row->not_null_tables();
|
||||||
@ -2685,7 +2686,7 @@ void
|
|||||||
Item_func_nullif::fix_length_and_dec()
|
Item_func_nullif::fix_length_and_dec()
|
||||||
{
|
{
|
||||||
Item_bool_func2::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
|
if (args[0]) // Only false if EOM
|
||||||
{
|
{
|
||||||
max_length=args[0]->max_length;
|
max_length=args[0]->max_length;
|
||||||
@ -4546,6 +4547,8 @@ void Item_cond::update_used_tables()
|
|||||||
item->update_used_tables();
|
item->update_used_tables();
|
||||||
used_tables_cache|= item->used_tables();
|
used_tables_cache|= item->used_tables();
|
||||||
const_item_cache&= item->const_item();
|
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()
|
void Item_is_not_null_test::update_used_tables()
|
||||||
{
|
{
|
||||||
|
args[0]->update_used_tables();
|
||||||
if (!args[0]->maybe_null)
|
if (!args[0]->maybe_null)
|
||||||
used_tables_cache= 0; /* is always true */
|
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);
|
int comp_res= regcomp(TRUE);
|
||||||
if (comp_res == -1)
|
if (comp_res == -1)
|
||||||
{ // Will always return NULL
|
{ // Will always return NULL
|
||||||
maybe_null=1;
|
set_persist_maybe_null(1);
|
||||||
fixed= 1;
|
fixed= 1;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -5014,7 +5016,7 @@ Item_func_regex::fix_fields(THD *thd, Item **ref)
|
|||||||
maybe_null= args[0]->maybe_null;
|
maybe_null= args[0]->maybe_null;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
maybe_null=1;
|
set_persist_maybe_null(1);
|
||||||
fixed= 1;
|
fixed= 1;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -5828,6 +5830,8 @@ void Item_equal::update_used_tables()
|
|||||||
used_tables_cache|= item->used_tables();
|
used_tables_cache|= item->used_tables();
|
||||||
/* see commentary at Item_equal::update_const() */
|
/* see commentary at Item_equal::update_const() */
|
||||||
const_item_cache&= item->const_item() && !item->is_outer_field();
|
const_item_cache&= item->const_item() && !item->is_outer_field();
|
||||||
|
if (!persistent_maybe_null && item->maybe_null)
|
||||||
|
maybe_null= 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -767,6 +767,11 @@ public:
|
|||||||
my_decimal *decimal_op(my_decimal *);
|
my_decimal *decimal_op(my_decimal *);
|
||||||
enum_field_types field_type() const;
|
enum_field_types field_type() const;
|
||||||
void fix_length_and_dec();
|
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"; }
|
const char *func_name() const { return "ifnull"; }
|
||||||
Field *tmp_table_field(TABLE *table);
|
Field *tmp_table_field(TABLE *table);
|
||||||
uint decimal_precision() const;
|
uint decimal_precision() const;
|
||||||
@ -789,6 +794,11 @@ public:
|
|||||||
enum_field_types field_type() const { return cached_field_type; }
|
enum_field_types field_type() const { return cached_field_type; }
|
||||||
bool fix_fields(THD *, Item **);
|
bool fix_fields(THD *, Item **);
|
||||||
void fix_length_and_dec();
|
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;
|
uint decimal_precision() const;
|
||||||
const char *func_name() const { return "if"; }
|
const char *func_name() const { return "if"; }
|
||||||
bool eval_not_null_tables(uchar *opt_arg);
|
bool eval_not_null_tables(uchar *opt_arg);
|
||||||
@ -1254,6 +1264,12 @@ public:
|
|||||||
my_decimal *val_decimal(my_decimal *);
|
my_decimal *val_decimal(my_decimal *);
|
||||||
bool fix_fields(THD *thd, Item **ref);
|
bool fix_fields(THD *thd, Item **ref);
|
||||||
void fix_length_and_dec();
|
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;
|
uint decimal_precision() const;
|
||||||
table_map not_null_tables() const { return 0; }
|
table_map not_null_tables() const { return 0; }
|
||||||
enum Item_result result_type () const { return cached_result_type; }
|
enum Item_result result_type () const { return cached_result_type; }
|
||||||
@ -1375,13 +1391,14 @@ public:
|
|||||||
enum Functype functype() const { return ISNULL_FUNC; }
|
enum Functype functype() const { return ISNULL_FUNC; }
|
||||||
void fix_length_and_dec()
|
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();
|
update_used_tables();
|
||||||
}
|
}
|
||||||
const char *func_name() const { return "isnull"; }
|
const char *func_name() const { return "isnull"; }
|
||||||
/* Optimize case of not_null_column IS NULL */
|
/* Optimize case of not_null_column IS NULL */
|
||||||
virtual void update_used_tables()
|
virtual void update_used_tables()
|
||||||
{
|
{
|
||||||
|
args[0]->update_used_tables();
|
||||||
if (!args[0]->maybe_null)
|
if (!args[0]->maybe_null)
|
||||||
{
|
{
|
||||||
used_tables_cache= 0; /* is always false */
|
used_tables_cache= 0; /* is always false */
|
||||||
@ -1389,7 +1406,6 @@ public:
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
args[0]->update_used_tables();
|
|
||||||
used_tables_cache= args[0]->used_tables();
|
used_tables_cache= args[0]->used_tables();
|
||||||
const_item_cache= args[0]->const_item();
|
const_item_cache= args[0]->const_item();
|
||||||
}
|
}
|
||||||
@ -1437,7 +1453,7 @@ public:
|
|||||||
enum Functype functype() const { return ISNOTNULL_FUNC; }
|
enum Functype functype() const { return ISNOTNULL_FUNC; }
|
||||||
void fix_length_and_dec()
|
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"; }
|
const char *func_name() const { return "isnotnull"; }
|
||||||
optimize_type select_optimize() const { return OPTIMIZE_NULL; }
|
optimize_type select_optimize() const { return OPTIMIZE_NULL; }
|
||||||
@ -1505,6 +1521,12 @@ public:
|
|||||||
void cleanup();
|
void cleanup();
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
bool fix_fields(THD *thd, Item **ref);
|
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"; }
|
const char *func_name() const { return "regexp"; }
|
||||||
|
|
||||||
virtual inline void print(String *str, enum_query_type query_type)
|
virtual inline void print(String *str, enum_query_type query_type)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates.
|
/* 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
|
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
|
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)
|
Item_func::Item_func(List<Item> &list)
|
||||||
:allowed_arg_cols(1)
|
:allowed_arg_cols(1), persistent_maybe_null(0)
|
||||||
{
|
{
|
||||||
set_arguments(list);
|
set_arguments(list);
|
||||||
}
|
}
|
||||||
@ -119,6 +119,7 @@ Item_func::Item_func(List<Item> &list)
|
|||||||
Item_func::Item_func(THD *thd, Item_func *item)
|
Item_func::Item_func(THD *thd, Item_func *item)
|
||||||
:Item_result_field(thd, item),
|
:Item_result_field(thd, item),
|
||||||
allowed_arg_cols(item->allowed_arg_cols),
|
allowed_arg_cols(item->allowed_arg_cols),
|
||||||
|
persistent_maybe_null(0),
|
||||||
arg_count(item->arg_count),
|
arg_count(item->arg_count),
|
||||||
used_tables_cache(item->used_tables_cache),
|
used_tables_cache(item->used_tables_cache),
|
||||||
not_null_tables_cache(item->not_null_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();
|
args[i]->update_used_tables();
|
||||||
used_tables_cache|=args[i]->used_tables();
|
used_tables_cache|=args[i]->used_tables();
|
||||||
const_item_cache&=args[i]->const_item();
|
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:
|
case IMPOSSIBLE_RESULT:
|
||||||
DBUG_ASSERT(0);
|
DBUG_ASSERT(0);
|
||||||
}
|
}
|
||||||
maybe_null= 1; // devision by zero
|
set_persist_maybe_null(1); // devision by zero
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1796,7 +1799,7 @@ void Item_func_int_div::fix_length_and_dec()
|
|||||||
max_length=args[0]->max_length -
|
max_length=args[0]->max_length -
|
||||||
(argtype == DECIMAL_RESULT || argtype == INT_RESULT ?
|
(argtype == DECIMAL_RESULT || argtype == INT_RESULT ?
|
||||||
args[0]->decimals : 0);
|
args[0]->decimals : 0);
|
||||||
maybe_null=1;
|
set_persist_maybe_null(1);
|
||||||
unsigned_flag=args[0]->unsigned_flag | args[1]->unsigned_flag;
|
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()
|
void Item_func_mod::fix_length_and_dec()
|
||||||
{
|
{
|
||||||
Item_num_op::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;
|
unsigned_flag= args[0]->unsigned_flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3078,7 +3081,7 @@ longlong Item_func_field::val_int()
|
|||||||
|
|
||||||
void Item_func_field::fix_length_and_dec()
|
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();
|
cmp_type= args[0]->result_type();
|
||||||
for (uint i=1; i < arg_count ; i++)
|
for (uint i=1; i < arg_count ; i++)
|
||||||
cmp_type= item_cmp_type(cmp_type, args[i]->result_type());
|
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;
|
thd->first_successful_insert_id_in_prev_stmt= value;
|
||||||
return 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;
|
THD *thd=current_thd;
|
||||||
int error;
|
int error;
|
||||||
maybe_null=1;
|
set_persist_maybe_null(1);
|
||||||
decimals=NOT_FIXED_DEC;
|
decimals=NOT_FIXED_DEC;
|
||||||
max_length=MAX_BLOB_WIDTH;
|
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()
|
void Item_func_get_system_var::fix_length_and_dec()
|
||||||
{
|
{
|
||||||
char *cptr;
|
char *cptr;
|
||||||
maybe_null= TRUE;
|
set_persist_maybe_null(1);
|
||||||
max_length= 0;
|
max_length= 0;
|
||||||
|
|
||||||
if (var->check_type(var_type))
|
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);
|
status_var_increment(thd->status_var.feature_fulltext);
|
||||||
|
|
||||||
maybe_null=1;
|
set_persist_maybe_null(1);
|
||||||
join_key=0;
|
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_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)
|
: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);
|
m_name->init_qname(current_thd);
|
||||||
dummy_table= (TABLE*) sql_calloc(sizeof(TABLE)+ sizeof(TABLE_SHARE));
|
dummy_table= (TABLE*) sql_calloc(sizeof(TABLE)+ sizeof(TABLE_SHARE));
|
||||||
dummy_table->s= (TABLE_SHARE*) (dummy_table+1);
|
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)
|
sp_name *name, List<Item> &list)
|
||||||
:Item_func(list), context(context_arg), m_name(name), m_sp(NULL),sp_result_field(NULL)
|
: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);
|
m_name->init_qname(current_thd);
|
||||||
dummy_table= (TABLE*) sql_calloc(sizeof(TABLE)+ sizeof(TABLE_SHARE));
|
dummy_table= (TABLE*) sql_calloc(sizeof(TABLE)+ sizeof(TABLE_SHARE));
|
||||||
dummy_table->s= (TABLE_SHARE*) (dummy_table+1);
|
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();
|
decimals= sp_result_field->decimals();
|
||||||
max_length= sp_result_field->field_length;
|
max_length= sp_result_field->field_length;
|
||||||
collation.set(sp_result_field->charset());
|
collation.set(sp_result_field->charset());
|
||||||
maybe_null= 1;
|
set_persist_maybe_null(1);
|
||||||
unsigned_flag= test(sp_result_field->flags & UNSIGNED_FLAG);
|
unsigned_flag= test(sp_result_field->flags & UNSIGNED_FLAG);
|
||||||
|
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#ifndef ITEM_FUNC_INCLUDED
|
#ifndef ITEM_FUNC_INCLUDED
|
||||||
#define ITEM_FUNC_INCLUDED
|
#define ITEM_FUNC_INCLUDED
|
||||||
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates.
|
/* 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
|
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
|
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
|
0 means get this number from first argument
|
||||||
*/
|
*/
|
||||||
uint allowed_arg_cols;
|
uint allowed_arg_cols;
|
||||||
|
/* maybe_null can't be changed by parameters or used table state */
|
||||||
|
bool persistent_maybe_null;
|
||||||
public:
|
public:
|
||||||
uint arg_count;
|
uint arg_count;
|
||||||
table_map used_tables_cache, not_null_tables_cache;
|
table_map used_tables_cache, not_null_tables_cache;
|
||||||
@ -64,13 +66,13 @@ public:
|
|||||||
enum Type type() const { return FUNC_ITEM; }
|
enum Type type() const { return FUNC_ITEM; }
|
||||||
virtual enum Functype functype() const { return UNKNOWN_FUNC; }
|
virtual enum Functype functype() const { return UNKNOWN_FUNC; }
|
||||||
Item_func(void):
|
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_sum_func= 0;
|
||||||
with_field= 0;
|
with_field= 0;
|
||||||
}
|
}
|
||||||
Item_func(Item *a):
|
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= tmp_arg;
|
||||||
args[0]= a;
|
args[0]= a;
|
||||||
@ -78,7 +80,7 @@ public:
|
|||||||
with_field= a->with_field;
|
with_field= a->with_field;
|
||||||
}
|
}
|
||||||
Item_func(Item *a,Item *b):
|
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= tmp_arg;
|
||||||
args[0]= a; args[1]= b;
|
args[0]= a; args[1]= b;
|
||||||
@ -86,7 +88,7 @@ public:
|
|||||||
with_field= a->with_field || b->with_field;
|
with_field= a->with_field || b->with_field;
|
||||||
}
|
}
|
||||||
Item_func(Item *a,Item *b,Item *c):
|
Item_func(Item *a,Item *b,Item *c):
|
||||||
allowed_arg_cols(1)
|
allowed_arg_cols(1), persistent_maybe_null(0)
|
||||||
{
|
{
|
||||||
arg_count= 0;
|
arg_count= 0;
|
||||||
if ((args= (Item**) sql_alloc(sizeof(Item*)*3)))
|
if ((args= (Item**) sql_alloc(sizeof(Item*)*3)))
|
||||||
@ -98,7 +100,7 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Item_func(Item *a,Item *b,Item *c,Item *d):
|
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;
|
arg_count= 0;
|
||||||
if ((args= (Item**) sql_alloc(sizeof(Item*)*4)))
|
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):
|
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;
|
arg_count= 5;
|
||||||
if ((args= (Item**) sql_alloc(sizeof(Item*)*5)))
|
if ((args= (Item**) sql_alloc(sizeof(Item*)*5)))
|
||||||
@ -170,6 +172,18 @@ public:
|
|||||||
|
|
||||||
my_decimal *val_decimal(my_decimal *);
|
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,
|
bool agg_arg_charsets(DTCollation &c, Item **items, uint nitems,
|
||||||
uint flags, int item_sep)
|
uint flags, int item_sep)
|
||||||
{
|
{
|
||||||
@ -371,6 +385,11 @@ public:
|
|||||||
info.bool_function= &Item::restore_to_before_no_rows_in_result;
|
info.bool_function= &Item::restore_to_before_no_rows_in_result;
|
||||||
walk(&Item::call_bool_func_processor, FALSE, (uchar*) &info);
|
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();
|
double val_real();
|
||||||
enum_field_types field_type() const { return MYSQL_TYPE_DOUBLE; }
|
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"; }
|
const char *func_name() const { return "double_typecast"; }
|
||||||
virtual void print(String *str, enum_query_type query_type);
|
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()
|
void fix_length_and_dec()
|
||||||
{
|
{
|
||||||
decimals=NOT_FIXED_DEC; max_length=float_length(decimals);
|
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) {}
|
Item_func_coercibility(Item *a) :Item_int_func(a) {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "coercibility"; }
|
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; }
|
table_map not_null_tables() const { return 0; }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1199,6 +1218,7 @@ public:
|
|||||||
const char *func_name() const { return "last_insert_id"; }
|
const char *func_name() const { return "last_insert_id"; }
|
||||||
void fix_length_and_dec()
|
void fix_length_and_dec()
|
||||||
{
|
{
|
||||||
|
unsigned_flag= TRUE;
|
||||||
if (arg_count)
|
if (arg_count)
|
||||||
max_length= args[0]->max_length;
|
max_length= args[0]->max_length;
|
||||||
unsigned_flag=1;
|
unsigned_flag=1;
|
||||||
@ -1219,7 +1239,7 @@ public:
|
|||||||
{}
|
{}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "benchmark"; }
|
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);
|
virtual void print(String *str, enum_query_type query_type);
|
||||||
bool check_vcol_func_processor(uchar *int_arg)
|
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; }
|
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; }
|
longlong val_int() { DBUG_ASSERT(fixed == 1); null_value=1; return 0; }
|
||||||
enum Item_result result_type () const { return STRING_RESULT; }
|
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 */
|
#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) {}
|
Item_func_get_lock(Item *a,Item *b) :Item_int_func(a,b) {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "get_lock"; }
|
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)
|
bool check_vcol_func_processor(uchar *int_arg)
|
||||||
{
|
{
|
||||||
return trace_unsupported_by_check_vcol_func_processor(func_name());
|
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) {}
|
Item_func_release_lock(Item *a) :Item_int_func(a) {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "release_lock"; }
|
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)
|
bool check_vcol_func_processor(uchar *int_arg)
|
||||||
{
|
{
|
||||||
return trace_unsupported_by_check_vcol_func_processor(func_name());
|
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) {}
|
Item_master_pos_wait(Item *a,Item *b,Item *c) :Item_int_func(a,b,c) {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "master_pos_wait"; }
|
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)
|
bool check_vcol_func_processor(uchar *int_arg)
|
||||||
{
|
{
|
||||||
return trace_unsupported_by_check_vcol_func_processor(func_name());
|
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) {}
|
Item_func_inet_aton(Item *a) :Item_int_func(a) {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "inet_aton"; }
|
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) {}
|
Item_func_is_free_lock(Item *a) :Item_int_func(a) {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "is_free_lock"; }
|
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)
|
bool check_vcol_func_processor(uchar *int_arg)
|
||||||
{
|
{
|
||||||
return trace_unsupported_by_check_vcol_func_processor(func_name());
|
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) {}
|
Item_func_is_used_lock(Item *a) :Item_int_func(a) {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "is_used_lock"; }
|
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)
|
bool check_vcol_func_processor(uchar *int_arg)
|
||||||
{
|
{
|
||||||
return trace_unsupported_by_check_vcol_func_processor(func_name());
|
return trace_unsupported_by_check_vcol_func_processor(func_name());
|
||||||
@ -1847,7 +1870,7 @@ public:
|
|||||||
Item_func_row_count() :Item_int_func() {}
|
Item_func_row_count() :Item_int_func() {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "row_count"; }
|
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)
|
bool check_vcol_func_processor(uchar *int_arg)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -1987,7 +2010,7 @@ public:
|
|||||||
Item_func_found_rows() :Item_int_func() {}
|
Item_func_found_rows() :Item_int_func() {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "found_rows"; }
|
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)
|
bool check_vcol_func_processor(uchar *int_arg)
|
||||||
{
|
{
|
||||||
return trace_unsupported_by_check_vcol_func_processor(func_name());
|
return trace_unsupported_by_check_vcol_func_processor(func_name());
|
||||||
|
@ -53,7 +53,7 @@ void Item_geometry_func::fix_length_and_dec()
|
|||||||
collation.set(&my_charset_bin);
|
collation.set(&my_charset_bin);
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length= (uint32) 4294967295U;
|
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);
|
collation.set(default_charset(), DERIVATION_COERCIBLE, MY_REPERTOIRE_ASCII);
|
||||||
max_length=MAX_BLOB_WIDTH;
|
max_length=MAX_BLOB_WIDTH;
|
||||||
maybe_null= 1;
|
set_persist_maybe_null(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ public:
|
|||||||
{
|
{
|
||||||
// "GeometryCollection" is the longest
|
// "GeometryCollection" is the longest
|
||||||
fix_length_and_charset(20, default_charset());
|
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);
|
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; }
|
bool is_null() { (void) val_int(); return null_value; }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -251,7 +251,7 @@ public:
|
|||||||
Item_func::print(str, query_type);
|
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; }
|
bool is_null() { (void) val_int(); return null_value; }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -342,7 +342,7 @@ public:
|
|||||||
longlong val_int();
|
longlong val_int();
|
||||||
optimize_type select_optimize() const { return OPTIMIZE_NONE; }
|
optimize_type select_optimize() const { return OPTIMIZE_NONE; }
|
||||||
const char *func_name() const { return "st_isempty"; }
|
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
|
class Item_func_issimple: public Item_bool_func
|
||||||
@ -356,7 +356,7 @@ public:
|
|||||||
longlong val_int();
|
longlong val_int();
|
||||||
optimize_type select_optimize() const { return OPTIMIZE_NONE; }
|
optimize_type select_optimize() const { return OPTIMIZE_NONE; }
|
||||||
const char *func_name() const { return "st_issimple"; }
|
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
|
class Item_func_isclosed: public Item_bool_func
|
||||||
@ -366,7 +366,7 @@ public:
|
|||||||
longlong val_int();
|
longlong val_int();
|
||||||
optimize_type select_optimize() const { return OPTIMIZE_NONE; }
|
optimize_type select_optimize() const { return OPTIMIZE_NONE; }
|
||||||
const char *func_name() const { return "st_isclosed"; }
|
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
|
class Item_func_dimension: public Item_int_func
|
||||||
@ -376,7 +376,7 @@ public:
|
|||||||
Item_func_dimension(Item *a): Item_int_func(a) {}
|
Item_func_dimension(Item *a): Item_int_func(a) {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "st_dimension"; }
|
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
|
class Item_func_x: public Item_real_func
|
||||||
@ -389,7 +389,7 @@ public:
|
|||||||
void fix_length_and_dec()
|
void fix_length_and_dec()
|
||||||
{
|
{
|
||||||
Item_real_func::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()
|
void fix_length_and_dec()
|
||||||
{
|
{
|
||||||
Item_real_func::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) {}
|
Item_func_numgeometries(Item *a): Item_int_func(a) {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "st_numgeometries"; }
|
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) {}
|
Item_func_numinteriorring(Item *a): Item_int_func(a) {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "st_numinteriorrings"; }
|
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) {}
|
Item_func_numpoints(Item *a): Item_int_func(a) {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "st_numpoints"; }
|
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()
|
void fix_length_and_dec()
|
||||||
{
|
{
|
||||||
Item_real_func::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()
|
void fix_length_and_dec()
|
||||||
{
|
{
|
||||||
Item_real_func::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) {}
|
Item_func_srid(Item *a): Item_int_func(a) {}
|
||||||
longlong val_int();
|
longlong val_int();
|
||||||
const char *func_name() const { return "srid"; }
|
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); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2000, 2011, Oracle and/or its affiliates.
|
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
|
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
|
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()
|
void Item_func_aes_decrypt::fix_length_and_dec()
|
||||||
{
|
{
|
||||||
max_length=args[0]->max_length;
|
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);
|
set_if_bigger(decimals,args[i]->decimals);
|
||||||
}
|
}
|
||||||
fix_char_length(char_length);
|
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
|
else
|
||||||
{
|
{
|
||||||
max_length= MAX_BLOB_WIDTH;
|
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
|
else
|
||||||
{
|
{
|
||||||
max_length= MAX_BLOB_WIDTH;
|
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
|
else
|
||||||
{
|
{
|
||||||
max_length= MAX_BLOB_WIDTH;
|
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()
|
void Item_func_dyncol_create::fix_length_and_dec()
|
||||||
{
|
{
|
||||||
maybe_null= TRUE;
|
set_persist_maybe_null(1);
|
||||||
collation.set(&my_charset_bin);
|
collation.set(&my_charset_bin);
|
||||||
decimals= 0;
|
decimals= 0;
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2000, 2011, Oracle and/or its affiliates.
|
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
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -354,7 +355,7 @@ public:
|
|||||||
String *val_str(String *);
|
String *val_str(String *);
|
||||||
void fix_length_and_dec()
|
void fix_length_and_dec()
|
||||||
{
|
{
|
||||||
maybe_null=1;
|
set_persist_maybe_null(1);
|
||||||
/* 9 = MAX ((8- (arg_len % 8)) + 1) */
|
/* 9 = MAX ((8- (arg_len % 8)) + 1) */
|
||||||
max_length = args[0]->max_length + 9;
|
max_length = args[0]->max_length + 9;
|
||||||
}
|
}
|
||||||
@ -370,7 +371,7 @@ public:
|
|||||||
String *val_str(String *);
|
String *val_str(String *);
|
||||||
void fix_length_and_dec()
|
void fix_length_and_dec()
|
||||||
{
|
{
|
||||||
maybe_null=1;
|
set_persist_maybe_null(1);
|
||||||
/* 9 = MAX ((8- (arg_len % 8)) + 1) */
|
/* 9 = MAX ((8- (arg_len % 8)) + 1) */
|
||||||
max_length= args[0]->max_length;
|
max_length= args[0]->max_length;
|
||||||
if (max_length >= 9U)
|
if (max_length >= 9U)
|
||||||
@ -398,7 +399,7 @@ public:
|
|||||||
constructor_helper();
|
constructor_helper();
|
||||||
}
|
}
|
||||||
String *val_str(String *);
|
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"; }
|
const char *func_name() const { return "encrypt"; }
|
||||||
bool check_vcol_func_processor(uchar *int_arg)
|
bool check_vcol_func_processor(uchar *int_arg)
|
||||||
{
|
{
|
||||||
@ -468,7 +469,7 @@ public:
|
|||||||
void fix_length_and_dec()
|
void fix_length_and_dec()
|
||||||
{
|
{
|
||||||
max_length= MAX_FIELD_NAME * system_charset_info->mbmaxlen;
|
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 *func_name() const { return "database"; }
|
||||||
const char *fully_qualified_func_name() const { return "database()"; }
|
const char *fully_qualified_func_name() const { return "database()"; }
|
||||||
@ -649,7 +650,7 @@ public:
|
|||||||
{
|
{
|
||||||
collation.set(default_charset());
|
collation.set(default_charset());
|
||||||
max_length=64;
|
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)
|
Item_func_unhex(Item *a) :Item_str_func(a)
|
||||||
{
|
{
|
||||||
/* there can be bad hex strings */
|
/* there can be bad hex strings */
|
||||||
maybe_null= 1;
|
set_persist_maybe_null(1);
|
||||||
}
|
}
|
||||||
const char *func_name() const { return "unhex"; }
|
const char *func_name() const { return "unhex"; }
|
||||||
String *val_str(String *);
|
String *val_str(String *);
|
||||||
@ -762,7 +763,7 @@ public:
|
|||||||
void fix_length_and_dec()
|
void fix_length_and_dec()
|
||||||
{
|
{
|
||||||
collation.set(&my_charset_bin, DERIVATION_COERCIBLE);
|
collation.set(&my_charset_bin, DERIVATION_COERCIBLE);
|
||||||
maybe_null=1;
|
set_persist_maybe_null(1);
|
||||||
max_length=MAX_BLOB_WIDTH;
|
max_length=MAX_BLOB_WIDTH;
|
||||||
}
|
}
|
||||||
bool check_vcol_func_processor(uchar *int_arg)
|
bool check_vcol_func_processor(uchar *int_arg)
|
||||||
@ -795,7 +796,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals= 0;
|
decimals= 0;
|
||||||
fix_length_and_charset(3 * 8 + 7, default_charset());
|
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);
|
collation.set(system_charset_info);
|
||||||
max_length= 64 * collation.collation->mbmaxlen; // should be enough
|
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; }
|
table_map not_null_tables() const { return 0; }
|
||||||
};
|
};
|
||||||
@ -925,7 +926,7 @@ public:
|
|||||||
{
|
{
|
||||||
collation.set(system_charset_info);
|
collation.set(system_charset_info);
|
||||||
max_length= 64 * collation.collation->mbmaxlen; // should be enough
|
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; }
|
table_map not_null_tables() const { return 0; }
|
||||||
};
|
};
|
||||||
@ -971,7 +972,8 @@ class Item_func_uncompress: public Item_str_func
|
|||||||
String buffer;
|
String buffer;
|
||||||
public:
|
public:
|
||||||
Item_func_uncompress(Item *a): Item_str_func(a){}
|
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";}
|
const char *func_name() const{return "uncompress";}
|
||||||
String *val_str(String *) ZLIB_DEPENDED_FUNCTION
|
String *val_str(String *) ZLIB_DEPENDED_FUNCTION
|
||||||
};
|
};
|
||||||
@ -1040,7 +1042,7 @@ public:
|
|||||||
max_length= MAX_DYNAMIC_COLUMN_LENGTH;
|
max_length= MAX_DYNAMIC_COLUMN_LENGTH;
|
||||||
}
|
}
|
||||||
void fix_length_and_dec()
|
void fix_length_and_dec()
|
||||||
{ maybe_null= 1; }
|
{ set_persist_maybe_null(1); }
|
||||||
/* Mark that collation can change between calls */
|
/* Mark that collation can change between calls */
|
||||||
bool dynamic_result() { return 1; }
|
bool dynamic_result() { return 1; }
|
||||||
|
|
||||||
@ -1059,7 +1061,8 @@ class Item_func_dyncol_list: public Item_str_func
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Item_func_dyncol_list(Item *str) :Item_str_func(str) {};
|
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"; }
|
const char *func_name() const{ return "column_list"; }
|
||||||
String *val_str(String *);
|
String *val_str(String *);
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2000, 2012, Oracle and/or its affiliates.
|
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
|
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
|
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);
|
collation.set(cs, DERIVATION_COERCIBLE, repertoire);
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length= locale->max_month_name_length * collation.collation->mbmaxlen;
|
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);
|
collation.set(cs, DERIVATION_COERCIBLE, repertoire);
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length= locale->max_day_name_length * collation.collation->mbmaxlen;
|
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, MAX_DATETIME_WIDTH, MAX_DATE_WIDTH,
|
||||||
MAX_DATETIME_WIDTH, MIN_TIME_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];
|
max_length= max_time_type_width[mysql_type_to_time_type(field_type())+2];
|
||||||
if (decimals)
|
if (decimals)
|
||||||
{
|
{
|
||||||
@ -1501,13 +1501,10 @@ bool Item_func_from_days::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date)
|
|||||||
bzero(ltime, sizeof(MYSQL_TIME));
|
bzero(ltime, sizeof(MYSQL_TIME));
|
||||||
if (get_date_from_daynr((long) value, <ime->year, <ime->month,
|
if (get_date_from_daynr((long) value, <ime->year, <ime->month,
|
||||||
<ime->day))
|
<ime->day))
|
||||||
return (null_value= 1);
|
return 0;
|
||||||
|
|
||||||
if ((fuzzy_date & TIME_NO_ZERO_DATE) && ltime->year == 0)
|
|
||||||
return (null_value= 1);
|
|
||||||
|
|
||||||
ltime->time_type= MYSQL_TIMESTAMP_DATE;
|
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.hour= ltime.minute= ltime.second= 0;
|
||||||
ltime.time_type= MYSQL_TIMESTAMP_DATE;
|
ltime.time_type= MYSQL_TIMESTAMP_DATE;
|
||||||
Item_datefunc::fix_length_and_dec();
|
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;
|
collation.collation->mbmaxlen;
|
||||||
set_if_smaller(max_length,MAX_BLOB_WIDTH);
|
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()
|
void Item_extract::fix_length_and_dec()
|
||||||
{
|
{
|
||||||
maybe_null=1; // If wrong date
|
set_persist_maybe_null(1); // If wrong date
|
||||||
switch (int_type) {
|
switch (int_type) {
|
||||||
case INTERVAL_YEAR: max_length=4; date_value=1; break;
|
case INTERVAL_YEAR: max_length=4; date_value=1; break;
|
||||||
case INTERVAL_YEAR_MONTH: max_length=6; date_value=1; break;
|
case INTERVAL_YEAR_MONTH: max_length=6; date_value=1; break;
|
||||||
|
@ -82,7 +82,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length=6*MY_CHARSET_BIN_MB_MAXLEN;
|
max_length=6*MY_CHARSET_BIN_MB_MAXLEN;
|
||||||
maybe_null=1;
|
set_persist_maybe_null(1);
|
||||||
}
|
}
|
||||||
enum_monotonicity_info get_monotonicity_info() const;
|
enum_monotonicity_info get_monotonicity_info() const;
|
||||||
longlong val_int_endpoint(bool left_endp, bool *incl_endp);
|
longlong val_int_endpoint(bool left_endp, bool *incl_endp);
|
||||||
@ -105,7 +105,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length=6*MY_CHARSET_BIN_MB_MAXLEN;
|
max_length=6*MY_CHARSET_BIN_MB_MAXLEN;
|
||||||
maybe_null=1;
|
set_persist_maybe_null(1);
|
||||||
}
|
}
|
||||||
enum_monotonicity_info get_monotonicity_info() const;
|
enum_monotonicity_info get_monotonicity_info() const;
|
||||||
longlong val_int_endpoint(bool left_endp, bool *incl_endp);
|
longlong val_int_endpoint(bool left_endp, bool *incl_endp);
|
||||||
@ -138,7 +138,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length=2*MY_CHARSET_BIN_MB_MAXLEN;
|
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_partition_func_processor(uchar *int_arg) {return FALSE;}
|
||||||
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
||||||
@ -170,7 +170,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals= 0;
|
decimals= 0;
|
||||||
fix_char_length(2);
|
fix_char_length(2);
|
||||||
maybe_null= 1;
|
set_persist_maybe_null(1);
|
||||||
}
|
}
|
||||||
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
|
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
|
||||||
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
||||||
@ -208,7 +208,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals= 0;
|
decimals= 0;
|
||||||
fix_char_length(3);
|
fix_char_length(3);
|
||||||
maybe_null= 1;
|
set_persist_maybe_null(1);
|
||||||
}
|
}
|
||||||
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
|
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
|
||||||
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
||||||
@ -229,7 +229,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length=2*MY_CHARSET_BIN_MB_MAXLEN;
|
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_partition_func_processor(uchar *int_arg) {return FALSE;}
|
||||||
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
||||||
@ -250,7 +250,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length=2*MY_CHARSET_BIN_MB_MAXLEN;
|
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_partition_func_processor(uchar *int_arg) {return FALSE;}
|
||||||
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
||||||
@ -271,7 +271,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length=1*MY_CHARSET_BIN_MB_MAXLEN;
|
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_partition_func_processor(uchar *int_arg) {return FALSE;}
|
||||||
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
||||||
@ -292,7 +292,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length=2*MY_CHARSET_BIN_MB_MAXLEN;
|
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_partition_func_processor(uchar *int_arg) {return FALSE;}
|
||||||
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
||||||
@ -313,7 +313,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length=2*MY_CHARSET_BIN_MB_MAXLEN;
|
max_length=2*MY_CHARSET_BIN_MB_MAXLEN;
|
||||||
maybe_null=1;
|
set_persist_maybe_null(1);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -327,7 +327,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length=6*MY_CHARSET_BIN_MB_MAXLEN;
|
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_partition_func_processor(uchar *int_arg) {return FALSE;}
|
||||||
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
||||||
@ -350,7 +350,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length=4*MY_CHARSET_BIN_MB_MAXLEN;
|
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_partition_func_processor(uchar *int_arg) {return FALSE;}
|
||||||
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
bool check_vcol_func_processor(uchar *int_arg) { return FALSE;}
|
||||||
@ -384,7 +384,7 @@ public:
|
|||||||
{
|
{
|
||||||
decimals= 0;
|
decimals= 0;
|
||||||
fix_char_length(1);
|
fix_char_length(1);
|
||||||
maybe_null= 1;
|
set_persist_maybe_null(1);
|
||||||
}
|
}
|
||||||
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
|
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
|
||||||
bool check_vcol_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;
|
decimals= args[0]->decimals;
|
||||||
set_if_smaller(decimals, TIME_SECOND_PART_DIGITS);
|
set_if_smaller(decimals, TIME_SECOND_PART_DIGITS);
|
||||||
max_length=17 + (decimals ? decimals + 1 : 0);
|
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; }
|
void find_num_type() { hybrid_type= decimals ? DECIMAL_RESULT : INT_RESULT; }
|
||||||
double real_op() { DBUG_ASSERT(0); return 0; }
|
double real_op() { DBUG_ASSERT(0); return 0; }
|
||||||
@ -466,7 +466,7 @@ public:
|
|||||||
const char *func_name() const { return "time_to_sec"; }
|
const char *func_name() const { return "time_to_sec"; }
|
||||||
void fix_num_length_and_dec()
|
void fix_num_length_and_dec()
|
||||||
{
|
{
|
||||||
maybe_null= true;
|
set_persist_maybe_null(1);
|
||||||
Item_func_seconds_hybrid::fix_num_length_and_dec();
|
Item_func_seconds_hybrid::fix_num_length_and_dec();
|
||||||
}
|
}
|
||||||
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
|
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
|
||||||
@ -537,7 +537,7 @@ public:
|
|||||||
{
|
{
|
||||||
store_now_in_TIME(<ime);
|
store_now_in_TIME(<ime);
|
||||||
Item_timefunc::fix_length_and_dec();
|
Item_timefunc::fix_length_and_dec();
|
||||||
maybe_null= false;
|
set_persist_maybe_null(0);
|
||||||
}
|
}
|
||||||
bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date);
|
bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date);
|
||||||
/*
|
/*
|
||||||
@ -619,7 +619,7 @@ public:
|
|||||||
{
|
{
|
||||||
store_now_in_TIME(<ime);
|
store_now_in_TIME(<ime);
|
||||||
Item_temporal_func::fix_length_and_dec();
|
Item_temporal_func::fix_length_and_dec();
|
||||||
maybe_null= false;
|
set_persist_maybe_null(0);
|
||||||
}
|
}
|
||||||
bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date);
|
bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date);
|
||||||
virtual void store_now_in_TIME(MYSQL_TIME *now_time)=0;
|
virtual void store_now_in_TIME(MYSQL_TIME *now_time)=0;
|
||||||
@ -664,7 +664,7 @@ public:
|
|||||||
void update_used_tables()
|
void update_used_tables()
|
||||||
{
|
{
|
||||||
Item_func_now::update_used_tables();
|
Item_func_now::update_used_tables();
|
||||||
maybe_null= false;
|
set_persist_maybe_null(0);
|
||||||
used_tables_cache|= RAND_TABLE_BIT;
|
used_tables_cache|= RAND_TABLE_BIT;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -959,7 +959,7 @@ public:
|
|||||||
void fix_length_and_dec()
|
void fix_length_and_dec()
|
||||||
{
|
{
|
||||||
decimals=0;
|
decimals=0;
|
||||||
maybe_null=1;
|
set_persist_maybe_null(1);
|
||||||
}
|
}
|
||||||
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
|
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
|
||||||
bool check_vcol_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()
|
void fix_length_and_dec()
|
||||||
{
|
{
|
||||||
decimals=0;
|
decimals=0;
|
||||||
maybe_null=1;
|
set_persist_maybe_null(1);
|
||||||
}
|
}
|
||||||
virtual void print(String *str, enum_query_type query_type);
|
virtual void print(String *str, enum_query_type query_type);
|
||||||
};
|
};
|
||||||
@ -1003,7 +1003,7 @@ public:
|
|||||||
const char *func_name() const { return "get_format"; }
|
const char *func_name() const { return "get_format"; }
|
||||||
void fix_length_and_dec()
|
void fix_length_and_dec()
|
||||||
{
|
{
|
||||||
maybe_null= 1;
|
set_persist_maybe_null(1);
|
||||||
decimals=0;
|
decimals=0;
|
||||||
fix_length_and_charset(17, default_charset());
|
fix_length_and_charset(17, default_charset());
|
||||||
}
|
}
|
||||||
|
@ -2604,6 +2604,7 @@ void Item_xml_str_func::fix_length_and_dec()
|
|||||||
status_var_increment(current_thd->status_var.feature_xml);
|
status_var_increment(current_thd->status_var.feature_xml);
|
||||||
|
|
||||||
nodeset_func= 0;
|
nodeset_func= 0;
|
||||||
|
set_persist_maybe_null(1);
|
||||||
|
|
||||||
if (agg_arg_charsets_for_comparison(collation, args, arg_count))
|
if (agg_arg_charsets_for_comparison(collation, args, arg_count))
|
||||||
return;
|
return;
|
||||||
|
@ -34,14 +34,10 @@ protected:
|
|||||||
public:
|
public:
|
||||||
Item_xml_str_func(Item *a, Item *b):
|
Item_xml_str_func(Item *a, Item *b):
|
||||||
Item_str_func(a,b)
|
Item_str_func(a,b)
|
||||||
{
|
{}
|
||||||
maybe_null= TRUE;
|
|
||||||
}
|
|
||||||
Item_xml_str_func(Item *a, Item *b, Item *c):
|
Item_xml_str_func(Item *a, Item *b, Item *c):
|
||||||
Item_str_func(a,b,c)
|
Item_str_func(a,b,c)
|
||||||
{
|
{}
|
||||||
maybe_null= TRUE;
|
|
||||||
}
|
|
||||||
void fix_length_and_dec();
|
void fix_length_and_dec();
|
||||||
String *parse_xml(String *raw_xml, String *parsed_xml_buf);
|
String *parse_xml(String *raw_xml, String *parsed_xml_buf);
|
||||||
bool check_vcol_func_processor(uchar *int_arg)
|
bool check_vcol_func_processor(uchar *int_arg)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates.
|
/* 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
|
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
|
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.
|
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))
|
if (pending->write(file))
|
||||||
{
|
{
|
||||||
set_write_error(thd, is_transactional);
|
set_write_error(thd, is_transactional);
|
||||||
if (check_write_error(thd) && cache_data &&
|
if (check_write_error(thd) && cache_data &&
|
||||||
stmt_has_updated_non_trans_table(thd))
|
stmt_has_updated_non_trans_table(thd))
|
||||||
cache_data->set_incident();
|
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);
|
DBUG_RETURN(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2000, 2012, Oracle and/or its affiliates.
|
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
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -46,7 +46,7 @@
|
|||||||
#include "rpl_record.h"
|
#include "rpl_record.h"
|
||||||
#include "transaction.h"
|
#include "transaction.h"
|
||||||
#include <my_dir.h>
|
#include <my_dir.h>
|
||||||
#include "sql_show.h"
|
#include "sql_show.h" // append_identifier
|
||||||
|
|
||||||
#endif /* MYSQL_CLIENT */
|
#endif /* MYSQL_CLIENT */
|
||||||
|
|
||||||
@ -92,6 +92,23 @@ TYPELIB binlog_checksum_typelib=
|
|||||||
*/
|
*/
|
||||||
#define FMT_G_BUFSIZE(PREC) (3 + (PREC) + 5 + 1)
|
#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.
|
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
|
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);
|
ev = new Rand_log_event(buf, description_event);
|
||||||
break;
|
break;
|
||||||
case USER_VAR_EVENT:
|
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;
|
break;
|
||||||
case FORMAT_DESCRIPTION_EVENT:
|
case FORMAT_DESCRIPTION_EVENT:
|
||||||
ev = new Format_description_log_event(buf, event_len, 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; )
|
for (const uchar *value= m_rows_buf; value < m_rows_end; )
|
||||||
{
|
{
|
||||||
size_t length;
|
size_t length;
|
||||||
my_b_printf(file, "### %s %s.%s\n",
|
my_b_printf(file, "### %s %`s.%`s\n",
|
||||||
sql_command,
|
sql_command,
|
||||||
map->get_db_name(), map->get_table_name());
|
map->get_db_name(), map->get_table_name());
|
||||||
/* Print the first image */
|
/* Print the first image */
|
||||||
@ -2463,7 +2480,7 @@ void Query_log_event::pack_info(THD *thd, Protocol *protocol)
|
|||||||
{
|
{
|
||||||
buf.append(STRING_WITH_LEN("use "));
|
buf.append(STRING_WITH_LEN("use "));
|
||||||
append_identifier(thd, &buf, db, db_len);
|
append_identifier(thd, &buf, db, db_len);
|
||||||
buf.append("; ");
|
buf.append(STRING_WITH_LEN("; "));
|
||||||
}
|
}
|
||||||
if (query && q_len)
|
if (query && q_len)
|
||||||
buf.append(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)
|
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);
|
different_db= memcmp(print_event_info->db, db, db_len + 1);
|
||||||
if (different_db)
|
if (different_db)
|
||||||
memcpy(print_event_info->db, db, db_len + 1);
|
memcpy(print_event_info->db, db, db_len + 1);
|
||||||
if (db[0] && different_db)
|
if (db[0] && different_db)
|
||||||
{
|
my_b_printf(file, "use %`s%s\n", db, print_event_info->delimiter);
|
||||||
my_snprintf(buf, sizeof(buf), "%`s", db);
|
|
||||||
my_b_printf(file, "use %s%s\n", buf, print_event_info->delimiter);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
end=int10_to_str((long) when, strmov(buff,"SET TIMESTAMP="),10);
|
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)
|
if (db && db[0] && different_db)
|
||||||
my_b_printf(&cache, "%suse %s%s\n",
|
my_b_printf(&cache, "%suse %`s%s\n",
|
||||||
commented ? "# " : "",
|
commented ? "# " : "",
|
||||||
db, print_event_info->delimiter);
|
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)
|
if (i)
|
||||||
my_b_printf(&cache, ",");
|
my_b_printf(&cache, ",");
|
||||||
my_b_printf(&cache, "%s", field);
|
my_b_printf(&cache, "%`s", field);
|
||||||
|
|
||||||
field += field_lens[i] + 1;
|
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::
|
||||||
User_var_log_event(const char* buf,
|
User_var_log_event(const char* buf, uint event_len,
|
||||||
const Format_description_log_event* description_event)
|
const Format_description_log_event* description_event)
|
||||||
:Log_event(buf, description_event)
|
:Log_event(buf, description_event)
|
||||||
#ifndef MYSQL_CLIENT
|
#ifndef MYSQL_CLIENT
|
||||||
, deferred(false)
|
, deferred(false)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
bool error= false;
|
||||||
|
const char* buf_start= buf;
|
||||||
/* The Post-Header is empty. The Variable Data part begins immediately. */
|
/* The Post-Header is empty. The Variable Data part begins immediately. */
|
||||||
const char *start= buf;
|
const char *start= buf;
|
||||||
buf+= description_event->common_header_len +
|
buf+= description_event->common_header_len +
|
||||||
description_event->post_header_len[USER_VAR_EVENT-1];
|
description_event->post_header_len[USER_VAR_EVENT-1];
|
||||||
name_len= uint4korr(buf);
|
name_len= uint4korr(buf);
|
||||||
name= (char *) buf + UV_NAME_LEN_SIZE;
|
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;
|
buf+= UV_NAME_LEN_SIZE + name_len;
|
||||||
is_null= (bool) *buf;
|
is_null= (bool) *buf;
|
||||||
flags= User_var_log_event::UNDEF_F; // defaults to UNDEF_F
|
flags= User_var_log_event::UNDEF_F; // defaults to UNDEF_F
|
||||||
@ -6312,6 +6339,14 @@ User_var_log_event(const char* buf,
|
|||||||
}
|
}
|
||||||
else
|
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];
|
type= (Item_result) buf[UV_VAL_IS_NULL];
|
||||||
charset_number= uint4korr(buf + UV_VAL_IS_NULL + UV_VAL_TYPE_SIZE);
|
charset_number= uint4korr(buf + UV_VAL_IS_NULL + UV_VAL_TYPE_SIZE);
|
||||||
val_len= 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 +
|
val= (char *) (buf + UV_VAL_IS_NULL + UV_VAL_TYPE_SIZE +
|
||||||
UV_CHARSET_NUMBER_SIZE + UV_VAL_LEN_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
|
We need to check if this is from an old server
|
||||||
that did not pack information for flags.
|
that did not pack information for flags.
|
||||||
@ -6353,6 +6394,10 @@ User_var_log_event(const char* buf,
|
|||||||
val_len);
|
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;
|
char *hex_str;
|
||||||
CHARSET_INFO *cs;
|
CHARSET_INFO *cs;
|
||||||
|
|
||||||
if (!(hex_str= (char *)my_alloca(2*val_len+1+2))) // 2 hex digits / byte
|
hex_str= (char *)my_malloc(2*val_len+1+2,MYF(MY_WME)); // 2 hex digits / byte
|
||||||
break; // no error, as we are 'void'
|
if (!hex_str)
|
||||||
|
return;
|
||||||
str_to_hex(hex_str, val, val_len);
|
str_to_hex(hex_str, val, val_len);
|
||||||
/*
|
/*
|
||||||
For proper behaviour when mysqlbinlog|mysql, we need to explicitely
|
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",
|
my_b_printf(&cache, ":=_%s %s COLLATE `%s`%s\n",
|
||||||
cs->csname, hex_str, cs->name,
|
cs->csname, hex_str, cs->name,
|
||||||
print_event_info->delimiter);
|
print_event_info->delimiter);
|
||||||
my_afree(hex_str);
|
my_free(hex_str);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ROW_RESULT:
|
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);
|
buf.real_alloc(9 + db_len + q_len + 10 + 21);
|
||||||
if (db && db_len)
|
if (db && db_len)
|
||||||
{
|
{
|
||||||
if (buf.append("use ") ||
|
if (buf.append(STRING_WITH_LEN("use ")) ||
|
||||||
append_identifier(thd, &buf, db, db_len) ||
|
append_identifier(thd, &buf, db, db_len) ||
|
||||||
buf.append("; "))
|
buf.append(STRING_WITH_LEN("; ")))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (query && q_len && buf.append(query, q_len))
|
if (query && q_len && buf.append(query, q_len))
|
||||||
|
@ -2693,7 +2693,7 @@ public:
|
|||||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info);
|
void print(FILE* file, PRINT_EVENT_INFO* print_event_info);
|
||||||
#endif
|
#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);
|
const Format_description_log_event *description_event);
|
||||||
~User_var_log_event() {}
|
~User_var_log_event() {}
|
||||||
Log_event_type get_type_code() { return USER_VAR_EVENT;}
|
Log_event_type get_type_code() { return USER_VAR_EVENT;}
|
||||||
@ -2705,9 +2705,9 @@ public:
|
|||||||
and which case the applier adjusts execution path.
|
and which case the applier adjusts execution path.
|
||||||
*/
|
*/
|
||||||
bool is_deferred() { return deferred; }
|
bool is_deferred() { return deferred; }
|
||||||
void set_deferred() { deferred= val; }
|
void set_deferred() { deferred= true; }
|
||||||
#endif
|
#endif
|
||||||
bool is_valid() const { return 1; }
|
bool is_valid() const { return name != 0; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
#if defined(MYSQL_SERVER) && defined(HAVE_REPLICATION)
|
#if defined(MYSQL_SERVER) && defined(HAVE_REPLICATION)
|
||||||
|
@ -5354,7 +5354,7 @@ void create_thread_to_handle_connection(THD *thd)
|
|||||||
if (cached_thread_count > wake_thread)
|
if (cached_thread_count > wake_thread)
|
||||||
{
|
{
|
||||||
/* Get thread from cache */
|
/* Get thread from cache */
|
||||||
thread_cache.append(thd);
|
thread_cache.push_back(thd);
|
||||||
wake_thread++;
|
wake_thread++;
|
||||||
mysql_cond_signal(&COND_thread_cache);
|
mysql_cond_signal(&COND_thread_cache);
|
||||||
}
|
}
|
||||||
|
@ -4020,8 +4020,6 @@ typedef struct st_sp_table
|
|||||||
Multi-set key:
|
Multi-set key:
|
||||||
db_name\0table_name\0alias\0 - for normal tables
|
db_name\0table_name\0alias\0 - for normal tables
|
||||||
db_name\0table_name\0 - for temporary 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;
|
LEX_STRING qname;
|
||||||
uint db_length, table_name_length;
|
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)
|
for (; table ; table= table->next_global)
|
||||||
if (!table->derived && !table->schema_table)
|
if (!table->derived && !table->schema_table)
|
||||||
{
|
{
|
||||||
char tname[(SAFE_NAME_LEN + 1) * 3]; // db\0table\0alias\0
|
/*
|
||||||
uint tlen, alen;
|
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;
|
||||||
|
|
||||||
tlen= table->db_length;
|
tname.length(0);
|
||||||
memcpy(tname, table->db, tlen);
|
tname.append(table->db, table->db_length);
|
||||||
tname[tlen++]= '\0';
|
tname.append('\0');
|
||||||
memcpy(tname+tlen, table->table_name, table->table_name_length);
|
tname.append(table->table_name, table->table_name_length);
|
||||||
tlen+= table->table_name_length;
|
tname.append('\0');
|
||||||
tname[tlen++]= '\0';
|
temp_table_key_length= tname.length();
|
||||||
alen= strlen(table->alias);
|
tname.append(table->alias);
|
||||||
memcpy(tname+tlen, table->alias, alen);
|
tname.append('\0');
|
||||||
tlen+= alen;
|
|
||||||
tname[tlen]= '\0';
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Upgrade the lock type because this table list will be used
|
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
|
(and therefore should not be prelocked). Otherwise we will erroneously
|
||||||
treat table with same name but with different alias as non-temporary.
|
treat table with same name but with different alias as non-temporary.
|
||||||
*/
|
*/
|
||||||
if ((tab= (SP_TABLE*) my_hash_search(&m_sptabs, (uchar *)tname, tlen)) ||
|
if ((tab= (SP_TABLE *)my_hash_search(&m_sptabs, (uchar *)tname.ptr(),
|
||||||
((tab= (SP_TABLE*) my_hash_search(&m_sptabs, (uchar *)tname,
|
tname.length())) ||
|
||||||
tlen - alen - 1)) &&
|
((tab= (SP_TABLE *)my_hash_search(&m_sptabs, (uchar *)tname.ptr(),
|
||||||
|
temp_table_key_length)) &&
|
||||||
tab->temp))
|
tab->temp))
|
||||||
{
|
{
|
||||||
if (tab->lock_type < table->lock_type)
|
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)
|
lex_for_tmp_check->create_info.options & HA_LEX_CREATE_TMP_TABLE)
|
||||||
{
|
{
|
||||||
tab->temp= TRUE;
|
tab->temp= TRUE;
|
||||||
tab->qname.length= tlen - alen - 1;
|
tab->qname.length= temp_table_key_length;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
tab->qname.length= tlen;
|
tab->qname.length= tname.length();
|
||||||
tab->qname.str= (char*) thd->memdup(tname, tab->qname.length + 1);
|
tab->qname.str= (char*) thd->memdup(tname.ptr(), tab->qname.length);
|
||||||
if (!tab->qname.str)
|
if (!tab->qname.str)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
tab->table_name_length= table->table_name_length;
|
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)) *
|
if (!(tab_buff= (char *)thd->calloc(ALIGN_SIZE(sizeof(TABLE_LIST)) *
|
||||||
stab->lock_count)) ||
|
stab->lock_count)) ||
|
||||||
!(key_buff= (char*)thd->memdup(stab->qname.str,
|
!(key_buff= (char*)thd->memdup(stab->qname.str,
|
||||||
stab->qname.length + 1)))
|
stab->qname.length)))
|
||||||
DBUG_RETURN(FALSE);
|
DBUG_RETURN(FALSE);
|
||||||
|
|
||||||
for (uint j= 0; j < stab->lock_count; j++)
|
for (uint j= 0; j < stab->lock_count; j++)
|
||||||
|
124
sql/sql_acl.cc
124
sql/sql_acl.cc
@ -1,5 +1,5 @@
|
|||||||
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates.
|
/* 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
|
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
|
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 acl_load(THD *thd, TABLE_LIST *tables);
|
||||||
static my_bool grant_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);
|
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,
|
Convert scrambled password to binary form, according to scramble type,
|
||||||
Binary form is stored in user.salt.
|
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
|
convert db to lower case and give a warning if the db wasn't
|
||||||
already in lower case
|
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);
|
my_casedn_str(files_charset_info, host.db);
|
||||||
if (strcmp(host.db, tmp_name) != 0)
|
if (strcmp(host.db, tmp_name) != 0)
|
||||||
sql_print_warning("'host' entry '%s|%s' had database in mixed "
|
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
|
convert db to lower case and give a warning if the db wasn't
|
||||||
already in lower case
|
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);
|
my_casedn_str(files_charset_info, db.db);
|
||||||
if (strcmp(db.db, tmp_name) != 0)
|
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,
|
const char *user, const char *tname,
|
||||||
bool exact, bool name_tolower)
|
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;
|
uint len;
|
||||||
GRANT_NAME *grant_name,*found=0;
|
GRANT_NAME *grant_name,*found=0;
|
||||||
HASH_SEARCH_STATE state;
|
HASH_SEARCH_STATE state;
|
||||||
|
|
||||||
name_ptr= strmov(strmov(helping, user) + 1, db) + 1;
|
char *db_ptr= strmov(helping, user) + 1;
|
||||||
len = (uint) (strmov(name_ptr, tname) - helping) + 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)
|
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,
|
for (grant_name= (GRANT_NAME*) my_hash_first(name_hash, (uchar*) helping,
|
||||||
len, &state);
|
len, &state);
|
||||||
grant_name ;
|
grant_name ;
|
||||||
@ -4016,7 +4045,12 @@ bool mysql_grant(THD *thd, const char *db, List <LEX_USER> &list,
|
|||||||
|
|
||||||
if (lower_case_table_names && db)
|
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);
|
my_casedn_str(files_charset_info, tmp_db);
|
||||||
db=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.
|
Delete from grant structure if drop is true.
|
||||||
Update in grant structure if drop is false and user_to is not NULL.
|
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.
|
Search in grant structure if drop is false and user_to is NULL.
|
||||||
Structures are numbered as follows:
|
Structures are enumerated as follows:
|
||||||
0 acl_users
|
0 ACL_USER
|
||||||
1 acl_dbs
|
1 ACL_DB
|
||||||
2 column_priv_hash
|
2 COLUMN_PRIVILEGES_HASH
|
||||||
3 proc_priv_hash
|
3 PROC_PRIVILEGES_HASH
|
||||||
4 func_priv_hash
|
4 FUNC_PRIVILEGES_HASH
|
||||||
5 acl_proxy_users
|
5 ACL_PROXY_USERS
|
||||||
|
|
||||||
@retval > 0 At least one element matched.
|
@retval > 0 At least one element matched.
|
||||||
@retval 0 OK, but no 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)
|
LEX_USER *user_from, LEX_USER *user_to)
|
||||||
{
|
{
|
||||||
int result= 0;
|
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. */
|
/* Get the number of elements in the in-memory structure. */
|
||||||
switch (struct_no) {
|
switch (struct_no) {
|
||||||
case 0:
|
case USER_ACL:
|
||||||
elements= acl_users.elements;
|
elements= acl_users.elements;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case DB_ACL:
|
||||||
elements= acl_dbs.elements;
|
elements= acl_dbs.elements;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case COLUMN_PRIVILEGES_HASH:
|
||||||
grant_name_hash= &column_priv_hash;
|
grant_name_hash= &column_priv_hash;
|
||||||
elements= grant_name_hash->records;
|
elements= grant_name_hash->records;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case PROC_PRIVILEGES_HASH:
|
||||||
grant_name_hash= &proc_priv_hash;
|
grant_name_hash= &proc_priv_hash;
|
||||||
elements= grant_name_hash->records;
|
elements= grant_name_hash->records;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case FUNC_PRIVILEGES_HASH:
|
||||||
grant_name_hash= &func_priv_hash;
|
grant_name_hash= &func_priv_hash;
|
||||||
elements= grant_name_hash->records;
|
elements= grant_name_hash->records;
|
||||||
break;
|
break;
|
||||||
@ -6131,21 +6165,21 @@ static int handle_grant_struct(uint struct_no, bool drop,
|
|||||||
Get a pointer to the element.
|
Get a pointer to the element.
|
||||||
*/
|
*/
|
||||||
switch (struct_no) {
|
switch (struct_no) {
|
||||||
case 0:
|
case USER_ACL:
|
||||||
acl_user= dynamic_element(&acl_users, idx, ACL_USER*);
|
acl_user= dynamic_element(&acl_users, idx, ACL_USER*);
|
||||||
user= acl_user->user;
|
user= acl_user->user;
|
||||||
host= acl_user->host.hostname;
|
host= acl_user->host.hostname;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case DB_ACL:
|
||||||
acl_db= dynamic_element(&acl_dbs, idx, ACL_DB*);
|
acl_db= dynamic_element(&acl_dbs, idx, ACL_DB*);
|
||||||
user= acl_db->user;
|
user= acl_db->user;
|
||||||
host= acl_db->host.hostname;
|
host= acl_db->host.hostname;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case COLUMN_PRIVILEGES_HASH:
|
||||||
case 3:
|
case PROC_PRIVILEGES_HASH:
|
||||||
case 4:
|
case FUNC_PRIVILEGES_HASH:
|
||||||
grant_name= (GRANT_NAME*) my_hash_element(grant_name_hash, idx);
|
grant_name= (GRANT_NAME*) my_hash_element(grant_name_hash, idx);
|
||||||
user= grant_name->user;
|
user= grant_name->user;
|
||||||
host= grant_name->host.hostname;
|
host= grant_name->host.hostname;
|
||||||
@ -6177,17 +6211,17 @@ static int handle_grant_struct(uint struct_no, bool drop,
|
|||||||
if ( drop )
|
if ( drop )
|
||||||
{
|
{
|
||||||
switch ( struct_no ) {
|
switch ( struct_no ) {
|
||||||
case 0:
|
case USER_ACL:
|
||||||
delete_dynamic_element(&acl_users, idx);
|
delete_dynamic_element(&acl_users, idx);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case DB_ACL:
|
||||||
delete_dynamic_element(&acl_dbs, idx);
|
delete_dynamic_element(&acl_dbs, idx);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case COLUMN_PRIVILEGES_HASH:
|
||||||
case 3:
|
case PROC_PRIVILEGES_HASH:
|
||||||
case 4:
|
case FUNC_PRIVILEGES_HASH:
|
||||||
my_hash_delete(grant_name_hash, (uchar*) grant_name);
|
my_hash_delete(grant_name_hash, (uchar*) grant_name);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -6215,19 +6249,19 @@ static int handle_grant_struct(uint struct_no, bool drop,
|
|||||||
else if ( user_to )
|
else if ( user_to )
|
||||||
{
|
{
|
||||||
switch ( struct_no ) {
|
switch ( struct_no ) {
|
||||||
case 0:
|
case USER_ACL:
|
||||||
acl_user->user= strdup_root(&mem, user_to->user.str);
|
acl_user->user= strdup_root(&mem, user_to->user.str);
|
||||||
acl_user->host.hostname= strdup_root(&mem, user_to->host.str);
|
acl_user->host.hostname= strdup_root(&mem, user_to->host.str);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case DB_ACL:
|
||||||
acl_db->user= strdup_root(&mem, user_to->user.str);
|
acl_db->user= strdup_root(&mem, user_to->user.str);
|
||||||
acl_db->host.hostname= strdup_root(&mem, user_to->host.str);
|
acl_db->host.hostname= strdup_root(&mem, user_to->host.str);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case COLUMN_PRIVILEGES_HASH:
|
||||||
case 3:
|
case PROC_PRIVILEGES_HASH:
|
||||||
case 4:
|
case FUNC_PRIVILEGES_HASH:
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
Save old hash key and its length to be able properly update
|
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
|
else
|
||||||
{
|
{
|
||||||
/* Handle user array. */
|
/* 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. */
|
result= 1; /* At least one record/element found. */
|
||||||
/* If search is requested, we do not need to search further. */
|
/* 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
|
else
|
||||||
{
|
{
|
||||||
/* Handle db array. */
|
/* 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)
|
found) && ! result)
|
||||||
{
|
{
|
||||||
result= 1; /* At least one record/element found. */
|
result= 1; /* At least one record/element found. */
|
||||||
@ -6361,7 +6395,7 @@ static int handle_grant_data(TABLE_LIST *tables, bool drop,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Handle procs array. */
|
/* 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)
|
found) && ! result)
|
||||||
{
|
{
|
||||||
result= 1; /* At least one record/element found. */
|
result= 1; /* At least one record/element found. */
|
||||||
@ -6370,7 +6404,7 @@ static int handle_grant_data(TABLE_LIST *tables, bool drop,
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
/* Handle funcs array. */
|
/* 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)
|
found) && ! result)
|
||||||
{
|
{
|
||||||
result= 1; /* At least one record/element found. */
|
result= 1; /* At least one record/element found. */
|
||||||
@ -6405,7 +6439,7 @@ static int handle_grant_data(TABLE_LIST *tables, bool drop,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Handle columns hash. */
|
/* 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)
|
found) && ! result)
|
||||||
result= 1; /* At least one record/element found. */
|
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. */
|
/* Handle proxies_priv table. */
|
||||||
if (tables[5].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. */
|
/* Handle of table failed, don't touch the in-memory array. */
|
||||||
result= -1;
|
result= -1;
|
||||||
@ -6422,7 +6456,7 @@ static int handle_grant_data(TABLE_LIST *tables, bool drop,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Handle proxies_priv array. */
|
/* 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)
|
found)
|
||||||
result= 1; /* At least one record/element found. */
|
result= 1; /* At least one record/element found. */
|
||||||
}
|
}
|
||||||
|
@ -905,6 +905,19 @@ static int check_connection(THD *thd)
|
|||||||
my_error(ER_BAD_HOST_ERROR, MYF(0));
|
my_error(ER_BAD_HOST_ERROR, MYF(0));
|
||||||
return 1;
|
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))))
|
if (!(thd->main_security_ctx.ip= my_strdup(ip,MYF(MY_WME))))
|
||||||
return 1; /* The error is set by my_strdup(). */
|
return 1; /* The error is set by my_strdup(). */
|
||||||
thd->main_security_ctx.host_or_ip= thd->main_security_ctx.ip;
|
thd->main_security_ctx.host_or_ip= thd->main_security_ctx.ip;
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2000, 2011, Oracle and/or its affiliates.
|
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
|
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
|
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;
|
ulong deleted_tables= 0;
|
||||||
bool error= true;
|
bool error= true;
|
||||||
char path[FN_REFLEN+16];
|
char path[FN_REFLEN + 16];
|
||||||
MY_DIR *dirp;
|
MY_DIR *dirp;
|
||||||
uint length;
|
uint length;
|
||||||
bool found_other_files= false;
|
bool found_other_files= false;
|
||||||
@ -916,7 +917,7 @@ update_binlog:
|
|||||||
|
|
||||||
if (!(query= (char*) thd->alloc(MAX_DROP_TABLE_Q_LEN)))
|
if (!(query= (char*) thd->alloc(MAX_DROP_TABLE_Q_LEN)))
|
||||||
goto exit; /* not much else we can do */
|
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;
|
query_end= query + MAX_DROP_TABLE_Q_LEN;
|
||||||
db_len= strlen(db);
|
db_len= strlen(db);
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
/* Copyright (c) 2000, 2012, Oracle and/or its affiliates.
|
/* 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
|
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
|
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;
|
ref_pointer_array= 0;
|
||||||
select_n_where_fields= 0;
|
select_n_where_fields= 0;
|
||||||
select_n_having_items= 0;
|
select_n_having_items= 0;
|
||||||
|
n_child_sum_items= 0;
|
||||||
subquery_in_having= explicit_limit= 0;
|
subquery_in_having= explicit_limit= 0;
|
||||||
is_item_list_lookup= 0;
|
is_item_list_lookup= 0;
|
||||||
first_execution= 1;
|
first_execution= 1;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
#ifndef INCLUDES_MYSQL_SQL_LIST_H
|
#ifndef INCLUDES_MYSQL_SQL_LIST_H
|
||||||
#define INCLUDES_MYSQL_SQL_LIST_H
|
#define INCLUDES_MYSQL_SQL_LIST_H
|
||||||
/*
|
/* Copyright (c) 2000, 2012, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2000, 2010, Oracle and/or its affiliates.
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -169,6 +168,14 @@ protected:
|
|||||||
public:
|
public:
|
||||||
uint elements;
|
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 void empty() { elements=0; first= &end_of_list; last=&first;}
|
||||||
inline base_list() { empty(); }
|
inline base_list() { empty(); }
|
||||||
/**
|
/**
|
||||||
|
@ -153,6 +153,41 @@
|
|||||||
#define OPTION_ALLOW_BATCH (ULL(1) << 36) // THD, intern (slave)
|
#define OPTION_ALLOW_BATCH (ULL(1) << 36) // THD, intern (slave)
|
||||||
#define OPTION_SKIP_REPLICATION (ULL(1) << 37) // THD, user
|
#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 */
|
/* The rest of the file is included in the server only */
|
||||||
#ifndef MYSQL_CLIENT
|
#ifndef MYSQL_CLIENT
|
||||||
|
|
||||||
|
@ -46,6 +46,7 @@
|
|||||||
#define TIME_I_S_DECIMAL_SIZE (TIME_FLOAT_DIGITS*100)+(TIME_FLOAT_DIGITS-3)
|
#define TIME_I_S_DECIMAL_SIZE (TIME_FLOAT_DIGITS*100)+(TIME_FLOAT_DIGITS-3)
|
||||||
|
|
||||||
#define MAX_QUERY_LENGTH 300
|
#define MAX_QUERY_LENGTH 300
|
||||||
|
#define MAX_QUERY_HISTORY 101
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Connects Information_Schema and Profiling.
|
Connects Information_Schema and Profiling.
|
||||||
@ -264,9 +265,12 @@ void PROF_MEASUREMENT::collect()
|
|||||||
QUERY_PROFILE::QUERY_PROFILE(PROFILING *profiling_arg, const char *status_arg)
|
QUERY_PROFILE::QUERY_PROFILE(PROFILING *profiling_arg, const char *status_arg)
|
||||||
:profiling(profiling_arg), profiling_query_id(0), query_source(NULL)
|
:profiling(profiling_arg), profiling_query_id(0), query_source(NULL)
|
||||||
{
|
{
|
||||||
profile_start= new PROF_MEASUREMENT(this, status_arg);
|
m_seq_counter= 1;
|
||||||
entries.push_back(profile_start);
|
PROF_MEASUREMENT *prof= new PROF_MEASUREMENT(this, status_arg);
|
||||||
profile_end= profile_start;
|
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()
|
QUERY_PROFILE::~QUERY_PROFILE()
|
||||||
@ -305,9 +309,14 @@ void QUERY_PROFILE::new_status(const char *status_arg,
|
|||||||
else
|
else
|
||||||
prof= new PROF_MEASUREMENT(this, status_arg);
|
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);
|
entries.push_back(prof);
|
||||||
|
|
||||||
|
/* Maintain the query history size. */
|
||||||
|
while (entries.elements > MAX_QUERY_HISTORY)
|
||||||
|
delete entries.pop();
|
||||||
|
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -467,8 +476,7 @@ bool PROFILING::show_profiles()
|
|||||||
|
|
||||||
String elapsed;
|
String elapsed;
|
||||||
|
|
||||||
PROF_MEASUREMENT *ps= prof->profile_start;
|
double query_time_usecs= prof->m_end_time_usecs - prof->m_start_time_usecs;
|
||||||
PROF_MEASUREMENT *pe= prof->profile_end;
|
|
||||||
|
|
||||||
if (++idx <= unit->offset_limit_cnt)
|
if (++idx <= unit->offset_limit_cnt)
|
||||||
continue;
|
continue;
|
||||||
@ -477,7 +485,7 @@ bool PROFILING::show_profiles()
|
|||||||
|
|
||||||
protocol->prepare_for_resend();
|
protocol->prepare_for_resend();
|
||||||
protocol->store((uint32)(prof->profiling_query_id));
|
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);
|
(uint32) TIME_FLOAT_DIGITS-1, &elapsed);
|
||||||
if (prof->query_source != NULL)
|
if (prof->query_source != NULL)
|
||||||
protocol->store(prof->query_source, strlen(prof->query_source),
|
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
|
us also include a numbering of each state per query. The query_id and
|
||||||
the "seq" together are unique.
|
the "seq" together are unique.
|
||||||
*/
|
*/
|
||||||
ulonglong seq;
|
ulong seq;
|
||||||
|
|
||||||
void *entry_iterator;
|
void *entry_iterator;
|
||||||
PROF_MEASUREMENT *entry, *previous= NULL;
|
PROF_MEASUREMENT *entry, *previous= NULL;
|
||||||
/* ...and for each query, go through all its state-change steps. */
|
/* ...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 != NULL;
|
||||||
entry_iterator= query->entries.iterator_next(entry_iterator),
|
entry_iterator= query->entries.iterator_next(entry_iterator),
|
||||||
seq++, previous=entry, row_number++)
|
previous=entry, row_number++)
|
||||||
{
|
{
|
||||||
entry= query->entries.iterator_value(entry_iterator);
|
entry= query->entries.iterator_value(entry_iterator);
|
||||||
|
seq= entry->m_seq;
|
||||||
|
|
||||||
/* Skip the first. We count spans of fence, not fence-posts. */
|
/* Skip the first. We count spans of fence, not fence-posts. */
|
||||||
if (previous == NULL) continue;
|
if (previous == NULL) continue;
|
||||||
|
@ -186,6 +186,7 @@ private:
|
|||||||
char *file;
|
char *file;
|
||||||
unsigned int line;
|
unsigned int line;
|
||||||
|
|
||||||
|
ulong m_seq;
|
||||||
double time_usecs;
|
double time_usecs;
|
||||||
char *allocated_status_memory;
|
char *allocated_status_memory;
|
||||||
|
|
||||||
@ -217,8 +218,9 @@ private:
|
|||||||
query_id_t profiling_query_id; /* Session-specific id. */
|
query_id_t profiling_query_id; /* Session-specific id. */
|
||||||
char *query_source;
|
char *query_source;
|
||||||
|
|
||||||
PROF_MEASUREMENT *profile_start;
|
double m_start_time_usecs;
|
||||||
PROF_MEASUREMENT *profile_end;
|
double m_end_time_usecs;
|
||||||
|
ulong m_seq_counter;
|
||||||
Queue<PROF_MEASUREMENT> entries;
|
Queue<PROF_MEASUREMENT> entries;
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Copyright (c) 2000, 2012 Oracle and/or its affiliates.
|
/* 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
|
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
|
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()
|
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));
|
memcpy(tmp_join, this, (size_t) sizeof(JOIN));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7609,8 +7611,9 @@ get_best_combination(JOIN *join)
|
|||||||
if ( !(keyuse= join->best_positions[tablenr].key))
|
if ( !(keyuse= join->best_positions[tablenr].key))
|
||||||
{
|
{
|
||||||
j->type=JT_ALL;
|
j->type=JT_ALL;
|
||||||
if (tablenr != join->const_tables)
|
if (join->best_positions[tablenr].use_join_buffer &&
|
||||||
join->full_join=1;
|
tablenr != join->const_tables)
|
||||||
|
join->full_join= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*if (join->best_positions[tablenr].sj_strategy == SJ_OPT_LOOSE_SCAN)
|
/*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
|
We will use join cache here : prevent sorting of the first
|
||||||
table only and sort at the end.
|
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;
|
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 (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.
|
twice for the same list.
|
||||||
*/
|
*/
|
||||||
if (tmp_join && tmp_join != this)
|
if (tmp_join && tmp_join != this &&
|
||||||
tmp_join->group_fields= group_fields;
|
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
|
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.
|
problems in free_elements() as some of the elements are then deleted.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Copyright (c) 2000, 2010, Oracle and/or its affiliates.
|
/* 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
|
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
|
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;
|
uchar *month_pos;
|
||||||
DBUG_ENTER("get_date_from_daynr");
|
DBUG_ENTER("get_date_from_daynr");
|
||||||
|
|
||||||
if (daynr < 365 || daynr > MAX_DAY_NUMBER)
|
if (daynr < 366 || daynr > MAX_DAY_NUMBER)
|
||||||
DBUG_RETURN(1);
|
DBUG_RETURN(1);
|
||||||
|
|
||||||
year= (uint) (daynr*100 / 36525L);
|
year= (uint) (daynr*100 / 36525L);
|
||||||
|
36
sql/table.cc
36
sql/table.cc
@ -4966,19 +4966,33 @@ TABLE *TABLE_LIST::get_real_join_table()
|
|||||||
DBUG_ASSERT(tbl->derived == NULL ||
|
DBUG_ASSERT(tbl->derived == NULL ||
|
||||||
tbl->derived->first_select()->next_select() == 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);
|
List_iterator_fast<TABLE_LIST> ti;
|
||||||
tbl= tbl->next_local;
|
{
|
||||||
|
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;
|
return tbl->table;
|
||||||
|
@ -1594,7 +1594,7 @@ btr_page_reorganize_low(
|
|||||||
ut_ad(mtr_memo_contains(mtr, block, MTR_MEMO_PAGE_X_FIX));
|
ut_ad(mtr_memo_contains(mtr, block, MTR_MEMO_PAGE_X_FIX));
|
||||||
btr_assert_not_corrupted(block, index);
|
btr_assert_not_corrupted(block, index);
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
data_size1 = page_get_data_size(page);
|
data_size1 = page_get_data_size(page);
|
||||||
max_ins_size1 = page_get_max_insert_size_after_reorganize(page, 1);
|
max_ins_size1 = page_get_max_insert_size_after_reorganize(page, 1);
|
||||||
@ -1713,7 +1713,7 @@ btr_page_reorganize_low(
|
|||||||
|
|
||||||
func_exit:
|
func_exit:
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
#ifndef UNIV_HOTBACKUP
|
#ifndef UNIV_HOTBACKUP
|
||||||
buf_block_free(temp_block);
|
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(mtr_memo_contains(mtr, block, MTR_MEMO_PAGE_X_FIX));
|
||||||
ut_ad(page_zip == buf_block_get_page_zip(block));
|
ut_ad(page_zip == buf_block_get_page_zip(block));
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
|
|
||||||
btr_search_drop_page_hash_index(block);
|
btr_search_drop_page_hash_index(block);
|
||||||
@ -1845,10 +1845,10 @@ btr_root_raise_and_insert(
|
|||||||
root_block = btr_cur_get_block(cursor);
|
root_block = btr_cur_get_block(cursor);
|
||||||
root_page_zip = buf_block_get_page_zip(root_block);
|
root_page_zip = buf_block_get_page_zip(root_block);
|
||||||
ut_ad(page_get_n_recs(root) > 0);
|
ut_ad(page_get_n_recs(root) > 0);
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
|
||||||
ut_a(!root_page_zip || page_zip_validate(root_page_zip, root));
|
|
||||||
#endif /* UNIV_ZIP_DEBUG */
|
|
||||||
index = btr_cur_get_index(cursor);
|
index = btr_cur_get_index(cursor);
|
||||||
|
#ifdef UNIV_ZIP_DEBUG
|
||||||
|
ut_a(!root_page_zip || page_zip_validate(root_page_zip, root, index));
|
||||||
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
#ifdef UNIV_BTR_DEBUG
|
#ifdef UNIV_BTR_DEBUG
|
||||||
if (!dict_index_is_ibuf(index)) {
|
if (!dict_index_is_ibuf(index)) {
|
||||||
ulint space = dict_index_get_space(index);
|
ulint space = dict_index_get_space(index);
|
||||||
@ -2778,8 +2778,8 @@ insert_empty:
|
|||||||
|
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#ifdef UNIV_ZIP_DEBUG
|
||||||
if (UNIV_LIKELY_NULL(page_zip)) {
|
if (UNIV_LIKELY_NULL(page_zip)) {
|
||||||
ut_a(page_zip_validate(page_zip, page));
|
ut_a(page_zip_validate(page_zip, page, cursor->index));
|
||||||
ut_a(page_zip_validate(new_page_zip, new_page));
|
ut_a(page_zip_validate(new_page_zip, new_page, cursor->index));
|
||||||
}
|
}
|
||||||
#endif /* UNIV_ZIP_DEBUG */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
|
|
||||||
@ -2813,7 +2813,8 @@ insert_empty:
|
|||||||
= buf_block_get_page_zip(insert_block);
|
= buf_block_get_page_zip(insert_block);
|
||||||
|
|
||||||
ut_a(!insert_page_zip
|
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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
|
|
||||||
@ -3178,7 +3179,7 @@ btr_lift_page_up(
|
|||||||
|
|
||||||
btr_page_set_level(page, page_zip, page_level, mtr);
|
btr_page_set_level(page, page_zip, page_level, mtr);
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3354,8 +3355,8 @@ err_exit:
|
|||||||
const page_zip_des_t* page_zip
|
const page_zip_des_t* page_zip
|
||||||
= buf_block_get_page_zip(block);
|
= buf_block_get_page_zip(block);
|
||||||
ut_a(page_zip);
|
ut_a(page_zip);
|
||||||
ut_a(page_zip_validate(merge_page_zip, merge_page));
|
ut_a(page_zip_validate(merge_page_zip, merge_page, index));
|
||||||
ut_a(page_zip_validate(page_zip, page));
|
ut_a(page_zip_validate(page_zip, page, index));
|
||||||
}
|
}
|
||||||
#endif /* UNIV_ZIP_DEBUG */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
|
|
||||||
@ -3488,7 +3489,8 @@ err_exit:
|
|||||||
|
|
||||||
ut_ad(page_validate(merge_page, index));
|
ut_ad(page_validate(merge_page, index));
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
|
|
||||||
/* Free the file page */
|
/* Free the file page */
|
||||||
@ -3671,7 +3673,7 @@ btr_discard_page(
|
|||||||
page_zip_des_t* merge_page_zip
|
page_zip_des_t* merge_page_zip
|
||||||
= buf_block_get_page_zip(merge_block);
|
= buf_block_get_page_zip(merge_block);
|
||||||
ut_a(!merge_page_zip
|
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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
|
|
||||||
@ -4149,7 +4151,7 @@ btr_validate_level(
|
|||||||
ut_a(space == page_get_space_id(page));
|
ut_a(space == page_get_space_id(page));
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#ifdef UNIV_ZIP_DEBUG
|
||||||
page_zip = buf_block_get_page_zip(block);
|
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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
ut_a(!page_is_leaf(page));
|
ut_a(!page_is_leaf(page));
|
||||||
|
|
||||||
@ -4177,7 +4179,7 @@ loop:
|
|||||||
|
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#ifdef UNIV_ZIP_DEBUG
|
||||||
page_zip = buf_block_get_page_zip(block);
|
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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
|
|
||||||
/* Check ordering etc. of records */
|
/* Check ordering etc. of records */
|
||||||
|
@ -673,7 +673,7 @@ retry_page_get:
|
|||||||
#ifdef UNIV_ZIP_DEBUG
|
#ifdef UNIV_ZIP_DEBUG
|
||||||
const page_zip_des_t* page_zip
|
const page_zip_des_t* page_zip
|
||||||
= buf_block_get_page_zip(block);
|
= 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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
|
|
||||||
buf_block_dbg_add_level(
|
buf_block_dbg_add_level(
|
||||||
@ -2042,7 +2042,7 @@ any_extern:
|
|||||||
|
|
||||||
page_zip = buf_block_get_page_zip(block);
|
page_zip = buf_block_get_page_zip(block);
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
|
|
||||||
if (page_zip
|
if (page_zip
|
||||||
@ -2253,7 +2253,7 @@ btr_cur_pessimistic_update(
|
|||||||
MTR_MEMO_X_LOCK));
|
MTR_MEMO_X_LOCK));
|
||||||
ut_ad(mtr_memo_contains(mtr, block, MTR_MEMO_PAGE_X_FIX));
|
ut_ad(mtr_memo_contains(mtr, block, MTR_MEMO_PAGE_X_FIX));
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
/* The insert buffer tree should never be updated in place. */
|
/* The insert buffer tree should never be updated in place. */
|
||||||
ut_ad(!dict_index_is_ibuf(index));
|
ut_ad(!dict_index_is_ibuf(index));
|
||||||
@ -2391,7 +2391,7 @@ make_external:
|
|||||||
btr_search_update_hash_on_delete(cursor);
|
btr_search_update_hash_on_delete(cursor);
|
||||||
|
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
page_cursor = btr_cur_get_page_cur(cursor);
|
page_cursor = btr_cur_get_page_cur(cursor);
|
||||||
|
|
||||||
@ -2498,7 +2498,7 @@ make_external:
|
|||||||
buf_block_t* rec_block = btr_cur_get_block(cursor);
|
buf_block_t* rec_block = btr_cur_get_block(cursor);
|
||||||
|
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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);
|
page = buf_block_get_frame(rec_block);
|
||||||
#endif /* UNIV_ZIP_DEBUG */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
page_zip = buf_block_get_page_zip(rec_block);
|
page_zip = buf_block_get_page_zip(rec_block);
|
||||||
@ -2524,7 +2524,7 @@ make_external:
|
|||||||
|
|
||||||
return_after_reservations:
|
return_after_reservations:
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
|
|
||||||
if (n_extents > 0) {
|
if (n_extents > 0) {
|
||||||
@ -2886,7 +2886,7 @@ btr_cur_set_deleted_flag_for_ibuf(
|
|||||||
when the tablespace is
|
when the tablespace is
|
||||||
uncompressed */
|
uncompressed */
|
||||||
ibool val, /*!< in: value to set */
|
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
|
/* We do not need to reserve btr_search_latch, as the page
|
||||||
has just been read to the buffer pool and there cannot be
|
has just been read to the buffer pool and there cannot be
|
||||||
@ -2986,12 +2986,14 @@ btr_cur_optimistic_delete(
|
|||||||
page, 1);
|
page, 1);
|
||||||
}
|
}
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
page_cur_delete_rec(btr_cur_get_page_cur(cursor),
|
page_cur_delete_rec(btr_cur_get_page_cur(cursor),
|
||||||
cursor->index, offsets, mtr);
|
cursor->index, offsets, mtr);
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
|
|
||||||
if (dict_index_is_clust(cursor->index)
|
if (dict_index_is_clust(cursor->index)
|
||||||
@ -3086,7 +3088,7 @@ btr_cur_pessimistic_delete(
|
|||||||
rec = btr_cur_get_rec(cursor);
|
rec = btr_cur_get_rec(cursor);
|
||||||
page_zip = buf_block_get_page_zip(block);
|
page_zip = buf_block_get_page_zip(block);
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
|
|
||||||
offsets = rec_get_offsets(rec, index, NULL, ULINT_UNDEFINED, &heap);
|
offsets = rec_get_offsets(rec, index, NULL, ULINT_UNDEFINED, &heap);
|
||||||
@ -3096,7 +3098,7 @@ btr_cur_pessimistic_delete(
|
|||||||
rec, offsets, page_zip,
|
rec, offsets, page_zip,
|
||||||
rb_ctx, mtr);
|
rb_ctx, mtr);
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#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);
|
page_cur_delete_rec(btr_cur_get_page_cur(cursor), index, offsets, mtr);
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
|
|
||||||
ut_ad(btr_check_node_ptr(index, block, mtr));
|
ut_ad(btr_check_node_ptr(index, block, mtr));
|
||||||
|
@ -242,7 +242,7 @@ the read requests for the whole area.
|
|||||||
|
|
||||||
#ifndef UNIV_HOTBACKUP
|
#ifndef UNIV_HOTBACKUP
|
||||||
/** Value in microseconds */
|
/** 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 */
|
/** Number of attemtps made to read in a page in the buffer pool */
|
||||||
static const ulint BUF_PAGE_READ_MAX_RETRIES = 100;
|
static const ulint BUF_PAGE_READ_MAX_RETRIES = 100;
|
||||||
|
|
||||||
@ -2582,8 +2582,9 @@ wait_until_unfixed:
|
|||||||
mutex_exit(&block->mutex);
|
mutex_exit(&block->mutex);
|
||||||
|
|
||||||
if (io_fix == BUF_IO_READ) {
|
if (io_fix == BUF_IO_READ) {
|
||||||
|
/* wait by temporaly s-latch */
|
||||||
os_thread_sleep(WAIT_FOR_READ);
|
rw_lock_s_lock(&(block->lock));
|
||||||
|
rw_lock_s_unlock(&(block->lock));
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1998,7 +1998,9 @@ buf_LRU_block_remove_hashed_page(
|
|||||||
break;
|
break;
|
||||||
case FIL_PAGE_INDEX:
|
case FIL_PAGE_INDEX:
|
||||||
#ifdef UNIV_ZIP_DEBUG
|
#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 */
|
#endif /* UNIV_ZIP_DEBUG */
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -487,10 +487,12 @@ Looks for column n in an index.
|
|||||||
ULINT_UNDEFINED if not contained */
|
ULINT_UNDEFINED if not contained */
|
||||||
UNIV_INTERN
|
UNIV_INTERN
|
||||||
ulint
|
ulint
|
||||||
dict_index_get_nth_col_pos(
|
dict_index_get_nth_col_or_prefix_pos(
|
||||||
/*=======================*/
|
/*=================================*/
|
||||||
const dict_index_t* index, /*!< in: index */
|
const dict_index_t* index, /*!< in: index */
|
||||||
ulint n) /*!< in: column number */
|
ulint n, /*!< in: column number */
|
||||||
|
ibool inc_prefix) /*!< in: TRUE=consider
|
||||||
|
column prefixes too */
|
||||||
{
|
{
|
||||||
const dict_field_t* field;
|
const dict_field_t* field;
|
||||||
const dict_col_t* col;
|
const dict_col_t* col;
|
||||||
@ -512,7 +514,8 @@ dict_index_get_nth_col_pos(
|
|||||||
for (pos = 0; pos < n_fields; pos++) {
|
for (pos = 0; pos < n_fields; pos++) {
|
||||||
field = dict_index_get_nth_field(index, 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);
|
return(pos);
|
||||||
}
|
}
|
||||||
@ -521,6 +524,20 @@ dict_index_get_nth_col_pos(
|
|||||||
return(ULINT_UNDEFINED);
|
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
|
#ifndef UNIV_HOTBACKUP
|
||||||
/********************************************************************//**
|
/********************************************************************//**
|
||||||
Returns TRUE if the index contains a column or a prefix of that column.
|
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_index_t* new_index;
|
||||||
dict_field_t* field;
|
dict_field_t* field;
|
||||||
ulint fixed_size;
|
|
||||||
ulint trx_id_pos;
|
ulint trx_id_pos;
|
||||||
ulint i;
|
ulint i;
|
||||||
ibool* indexed;
|
ibool* indexed;
|
||||||
@ -2094,7 +2110,7 @@ dict_index_build_internal_clust(
|
|||||||
|
|
||||||
for (i = 0; i < trx_id_pos; i++) {
|
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_index_get_nth_col(new_index, i),
|
||||||
dict_table_is_comp(table));
|
dict_table_is_comp(table));
|
||||||
|
|
||||||
@ -2111,7 +2127,20 @@ dict_index_build_internal_clust(
|
|||||||
break;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -11747,8 +11747,8 @@ static MYSQL_SYSVAR_ENUM(stats_method, srv_innodb_stats_method,
|
|||||||
#if defined UNIV_DEBUG || defined UNIV_IBUF_DEBUG
|
#if defined UNIV_DEBUG || defined UNIV_IBUF_DEBUG
|
||||||
static MYSQL_SYSVAR_UINT(change_buffering_debug, ibuf_debug,
|
static MYSQL_SYSVAR_UINT(change_buffering_debug, ibuf_debug,
|
||||||
PLUGIN_VAR_RQCMDARG,
|
PLUGIN_VAR_RQCMDARG,
|
||||||
"Debug flags for InnoDB change buffering (0=none)",
|
"Debug flags for InnoDB change buffering (0=none, 2=crash at merge)",
|
||||||
NULL, NULL, 0, 0, 1, 0);
|
NULL, NULL, 0, 0, 2, 0);
|
||||||
#endif /* UNIV_DEBUG || UNIV_IBUF_DEBUG */
|
#endif /* UNIV_DEBUG || UNIV_IBUF_DEBUG */
|
||||||
|
|
||||||
static MYSQL_SYSVAR_BOOL(random_read_ahead, srv_random_read_ahead,
|
static MYSQL_SYSVAR_BOOL(random_read_ahead, srv_random_read_ahead,
|
||||||
|
@ -112,13 +112,17 @@ innobase_col_to_mysql(
|
|||||||
/* These column types should never be shipped to MySQL. */
|
/* These column types should never be shipped to MySQL. */
|
||||||
ut_ad(0);
|
ut_ad(0);
|
||||||
|
|
||||||
case DATA_CHAR:
|
|
||||||
case DATA_FIXBINARY:
|
case DATA_FIXBINARY:
|
||||||
case DATA_FLOAT:
|
case DATA_FLOAT:
|
||||||
case DATA_DOUBLE:
|
case DATA_DOUBLE:
|
||||||
case DATA_DECIMAL:
|
case DATA_DECIMAL:
|
||||||
/* Above are the valid column types for MySQL data. */
|
/* Above are the valid column types for MySQL data. */
|
||||||
ut_ad(flen == len);
|
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 */
|
#else /* UNIV_DEBUG */
|
||||||
default:
|
default:
|
||||||
#endif /* UNIV_DEBUG */
|
#endif /* UNIV_DEBUG */
|
||||||
@ -151,7 +155,7 @@ innobase_rec_to_mysql(
|
|||||||
|
|
||||||
field->reset();
|
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)) {
|
if (UNIV_UNLIKELY(ipos == ULINT_UNDEFINED)) {
|
||||||
null_field:
|
null_field:
|
||||||
|
@ -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_page_no(mtr, btr_pcur_get_rec(pcur)) == page_no);
|
||||||
ut_ad(ibuf_rec_get_space(mtr, btr_pcur_get_rec(pcur)) == space);
|
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);
|
success = btr_cur_optimistic_delete(btr_pcur_get_btr_cur(pcur), mtr);
|
||||||
|
|
||||||
if (success) {
|
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_page_no(mtr, btr_pcur_get_rec(pcur)) == page_no);
|
||||||
ut_ad(ibuf_rec_get_space(mtr, btr_pcur_get_rec(pcur)) == space);
|
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);
|
btr_pcur_store_position(pcur, mtr);
|
||||||
ibuf_btr_pcur_commit_specify_mtr(pcur, mtr);
|
ibuf_btr_pcur_commit_specify_mtr(pcur, mtr);
|
||||||
|
|
||||||
@ -4600,7 +4622,7 @@ loop:
|
|||||||
fputs("InnoDB: Discarding record\n ", stderr);
|
fputs("InnoDB: Discarding record\n ", stderr);
|
||||||
rec_print_old(stderr, rec);
|
rec_print_old(stderr, rec);
|
||||||
fputs("\nInnoDB: from the insert buffer!\n\n", stderr);
|
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
|
/* Now we have at pcur a record which should be
|
||||||
applied on the index page; NOTE that the call below
|
applied on the index page; NOTE that the call below
|
||||||
copies pointers to fields in rec, and we must
|
copies pointers to fields in rec, and we must
|
||||||
|
@ -635,7 +635,7 @@ btr_cur_set_deleted_flag_for_ibuf(
|
|||||||
when the tablespace is
|
when the tablespace is
|
||||||
uncompressed */
|
uncompressed */
|
||||||
ibool val, /*!< in: value to set */
|
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
|
/** In the pessimistic delete, if the page data size drops below this
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user