mirror of
https://github.com/MariaDB/server.git
synced 2025-12-03 05:41:09 +03:00
Merge
This commit is contained in:
@@ -2,12 +2,5 @@ funcs_1.charset_collation_1 # depends on compile-time decisions
|
||||
binlog.binlog_tmp_table # Bug#45578: Test binlog_tmp_table fails ramdonly on PB2: Unknown table 't2'
|
||||
main.ctype_gbk_binlog # Bug#46010: main.ctype_gbk_binlog fails sporadically : Table 't2' already exists
|
||||
rpl.rpl_row_create_table # Bug#45576: rpl_row_create_table fails on PB2
|
||||
rpl.rpl_extraColmaster_myisam # Bug#46013: rpl_extraColmaster_myisam fails on pb2
|
||||
rpl.rpl_stm_reset_slave # Bug#46014: rpl_stm_reset_slave crashes the server sporadically in pb2
|
||||
rpl.rpl_extraCol_myisam # Bug#40796
|
||||
rpl.rpl_extraColmaster_innodb # Bug#40796
|
||||
rpl.rpl_extraCol_innodb # Bug#40796
|
||||
rpl_ndb.rpl_ndb_log # Bug#38998
|
||||
rpl.rpl_innodb_bug28430 # Bug#46029
|
||||
rpl.rpl_row_basic_3innodb # Bug#45243
|
||||
rpl.rpl_truncate_3innodb # Bug#46030
|
||||
|
||||
710
mysql-test/extra/rpl_tests/rpl_mixing_engines.test
Normal file
710
mysql-test/extra/rpl_tests/rpl_mixing_engines.test
Normal file
@@ -0,0 +1,710 @@
|
||||
###################################################################################
|
||||
# This test checks if transactions that mixes transactional and non-transactional
|
||||
# tables are correctly handled in statement mode. In an nutshell, we have what
|
||||
# follows:
|
||||
#
|
||||
# 1) "B T T C" generates in binlog the "B T T C" entries.
|
||||
#
|
||||
# 2) "B T T R" generates in binlog an "empty" entry.
|
||||
#
|
||||
# 3) "B T N C" generates in binlog the "B T N C" entries.
|
||||
#
|
||||
# 4) "B T N R" generates in binlog the "B T N R" entries.
|
||||
#
|
||||
# 5) "T" generates in binlog the "B T C" entry.
|
||||
#
|
||||
# 6) "N" generates in binlog the "N" entry.
|
||||
#
|
||||
# 7) "M" generates in binglog the "B M C" entries.
|
||||
#
|
||||
# 8) "B N N T C" generates in binglog the "N N B T C" entries.
|
||||
#
|
||||
# 9) "B N N T R" generates in binlog the "N N B T R" entries.
|
||||
#
|
||||
# 10) "B N N C" generates in binglog the "N N" entries.
|
||||
#
|
||||
# 11) "B N N R" generates in binlog the "N N" entries.
|
||||
#
|
||||
# 12) "B M T C" generates in the binlog the "B M T C" entries.
|
||||
#
|
||||
# 13) "B M T R" generates in the binlog the "B M T R" entries.
|
||||
###################################################################################
|
||||
|
||||
--echo ###################################################################################
|
||||
--echo # CONFIGURATION
|
||||
--echo ###################################################################################
|
||||
connection master;
|
||||
|
||||
SET SQL_LOG_BIN=0;
|
||||
CREATE TABLE nt_1 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE nt_2 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE nt_3 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE nt_4 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE tt_1 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
CREATE TABLE tt_2 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
CREATE TABLE tt_3 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
CREATE TABLE tt_4 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
SET SQL_LOG_BIN=1;
|
||||
|
||||
connection slave;
|
||||
|
||||
SET SQL_LOG_BIN=0;
|
||||
CREATE TABLE nt_1 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE nt_2 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE nt_3 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE nt_4 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE tt_1 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
CREATE TABLE tt_2 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
CREATE TABLE tt_3 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
CREATE TABLE tt_4 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
SET SQL_LOG_BIN=1;
|
||||
|
||||
connection master;
|
||||
|
||||
DELIMITER |;
|
||||
|
||||
CREATE FUNCTION f1 () RETURNS VARCHAR(64)
|
||||
BEGIN
|
||||
RETURN "Testing...";
|
||||
END|
|
||||
|
||||
CREATE FUNCTION f2 () RETURNS VARCHAR(64)
|
||||
BEGIN
|
||||
RETURN f1();
|
||||
END|
|
||||
|
||||
CREATE PROCEDURE pc_i_tt_3 (IN x INT, IN y VARCHAR(64))
|
||||
BEGIN
|
||||
INSERT INTO tt_3 VALUES (y,x,x);
|
||||
END|
|
||||
|
||||
CREATE TRIGGER tr_i_tt_3_to_nt_3 BEFORE INSERT ON tt_3 FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO nt_3 VALUES (NEW.a, NEW.b, NEW.c);
|
||||
END|
|
||||
|
||||
CREATE TRIGGER tr_i_nt_4_to_tt_4 BEFORE INSERT ON nt_4 FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO tt_4 VALUES (NEW.a, NEW.b, NEW.c);
|
||||
END|
|
||||
|
||||
DELIMITER ;|
|
||||
|
||||
--echo ###################################################################################
|
||||
--echo # MIXING TRANSACTIONAL and NON-TRANSACTIONAL TABLES
|
||||
--echo ###################################################################################
|
||||
connection master;
|
||||
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #1) "B T T C" generates in binlog the "B T T C" entries.
|
||||
--echo #
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text 4", 4, "new text 4");
|
||||
INSERT INTO tt_2 VALUES ("new text 4", 4, "new text 4");
|
||||
COMMIT;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #1.e) "B T T C" with error in T generates in binlog the "B T T C" entries.
|
||||
--echo #
|
||||
INSERT INTO tt_1 VALUES ("new text -2", -2, "new text -2");
|
||||
BEGIN;
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO tt_1 VALUES ("new text -1", -1, "new text -1"), ("new text -2", -2, "new text -2");
|
||||
INSERT INTO tt_2 VALUES ("new text -3", -3, "new text -3");
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tt_2 VALUES ("new text -5", -5, "new text -5");
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO tt_2 VALUES ("new text -4", -4, "new text -4"), ("new text -5", -5, "new text -5");
|
||||
COMMIT;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #2) "B T T R" generates in binlog an "empty" entry.
|
||||
--echo #
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text 5", 5, "new text 5");
|
||||
INSERT INTO tt_2 VALUES ("new text 5", 5, "new text 5");
|
||||
ROLLBACK;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #2.e) "B T T R" with error in T generates in binlog an "empty" entry.
|
||||
--echo #
|
||||
INSERT INTO tt_1 VALUES ("new text -7", -7, "new text -7");
|
||||
BEGIN;
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO tt_1 VALUES ("new text -6", -6, "new text -6"), ("new text -7", -7, "new text -7");
|
||||
INSERT INTO tt_2 VALUES ("new text -8", -8, "new text -8");
|
||||
ROLLBACK;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tt_2 VALUES ("new text -10", -10, "new text -10");
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO tt_2 VALUES ("new text -9", -9, "new text -9"), ("new text -10", -10, "new text -10");
|
||||
ROLLBACK;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #3) "B T N C" generates in binlog the "B T N C" entries.
|
||||
--echo #
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text 6", 6, "new text 6");
|
||||
INSERT INTO nt_1 VALUES ("new text 6", 6, "new text 6");
|
||||
COMMIT;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #3.e) "B T N C" with error in either T or N generates in binlog the "B T N C" entries.
|
||||
--echo #
|
||||
INSERT INTO tt_1 VALUES ("new text -12", -12, "new text -12");
|
||||
BEGIN;
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO tt_1 VALUES ("new text -11", -11, "new text -11"), ("new text -12", -12, "new text -12");
|
||||
INSERT INTO nt_1 VALUES ("new text -13", -13, "new text -13");
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text -14", -14, "new text -14");
|
||||
INSERT INTO nt_1 VALUES ("new text -16", -16, "new text -16");
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO nt_1 VALUES ("new text -15", -15, "new text -15"), ("new text -16", -16, "new text -16");
|
||||
COMMIT;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #4) "B T N R" generates in binlog the "B T N R" entries.
|
||||
--echo #
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text 7", 7, "new text 7");
|
||||
INSERT INTO nt_1 VALUES ("new text 7", 7, "new text 7");
|
||||
ROLLBACK;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #4.e) "B T N R" with error in either T or N generates in binlog the "B T N R" entries.
|
||||
--echo #
|
||||
INSERT INTO tt_1 VALUES ("new text -17", -17, "new text -17");
|
||||
BEGIN;
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO tt_1 VALUES ("new text -16", -16, "new text -16"), ("new text -17", -17, "new text -17");
|
||||
INSERT INTO nt_1 VALUES ("new text -18", -18, "new text -18");
|
||||
ROLLBACK;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text -19", -19, "new text -19");
|
||||
INSERT INTO nt_1 VALUES ("new text -21", -21, "new text -21");
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO nt_1 VALUES ("new text -20", -20, "new text -20"), ("new text -21", -21, "new text -21");
|
||||
ROLLBACK;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #5) "T" generates in binlog the "B T C" entry.
|
||||
--echo #
|
||||
INSERT INTO tt_1 VALUES ("new text 8", 8, "new text 8");
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #5.e) "T" with error in T generates in binlog an "empty" entry.
|
||||
--echo #
|
||||
INSERT INTO tt_1 VALUES ("new text -1", -1, "new text -1");
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO tt_1 VALUES ("new text -1", -1, "new text -1"), ("new text -22", -22, "new text -22");
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO tt_1 VALUES ("new text -23", -23, "new text -23"), ("new text -1", -1, "new text -1");
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #6) "N" generates in binlog the "N" entry.
|
||||
--echo #
|
||||
INSERT INTO nt_1 VALUES ("new text 9", 9, "new text 9");
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #6.e) "N" with error in N generates in binlog an empty entry if the error
|
||||
--echo # happens in the first tuple. Otherwise, generates the "N" entry and
|
||||
--echo # the error is appended.
|
||||
--echo #
|
||||
INSERT INTO nt_1 VALUES ("new text -1", -1, "new text -1");
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO nt_1 VALUES ("new text -1", -1, "new text -1");
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO nt_1 VALUES ("new text -24", -24, "new text -24"), ("new text -1", -1, "new text -1");
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #7) "M" generates in binglog the "B M C" entries.
|
||||
--echo #
|
||||
|
||||
DELETE FROM nt_1;
|
||||
|
||||
INSERT INTO nt_1 SELECT * FROM tt_1;
|
||||
|
||||
DELETE FROM tt_1;
|
||||
|
||||
INSERT INTO tt_1 SELECT * FROM nt_1;
|
||||
|
||||
INSERT INTO tt_3 VALUES ("new text 000", 000, '');
|
||||
|
||||
INSERT INTO tt_3 VALUES("new text 100", 100, f1());
|
||||
|
||||
INSERT INTO nt_4 VALUES("new text 100", 100, f1());
|
||||
|
||||
INSERT INTO tt_3 VALUES("new text 200", 200, f2());
|
||||
|
||||
INSERT INTO nt_4 VALUES ("new text 300", 300, '');
|
||||
|
||||
INSERT INTO nt_4 VALUES ("new text 400", 400, f1());
|
||||
|
||||
INSERT INTO nt_4 VALUES ("new text 500", 500, f2());
|
||||
|
||||
CALL pc_i_tt_3(600, "Testing...");
|
||||
|
||||
UPDATE nt_3, nt_4, tt_3, tt_4 SET nt_3.a= "new text 1", nt_4.a= "new text 1", tt_3.a= "new text 1", tt_4.a= "new text 1" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
|
||||
UPDATE tt_3, tt_4, nt_3, nt_4 SET tt_3.a= "new text 2", tt_4.a= "new text 2", nt_3.a= "new text 2", nt_4.a = "new text 2" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
|
||||
UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 3", nt_3.a= "new text 3", nt_4.a= "new text 3", tt_4.a = "new text 3" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
|
||||
UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 4", nt_3.a= "new text 4", nt_4.a= "new text 4", tt_4.a = "new text 4" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #7.e) "M" with error in M generates in binglog the "B M R" entries.
|
||||
--echo #
|
||||
|
||||
INSERT INTO nt_3 VALUES ("new text -26", -26, '');
|
||||
SELECT * FROM tt_3;
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO tt_3 VALUES ("new text -25", -25, ''), ("new text -26", -26, '');
|
||||
SELECT * FROM tt_3;
|
||||
|
||||
INSERT INTO tt_4 VALUES ("new text -26", -26, '');
|
||||
SELECT * FROM nt_4;
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO nt_4 VALUES ("new text -25", -25, ''), ("new text -26", -26, '');
|
||||
SELECT * FROM nt_4;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #8) "B N N T C" generates in binglog the "N N B T C" entries.
|
||||
--echo #
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 VALUES ("new text 10", 10, "new text 10");
|
||||
INSERT INTO nt_2 VALUES ("new text 10", 10, "new text 10");
|
||||
INSERT INTO tt_1 VALUES ("new text 10", 10, "new text 10");
|
||||
COMMIT;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo #
|
||||
--echo #8.e) "B N N T R" See 6.e and 9.e.
|
||||
--echo #
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #9) "B N N T R" generates in binlog the "N N B T R" entries.
|
||||
--echo #
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 VALUES ("new text 11", 11, "new text 11");
|
||||
INSERT INTO nt_2 VALUES ("new text 11", 11, "new text 11");
|
||||
INSERT INTO tt_1 VALUES ("new text 11", 11, "new text 11");
|
||||
ROLLBACK;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #9.e) "B N N T R" with error in N generates in binlog the "N N B T R" entries.
|
||||
--echo #
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 VALUES ("new text -25", -25, "new text -25");
|
||||
INSERT INTO nt_2 VALUES ("new text -25", -25, "new text -25");
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO nt_2 VALUES ("new text -26", -26, "new text -26"), ("new text -25", -25, "new text -25");
|
||||
INSERT INTO tt_1 VALUES ("new text -27", -27, "new text -27");
|
||||
ROLLBACK;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #10) "B N N C" generates in binglog the "N N" entries.
|
||||
--echo #
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 VALUES ("new text 12", 12, "new text 12");
|
||||
INSERT INTO nt_2 VALUES ("new text 12", 12, "new text 12");
|
||||
COMMIT;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo #
|
||||
--echo #10.e) "B N N C" See 6.e and 9.e.
|
||||
--echo #
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #11) "B N N R" generates in binlog the "N N" entries.
|
||||
--echo #
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 VALUES ("new text 13", 13, "new text 13");
|
||||
INSERT INTO nt_2 VALUES ("new text 13", 13, "new text 13");
|
||||
ROLLBACK;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo #
|
||||
--echo #11.e) "B N N R" See 6.e and 9.e.
|
||||
--echo #
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #12) "B M T C" generates in the binlog the "B M T C" entries.
|
||||
--echo #
|
||||
DELETE FROM nt_1;
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 SELECT * FROM tt_1;
|
||||
INSERT INTO tt_2 VALUES ("new text 14", 14, "new text 14");
|
||||
COMMIT;
|
||||
|
||||
DELETE FROM tt_1;
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 SELECT * FROM nt_1;
|
||||
INSERT INTO tt_2 VALUES ("new text 15", 15, "new text 15");
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tt_3 VALUES ("new text 700", 700, '');
|
||||
INSERT INTO tt_1 VALUES ("new text 800", 800, '');
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tt_3 VALUES("new text 900", 900, f1());
|
||||
INSERT INTO tt_1 VALUES ("new text 1000", 1000, '');
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tt_3 VALUES(1100, 1100, f2());
|
||||
INSERT INTO tt_1 VALUES ("new text 1200", 1200, '');
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO nt_4 VALUES ("new text 1300", 1300, '');
|
||||
INSERT INTO tt_1 VALUES ("new text 1400", 1400, '');
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO nt_4 VALUES("new text 1500", 1500, f1());
|
||||
INSERT INTO tt_1 VALUES ("new text 1600", 1600, '');
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO nt_4 VALUES("new text 1700", 1700, f2());
|
||||
INSERT INTO tt_1 VALUES ("new text 1800", 1800, '');
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
CALL pc_i_tt_3(1900, "Testing...");
|
||||
INSERT INTO tt_1 VALUES ("new text 2000", 2000, '');
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
UPDATE nt_3, nt_4, tt_3, tt_4 SET nt_3.a= "new text 5", nt_4.a= "new text 5", tt_3.a= "new text 5", tt_4.a= "new text 5" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 2100", 2100, '');
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
UPDATE tt_3, tt_4, nt_3, nt_4 SET tt_3.a= "new text 6", tt_4.a= "new text 6", nt_3.a= "new text 6", nt_4.a = "new text 6" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 2200", 2200, '');
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 7", nt_3.a= "new text 7", nt_4.a= "new text 7", tt_4.a = "new text 7" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 2300", 2300, '');
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 8", nt_3.a= "new text 8", nt_4.a= "new text 8", tt_4.a = "new text 8" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 2400", 2400, '');
|
||||
COMMIT;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #12.e) "B M T C" with error in M generates in the binlog the "B M T C" entries.
|
||||
--echo #
|
||||
|
||||
--echo # There is a bug in the slave that needs to be fixed before enabling
|
||||
--echo # this part of the test. A bug report will be filed referencing this
|
||||
--echo # test case.
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO nt_3 VALUES ("new text -28", -28, '');
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO tt_3 VALUES ("new text -27", -27, ''), ("new text -28", -28, '');
|
||||
INSERT INTO tt_1 VALUES ("new text -27", -27, '');
|
||||
COMMIT;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tt_4 VALUES ("new text -28", -28, '');
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO nt_4 VALUES ("new text -27", -27, ''), ("new text -28", -28, '');
|
||||
INSERT INTO tt_1 VALUES ("new text -28", -28, '');
|
||||
COMMIT;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #13) "B M T R" generates in the binlog the "B M T R" entries
|
||||
--echo #
|
||||
|
||||
DELETE FROM nt_1;
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 SELECT * FROM tt_1;
|
||||
INSERT INTO tt_2 VALUES ("new text 17", 17, "new text 17");
|
||||
ROLLBACK;
|
||||
|
||||
DELETE FROM tt_1;
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 SELECT * FROM nt_1;
|
||||
INSERT INTO tt_2 VALUES ("new text 18", 18, "new text 18");
|
||||
ROLLBACK;
|
||||
INSERT INTO tt_1 SELECT * FROM nt_1;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tt_3 VALUES ("new text 2500", 2500, '');
|
||||
INSERT INTO tt_1 VALUES ("new text 2600", 2600, '');
|
||||
ROLLBACK;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tt_3 VALUES("new text 2700", 2700, f1());
|
||||
INSERT INTO tt_1 VALUES ("new text 2800", 2800, '');
|
||||
ROLLBACK;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tt_3 VALUES(2900, 2900, f2());
|
||||
INSERT INTO tt_1 VALUES ("new text 3000", 3000, '');
|
||||
ROLLBACK;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO nt_4 VALUES ("new text 3100", 3100, '');
|
||||
INSERT INTO tt_1 VALUES ("new text 3200", 3200, '');
|
||||
ROLLBACK;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO nt_4 VALUES("new text 3300", 3300, f1());
|
||||
INSERT INTO tt_1 VALUES ("new text 3400", 3400, '');
|
||||
ROLLBACK;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO nt_4 VALUES("new text 3500", 3500, f2());
|
||||
INSERT INTO tt_1 VALUES ("new text 3600", 3600, '');
|
||||
ROLLBACK;
|
||||
|
||||
BEGIN;
|
||||
CALL pc_i_tt_3(3700, "Testing...");
|
||||
INSERT INTO tt_1 VALUES ("new text 3700", 3700, '');
|
||||
ROLLBACK;
|
||||
|
||||
BEGIN;
|
||||
UPDATE nt_3, nt_4, tt_3, tt_4 SET nt_3.a= "new text 9", nt_4.a= "new text 9", tt_3.a= "new text 9", tt_4.a= "new text 9" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 3800", 3800, '');
|
||||
ROLLBACK;
|
||||
|
||||
BEGIN;
|
||||
UPDATE tt_3, tt_4, nt_3, nt_4 SET tt_3.a= "new text 10", tt_4.a= "new text 10", nt_3.a= "new text 10", nt_4.a = "new text 10" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 3900", 3900, '');
|
||||
ROLLBACK;
|
||||
|
||||
BEGIN;
|
||||
UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 11", nt_3.a= "new text 11", nt_4.a= "new text 11", tt_4.a = "new text 11" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 4000", 4000, '');
|
||||
ROLLBACK;
|
||||
|
||||
BEGIN;
|
||||
UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 12", nt_3.a= "new text 12", nt_4.a= "new text 12", tt_4.a = "new text 12" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 4100", 4100, '');
|
||||
ROLLBACK;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
--echo
|
||||
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
|
||||
--echo #
|
||||
--echo #13.e) "B M T R" with error in M generates in the binlog the "B M T R" entries.
|
||||
--echo #
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO nt_3 VALUES ("new text -30", -30, '');
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO tt_3 VALUES ("new text -29", -29, ''), ("new text -30", -30, '');
|
||||
INSERT INTO tt_1 VALUES ("new text -30", -30, '');
|
||||
ROLLBACK;
|
||||
|
||||
BEGIN;
|
||||
INSERT INTO tt_4 VALUES ("new text -30", -30, '');
|
||||
--error ER_DUP_ENTRY
|
||||
INSERT INTO nt_4 VALUES ("new text -29", -29, ''), ("new text -30", -30, '');
|
||||
INSERT INTO tt_1 VALUES ("new text -31", -31, '');
|
||||
ROLLBACK;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
connection master;
|
||||
sync_slave_with_master;
|
||||
|
||||
--exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/test-master.sql
|
||||
--exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/test-slave.sql
|
||||
--diff_files $MYSQLTEST_VARDIR/tmp/test-master.sql $MYSQLTEST_VARDIR/tmp/test-slave.sql
|
||||
|
||||
--echo ###################################################################################
|
||||
--echo # CLEAN
|
||||
--echo ###################################################################################
|
||||
|
||||
connection master;
|
||||
DROP TABLE tt_1;
|
||||
DROP TABLE tt_2;
|
||||
DROP TABLE tt_3;
|
||||
DROP TABLE tt_4;
|
||||
DROP TABLE nt_1;
|
||||
DROP TABLE nt_2;
|
||||
DROP TABLE nt_3;
|
||||
DROP TABLE nt_4;
|
||||
DROP PROCEDURE pc_i_tt_3;
|
||||
DROP FUNCTION f1;
|
||||
DROP FUNCTION f2;
|
||||
|
||||
sync_slave_with_master;
|
||||
@@ -725,9 +725,9 @@ call p_verify_status_increment(4, 4, 4, 4);
|
||||
alter table t3 add column (b int);
|
||||
call p_verify_status_increment(2, 0, 2, 0);
|
||||
alter table t3 rename t4;
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
call p_verify_status_increment(2, 2, 2, 2);
|
||||
rename table t4 to t3;
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
call p_verify_status_increment(2, 2, 2, 2);
|
||||
truncate table t3;
|
||||
call p_verify_status_increment(4, 4, 4, 4);
|
||||
create view v1 as select * from t2;
|
||||
|
||||
69
mysql-test/include/partition_date_range.inc
Normal file
69
mysql-test/include/partition_date_range.inc
Normal file
@@ -0,0 +1,69 @@
|
||||
# Created for verifying bug#20577.
|
||||
# expects TABLE t1 (... , a DATE, ...)
|
||||
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a < '1001-01-01';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a <= '1001-01-01';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a >= '1001-01-01';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a > '1001-01-01';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a = '1001-01-01';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a < '1001-00-00';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a <= '1001-00-00';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a >= '1001-00-00';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a > '1001-00-00';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a = '1001-00-00';
|
||||
--echo # Disabling warnings for the invalid date
|
||||
--disable_warnings
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a < '1999-02-31';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a <= '1999-02-31';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a >= '1999-02-31';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a > '1999-02-31';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a = '1999-02-31';
|
||||
--enable_warnings
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1001-01-01';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0001-01-02' AND '1002-00-00';
|
||||
--sorted_result
|
||||
SELECT * FROM t1 WHERE a BETWEEN '0001-01-01' AND '1001-01-01';
|
||||
if ($explain_partitions)
|
||||
{
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-01-01';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1001-01-01';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1001-01-01';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1001-01-01';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1001-01-01';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-00-00';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1001-00-00';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1001-00-00';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1001-00-00';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1001-00-00';
|
||||
--echo # Disabling warnings for the invalid date
|
||||
--disable_warnings
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1999-02-31';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1999-02-31';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1999-02-31';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1999-02-31';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1999-02-31';
|
||||
--enable_warnings
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1001-01-01';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0001-01-02' AND '1002-00-00';
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0001-01-01' AND '1001-01-01';
|
||||
}
|
||||
35
mysql-test/include/rpl_loaddata_charset.inc
Normal file
35
mysql-test/include/rpl_loaddata_charset.inc
Normal file
@@ -0,0 +1,35 @@
|
||||
connection master;
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS mysqltest;
|
||||
--enable_warnings
|
||||
|
||||
CREATE DATABASE mysqltest CHARSET UTF8;
|
||||
USE mysqltest;
|
||||
CREATE TABLE t (cl varchar(100)) CHARSET UTF8;
|
||||
|
||||
if (!$LOAD_LOCAL)
|
||||
{
|
||||
LOAD DATA INFILE '../../std_data/loaddata_utf8.dat' INTO TABLE t
|
||||
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
|
||||
}
|
||||
if ($LOAD_LOCAL)
|
||||
{
|
||||
LOAD DATA LOCAL INFILE './std_data/loaddata_utf8.dat' INTO TABLE t
|
||||
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
|
||||
}
|
||||
|
||||
save_master_pos;
|
||||
echo ----------content on master----------;
|
||||
SELECT hex(cl) FROM t;
|
||||
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
echo ----------content on slave----------;
|
||||
USE mysqltest;
|
||||
SELECT hex(cl) FROM t;
|
||||
|
||||
connection master;
|
||||
DROP DATABASE mysqltest;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
@@ -249,6 +249,10 @@ sub collect_one_suite($)
|
||||
$suitedir= my_find_dir($::basedir,
|
||||
["mysql-test/suite",
|
||||
"mysql-test",
|
||||
"share/mysql-test/suite",
|
||||
"share/mysql-test",
|
||||
"share/mysql/mysql-test/suite",
|
||||
"share/mysql/mysql-test",
|
||||
# Look in storage engine specific suite dirs
|
||||
"storage/*/mysql-test-suites"
|
||||
],
|
||||
|
||||
@@ -127,7 +127,6 @@ my $path_config_file; # The generated config file, var/my.cnf
|
||||
our $opt_vs_config = $ENV{'MTR_VS_CONFIG'};
|
||||
|
||||
my $DEFAULT_SUITES= "binlog,federated,main,maria,rpl,innodb,parts";
|
||||
my $opt_suites;
|
||||
|
||||
our $opt_usage;
|
||||
our $opt_list_options;
|
||||
@@ -1001,6 +1000,12 @@ sub command_line_setup {
|
||||
{
|
||||
$basedir= dirname($basedir);
|
||||
}
|
||||
# For .deb, it's like RPM, but installed in /usr/share/mysql/mysql-test.
|
||||
# So move up one more directory level yet.
|
||||
if ( ! $source_dist and ! -d "$basedir/bin" )
|
||||
{
|
||||
$basedir= dirname($basedir);
|
||||
}
|
||||
|
||||
# Look for the client binaries directory
|
||||
if ($path_client_bindir)
|
||||
|
||||
@@ -143,16 +143,6 @@ t1 1 n4 1 n4 A NULL NULL NULL YES BTREE disabled
|
||||
t1 1 n4 2 n1 A NULL NULL NULL BTREE disabled
|
||||
t1 1 n4 3 n2 A NULL NULL NULL YES BTREE disabled
|
||||
t1 1 n4 4 n3 A NULL NULL NULL YES BTREE disabled
|
||||
insert into t1 values(10,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(9,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(8,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(7,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(6,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(5,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(4,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(3,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(2,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(1,RAND()*1000,RAND()*1000,RAND());
|
||||
alter table t1 enable keys;
|
||||
show keys from t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
@@ -183,106 +173,6 @@ i int(10) unsigned NO PRI NULL auto_increment
|
||||
c char(10) YES NULL
|
||||
drop table t1;
|
||||
create table t1 (a int, b int);
|
||||
insert into t1 values(1,100), (2,100), (3, 100);
|
||||
insert into t1 values(1,99), (2,99), (3, 99);
|
||||
insert into t1 values(1,98), (2,98), (3, 98);
|
||||
insert into t1 values(1,97), (2,97), (3, 97);
|
||||
insert into t1 values(1,96), (2,96), (3, 96);
|
||||
insert into t1 values(1,95), (2,95), (3, 95);
|
||||
insert into t1 values(1,94), (2,94), (3, 94);
|
||||
insert into t1 values(1,93), (2,93), (3, 93);
|
||||
insert into t1 values(1,92), (2,92), (3, 92);
|
||||
insert into t1 values(1,91), (2,91), (3, 91);
|
||||
insert into t1 values(1,90), (2,90), (3, 90);
|
||||
insert into t1 values(1,89), (2,89), (3, 89);
|
||||
insert into t1 values(1,88), (2,88), (3, 88);
|
||||
insert into t1 values(1,87), (2,87), (3, 87);
|
||||
insert into t1 values(1,86), (2,86), (3, 86);
|
||||
insert into t1 values(1,85), (2,85), (3, 85);
|
||||
insert into t1 values(1,84), (2,84), (3, 84);
|
||||
insert into t1 values(1,83), (2,83), (3, 83);
|
||||
insert into t1 values(1,82), (2,82), (3, 82);
|
||||
insert into t1 values(1,81), (2,81), (3, 81);
|
||||
insert into t1 values(1,80), (2,80), (3, 80);
|
||||
insert into t1 values(1,79), (2,79), (3, 79);
|
||||
insert into t1 values(1,78), (2,78), (3, 78);
|
||||
insert into t1 values(1,77), (2,77), (3, 77);
|
||||
insert into t1 values(1,76), (2,76), (3, 76);
|
||||
insert into t1 values(1,75), (2,75), (3, 75);
|
||||
insert into t1 values(1,74), (2,74), (3, 74);
|
||||
insert into t1 values(1,73), (2,73), (3, 73);
|
||||
insert into t1 values(1,72), (2,72), (3, 72);
|
||||
insert into t1 values(1,71), (2,71), (3, 71);
|
||||
insert into t1 values(1,70), (2,70), (3, 70);
|
||||
insert into t1 values(1,69), (2,69), (3, 69);
|
||||
insert into t1 values(1,68), (2,68), (3, 68);
|
||||
insert into t1 values(1,67), (2,67), (3, 67);
|
||||
insert into t1 values(1,66), (2,66), (3, 66);
|
||||
insert into t1 values(1,65), (2,65), (3, 65);
|
||||
insert into t1 values(1,64), (2,64), (3, 64);
|
||||
insert into t1 values(1,63), (2,63), (3, 63);
|
||||
insert into t1 values(1,62), (2,62), (3, 62);
|
||||
insert into t1 values(1,61), (2,61), (3, 61);
|
||||
insert into t1 values(1,60), (2,60), (3, 60);
|
||||
insert into t1 values(1,59), (2,59), (3, 59);
|
||||
insert into t1 values(1,58), (2,58), (3, 58);
|
||||
insert into t1 values(1,57), (2,57), (3, 57);
|
||||
insert into t1 values(1,56), (2,56), (3, 56);
|
||||
insert into t1 values(1,55), (2,55), (3, 55);
|
||||
insert into t1 values(1,54), (2,54), (3, 54);
|
||||
insert into t1 values(1,53), (2,53), (3, 53);
|
||||
insert into t1 values(1,52), (2,52), (3, 52);
|
||||
insert into t1 values(1,51), (2,51), (3, 51);
|
||||
insert into t1 values(1,50), (2,50), (3, 50);
|
||||
insert into t1 values(1,49), (2,49), (3, 49);
|
||||
insert into t1 values(1,48), (2,48), (3, 48);
|
||||
insert into t1 values(1,47), (2,47), (3, 47);
|
||||
insert into t1 values(1,46), (2,46), (3, 46);
|
||||
insert into t1 values(1,45), (2,45), (3, 45);
|
||||
insert into t1 values(1,44), (2,44), (3, 44);
|
||||
insert into t1 values(1,43), (2,43), (3, 43);
|
||||
insert into t1 values(1,42), (2,42), (3, 42);
|
||||
insert into t1 values(1,41), (2,41), (3, 41);
|
||||
insert into t1 values(1,40), (2,40), (3, 40);
|
||||
insert into t1 values(1,39), (2,39), (3, 39);
|
||||
insert into t1 values(1,38), (2,38), (3, 38);
|
||||
insert into t1 values(1,37), (2,37), (3, 37);
|
||||
insert into t1 values(1,36), (2,36), (3, 36);
|
||||
insert into t1 values(1,35), (2,35), (3, 35);
|
||||
insert into t1 values(1,34), (2,34), (3, 34);
|
||||
insert into t1 values(1,33), (2,33), (3, 33);
|
||||
insert into t1 values(1,32), (2,32), (3, 32);
|
||||
insert into t1 values(1,31), (2,31), (3, 31);
|
||||
insert into t1 values(1,30), (2,30), (3, 30);
|
||||
insert into t1 values(1,29), (2,29), (3, 29);
|
||||
insert into t1 values(1,28), (2,28), (3, 28);
|
||||
insert into t1 values(1,27), (2,27), (3, 27);
|
||||
insert into t1 values(1,26), (2,26), (3, 26);
|
||||
insert into t1 values(1,25), (2,25), (3, 25);
|
||||
insert into t1 values(1,24), (2,24), (3, 24);
|
||||
insert into t1 values(1,23), (2,23), (3, 23);
|
||||
insert into t1 values(1,22), (2,22), (3, 22);
|
||||
insert into t1 values(1,21), (2,21), (3, 21);
|
||||
insert into t1 values(1,20), (2,20), (3, 20);
|
||||
insert into t1 values(1,19), (2,19), (3, 19);
|
||||
insert into t1 values(1,18), (2,18), (3, 18);
|
||||
insert into t1 values(1,17), (2,17), (3, 17);
|
||||
insert into t1 values(1,16), (2,16), (3, 16);
|
||||
insert into t1 values(1,15), (2,15), (3, 15);
|
||||
insert into t1 values(1,14), (2,14), (3, 14);
|
||||
insert into t1 values(1,13), (2,13), (3, 13);
|
||||
insert into t1 values(1,12), (2,12), (3, 12);
|
||||
insert into t1 values(1,11), (2,11), (3, 11);
|
||||
insert into t1 values(1,10), (2,10), (3, 10);
|
||||
insert into t1 values(1,9), (2,9), (3, 9);
|
||||
insert into t1 values(1,8), (2,8), (3, 8);
|
||||
insert into t1 values(1,7), (2,7), (3, 7);
|
||||
insert into t1 values(1,6), (2,6), (3, 6);
|
||||
insert into t1 values(1,5), (2,5), (3, 5);
|
||||
insert into t1 values(1,4), (2,4), (3, 4);
|
||||
insert into t1 values(1,3), (2,3), (3, 3);
|
||||
insert into t1 values(1,2), (2,2), (3, 2);
|
||||
insert into t1 values(1,1), (2,1), (3, 1);
|
||||
alter table t1 add unique (a,b), add key (b);
|
||||
show keys from t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
|
||||
@@ -28,9 +28,7 @@ test.t1.bool N Y 1 1 0 0 1.0000 NULL ENUM('N','Y') NOT NULL
|
||||
test.t1.d 2002-03-03 2002-03-05 10 10 0 0 10.0000 NULL ENUM('2002-03-03','2002-03-04','2002-03-05') NOT NULL
|
||||
drop table t1,t2;
|
||||
EXPLAIN SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE();
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY <derived2> system NULL NULL NULL NULL 1
|
||||
2 DERIVED NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
ERROR HY000: Incorrect usage of PROCEDURE and subquery
|
||||
create table t1 (a int not null);
|
||||
create table t2 select * from t1 where 0=1 procedure analyse();
|
||||
show create table t2;
|
||||
@@ -153,4 +151,9 @@ select f3 from t1 procedure analyse(1, 1);
|
||||
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
|
||||
test.t1.f3 5.99999 9.55555 7 7 0 0 7.77777 1.77778 FLOAT(6,5) NOT NULL
|
||||
drop table t1;
|
||||
CREATE TABLE t1(a INT,b INT,c INT,d INT,e INT,f INT,g INT,h INT,i INT,j INT,k INT);
|
||||
INSERT INTO t1 VALUES ();
|
||||
SELECT * FROM (SELECT * FROM t1) d PROCEDURE ANALYSE();
|
||||
ERROR HY000: Incorrect usage of PROCEDURE and subquery
|
||||
DROP TABLE t1;
|
||||
End of 4.1 tests
|
||||
|
||||
@@ -462,3 +462,17 @@ select last_insert_id();
|
||||
last_insert_id()
|
||||
3
|
||||
drop table t1;
|
||||
#
|
||||
# Bug#46616: Assertion `!table->auto_increment_field_not_null' on view
|
||||
# manipulations
|
||||
#
|
||||
CREATE TABLE t1 ( a INT );
|
||||
INSERT INTO t1 VALUES (1), (1);
|
||||
CREATE TABLE t2 ( a INT AUTO_INCREMENT KEY );
|
||||
CREATE TABLE IF NOT EXISTS t2 AS SELECT a FROM t1;
|
||||
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
|
||||
UPDATE t2 SET a = 2;
|
||||
SELECT a FROM t2;
|
||||
a
|
||||
2
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
@@ -841,17 +841,17 @@ call p_verify_status_increment(2, 0, 2, 0);
|
||||
SUCCESS
|
||||
|
||||
alter table t3 rename t4;
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
call p_verify_status_increment(2, 2, 2, 2);
|
||||
SUCCESS
|
||||
|
||||
rename table t4 to t3;
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
call p_verify_status_increment(2, 2, 2, 2);
|
||||
SUCCESS
|
||||
|
||||
truncate table t3;
|
||||
call p_verify_status_increment(4, 4, 4, 4);
|
||||
ERROR
|
||||
Expected commit increment: 4 actual: 2
|
||||
SUCCESS
|
||||
|
||||
create view v1 as select * from t2;
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
SUCCESS
|
||||
|
||||
2
mysql-test/r/disabled_partition.require
Normal file
2
mysql-test/r/disabled_partition.require
Normal file
@@ -0,0 +1,2 @@
|
||||
Variable_name Value
|
||||
have_partitioning DISABLED
|
||||
@@ -116,10 +116,6 @@ CREATE TEMPORARY TABLE t_history (attempt SMALLINT,
|
||||
start_ts DATETIME, end_ts DATETIME,
|
||||
start_cached INTEGER, end_cached INTEGER);
|
||||
CREATE TABLE t1 (f1 BIGINT);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
INSERT INTO t_history
|
||||
SET attempt = 4 - 4 + 1, start_ts = NOW(),
|
||||
start_cached = 0;
|
||||
|
||||
@@ -12,156 +12,6 @@ t1 CREATE TABLE `t1` (
|
||||
PRIMARY KEY (`fid`),
|
||||
SPATIAL KEY `g` (`g`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(150 150, 150 150)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(149 149, 151 151)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(148 148, 152 152)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(147 147, 153 153)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(146 146, 154 154)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(145 145, 155 155)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(144 144, 156 156)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(143 143, 157 157)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(142 142, 158 158)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(141 141, 159 159)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(140 140, 160 160)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(139 139, 161 161)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(138 138, 162 162)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(137 137, 163 163)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(136 136, 164 164)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(135 135, 165 165)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(134 134, 166 166)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(133 133, 167 167)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(132 132, 168 168)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(131 131, 169 169)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(130 130, 170 170)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(129 129, 171 171)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(128 128, 172 172)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(127 127, 173 173)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(126 126, 174 174)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(125 125, 175 175)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(124 124, 176 176)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(123 123, 177 177)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(122 122, 178 178)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(121 121, 179 179)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(120 120, 180 180)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(119 119, 181 181)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(118 118, 182 182)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(117 117, 183 183)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(116 116, 184 184)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(115 115, 185 185)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(114 114, 186 186)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(113 113, 187 187)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(112 112, 188 188)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(111 111, 189 189)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(110 110, 190 190)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(109 109, 191 191)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(108 108, 192 192)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(107 107, 193 193)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(106 106, 194 194)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(105 105, 195 195)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(104 104, 196 196)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(103 103, 197 197)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(102 102, 198 198)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(101 101, 199 199)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(100 100, 200 200)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(99 99, 201 201)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(98 98, 202 202)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(97 97, 203 203)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(96 96, 204 204)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(95 95, 205 205)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(94 94, 206 206)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(93 93, 207 207)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(92 92, 208 208)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(91 91, 209 209)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(90 90, 210 210)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(89 89, 211 211)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(88 88, 212 212)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(87 87, 213 213)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(86 86, 214 214)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(85 85, 215 215)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(84 84, 216 216)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(83 83, 217 217)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(82 82, 218 218)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(81 81, 219 219)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(80 80, 220 220)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(79 79, 221 221)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(78 78, 222 222)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(77 77, 223 223)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(76 76, 224 224)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(75 75, 225 225)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(74 74, 226 226)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(73 73, 227 227)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(72 72, 228 228)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(71 71, 229 229)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(70 70, 230 230)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(69 69, 231 231)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(68 68, 232 232)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(67 67, 233 233)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(66 66, 234 234)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(65 65, 235 235)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(64 64, 236 236)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(63 63, 237 237)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(62 62, 238 238)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(61 61, 239 239)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(60 60, 240 240)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(59 59, 241 241)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(58 58, 242 242)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(57 57, 243 243)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(56 56, 244 244)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(55 55, 245 245)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(54 54, 246 246)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(53 53, 247 247)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(52 52, 248 248)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(51 51, 249 249)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(50 50, 250 250)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(49 49, 251 251)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(48 48, 252 252)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(47 47, 253 253)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(46 46, 254 254)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(45 45, 255 255)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(44 44, 256 256)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(43 43, 257 257)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(42 42, 258 258)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(41 41, 259 259)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(40 40, 260 260)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(39 39, 261 261)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(38 38, 262 262)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(37 37, 263 263)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(36 36, 264 264)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(35 35, 265 265)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(34 34, 266 266)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(33 33, 267 267)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(32 32, 268 268)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(31 31, 269 269)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(30 30, 270 270)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(29 29, 271 271)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(28 28, 272 272)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(27 27, 273 273)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(26 26, 274 274)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(25 25, 275 275)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(24 24, 276 276)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(23 23, 277 277)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(22 22, 278 278)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(21 21, 279 279)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(20 20, 280 280)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(19 19, 281 281)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(18 18, 282 282)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(17 17, 283 283)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(16 16, 284 284)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(15 15, 285 285)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(14 14, 286 286)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(13 13, 287 287)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(12 12, 288 288)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(11 11, 289 289)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(10 10, 290 290)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(9 9, 291 291)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(8 8, 292 292)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(7 7, 293 293)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(6 6, 294 294)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(5 5, 295 295)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(4 4, 296 296)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(3 3, 297 297)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(2 2, 298 298)'));
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(1 1, 299 299)'));
|
||||
SELECT count(*) FROM t1;
|
||||
count(*)
|
||||
150
|
||||
@@ -186,106 +36,6 @@ CREATE TABLE t2 (
|
||||
fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
g GEOMETRY NOT NULL
|
||||
) ENGINE=MyISAM;
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 10 * 10 - 9), Point(10 * 10, 10 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 9 * 10 - 9), Point(10 * 10, 9 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 8 * 10 - 9), Point(10 * 10, 8 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 7 * 10 - 9), Point(10 * 10, 7 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 6 * 10 - 9), Point(10 * 10, 6 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 5 * 10 - 9), Point(10 * 10, 5 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 4 * 10 - 9), Point(10 * 10, 4 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 3 * 10 - 9), Point(10 * 10, 3 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 2 * 10 - 9), Point(10 * 10, 2 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 1 * 10 - 9), Point(10 * 10, 1 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 10 * 10 - 9), Point(9 * 10, 10 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 9 * 10 - 9), Point(9 * 10, 9 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 8 * 10 - 9), Point(9 * 10, 8 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 7 * 10 - 9), Point(9 * 10, 7 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 6 * 10 - 9), Point(9 * 10, 6 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 5 * 10 - 9), Point(9 * 10, 5 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 4 * 10 - 9), Point(9 * 10, 4 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 3 * 10 - 9), Point(9 * 10, 3 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 2 * 10 - 9), Point(9 * 10, 2 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 1 * 10 - 9), Point(9 * 10, 1 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 10 * 10 - 9), Point(8 * 10, 10 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 9 * 10 - 9), Point(8 * 10, 9 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 8 * 10 - 9), Point(8 * 10, 8 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 7 * 10 - 9), Point(8 * 10, 7 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 6 * 10 - 9), Point(8 * 10, 6 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 5 * 10 - 9), Point(8 * 10, 5 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 4 * 10 - 9), Point(8 * 10, 4 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 3 * 10 - 9), Point(8 * 10, 3 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 2 * 10 - 9), Point(8 * 10, 2 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 1 * 10 - 9), Point(8 * 10, 1 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 10 * 10 - 9), Point(7 * 10, 10 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 9 * 10 - 9), Point(7 * 10, 9 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 8 * 10 - 9), Point(7 * 10, 8 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 7 * 10 - 9), Point(7 * 10, 7 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 6 * 10 - 9), Point(7 * 10, 6 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 5 * 10 - 9), Point(7 * 10, 5 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 4 * 10 - 9), Point(7 * 10, 4 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 3 * 10 - 9), Point(7 * 10, 3 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 2 * 10 - 9), Point(7 * 10, 2 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 1 * 10 - 9), Point(7 * 10, 1 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 10 * 10 - 9), Point(6 * 10, 10 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 9 * 10 - 9), Point(6 * 10, 9 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 8 * 10 - 9), Point(6 * 10, 8 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 7 * 10 - 9), Point(6 * 10, 7 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 6 * 10 - 9), Point(6 * 10, 6 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 5 * 10 - 9), Point(6 * 10, 5 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 4 * 10 - 9), Point(6 * 10, 4 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 3 * 10 - 9), Point(6 * 10, 3 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 2 * 10 - 9), Point(6 * 10, 2 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 1 * 10 - 9), Point(6 * 10, 1 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 10 * 10 - 9), Point(5 * 10, 10 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 9 * 10 - 9), Point(5 * 10, 9 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 8 * 10 - 9), Point(5 * 10, 8 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 7 * 10 - 9), Point(5 * 10, 7 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 6 * 10 - 9), Point(5 * 10, 6 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 5 * 10 - 9), Point(5 * 10, 5 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 4 * 10 - 9), Point(5 * 10, 4 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 3 * 10 - 9), Point(5 * 10, 3 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 2 * 10 - 9), Point(5 * 10, 2 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 1 * 10 - 9), Point(5 * 10, 1 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 10 * 10 - 9), Point(4 * 10, 10 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 9 * 10 - 9), Point(4 * 10, 9 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 8 * 10 - 9), Point(4 * 10, 8 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 7 * 10 - 9), Point(4 * 10, 7 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 6 * 10 - 9), Point(4 * 10, 6 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 5 * 10 - 9), Point(4 * 10, 5 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 4 * 10 - 9), Point(4 * 10, 4 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 3 * 10 - 9), Point(4 * 10, 3 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 2 * 10 - 9), Point(4 * 10, 2 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 1 * 10 - 9), Point(4 * 10, 1 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 10 * 10 - 9), Point(3 * 10, 10 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 9 * 10 - 9), Point(3 * 10, 9 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 8 * 10 - 9), Point(3 * 10, 8 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 7 * 10 - 9), Point(3 * 10, 7 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 6 * 10 - 9), Point(3 * 10, 6 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 5 * 10 - 9), Point(3 * 10, 5 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 4 * 10 - 9), Point(3 * 10, 4 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 3 * 10 - 9), Point(3 * 10, 3 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 2 * 10 - 9), Point(3 * 10, 2 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 1 * 10 - 9), Point(3 * 10, 1 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 10 * 10 - 9), Point(2 * 10, 10 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 9 * 10 - 9), Point(2 * 10, 9 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 8 * 10 - 9), Point(2 * 10, 8 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 7 * 10 - 9), Point(2 * 10, 7 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 6 * 10 - 9), Point(2 * 10, 6 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 5 * 10 - 9), Point(2 * 10, 5 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 4 * 10 - 9), Point(2 * 10, 4 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 3 * 10 - 9), Point(2 * 10, 3 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 2 * 10 - 9), Point(2 * 10, 2 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 1 * 10 - 9), Point(2 * 10, 1 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 10 * 10 - 9), Point(1 * 10, 10 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 9 * 10 - 9), Point(1 * 10, 9 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 8 * 10 - 9), Point(1 * 10, 8 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 7 * 10 - 9), Point(1 * 10, 7 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 6 * 10 - 9), Point(1 * 10, 6 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 5 * 10 - 9), Point(1 * 10, 5 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 4 * 10 - 9), Point(1 * 10, 4 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 3 * 10 - 9), Point(1 * 10, 3 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 2 * 10 - 9), Point(1 * 10, 2 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 1 * 10 - 9), Point(1 * 10, 1 * 10)));
|
||||
ALTER TABLE t2 ADD SPATIAL KEY(g);
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
@@ -309,404 +59,204 @@ fid AsText(g)
|
||||
56 LINESTRING(41 41,50 50)
|
||||
45 LINESTRING(51 51,60 60)
|
||||
55 LINESTRING(41 51,50 60)
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 10 * 10 - 9), Point(10 * 10, 10 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 9 * 10 - 9), Point(10 * 10, 9 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 8 * 10 - 9), Point(10 * 10, 8 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 7 * 10 - 9), Point(10 * 10, 7 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 6 * 10 - 9), Point(10 * 10, 6 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 5 * 10 - 9), Point(10 * 10, 5 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 4 * 10 - 9), Point(10 * 10, 4 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 3 * 10 - 9), Point(10 * 10, 3 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 2 * 10 - 9), Point(10 * 10, 2 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 1 * 10 - 9), Point(10 * 10, 1 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 10 * 10 - 9), Point(9 * 10, 10 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 9 * 10 - 9), Point(9 * 10, 9 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 8 * 10 - 9), Point(9 * 10, 8 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 7 * 10 - 9), Point(9 * 10, 7 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 6 * 10 - 9), Point(9 * 10, 6 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 5 * 10 - 9), Point(9 * 10, 5 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 4 * 10 - 9), Point(9 * 10, 4 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 3 * 10 - 9), Point(9 * 10, 3 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 2 * 10 - 9), Point(9 * 10, 2 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 1 * 10 - 9), Point(9 * 10, 1 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 10 * 10 - 9), Point(8 * 10, 10 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 9 * 10 - 9), Point(8 * 10, 9 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 8 * 10 - 9), Point(8 * 10, 8 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 7 * 10 - 9), Point(8 * 10, 7 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 6 * 10 - 9), Point(8 * 10, 6 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 5 * 10 - 9), Point(8 * 10, 5 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 4 * 10 - 9), Point(8 * 10, 4 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 3 * 10 - 9), Point(8 * 10, 3 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 2 * 10 - 9), Point(8 * 10, 2 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 1 * 10 - 9), Point(8 * 10, 1 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 10 * 10 - 9), Point(7 * 10, 10 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 9 * 10 - 9), Point(7 * 10, 9 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 8 * 10 - 9), Point(7 * 10, 8 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 7 * 10 - 9), Point(7 * 10, 7 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 6 * 10 - 9), Point(7 * 10, 6 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 5 * 10 - 9), Point(7 * 10, 5 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 4 * 10 - 9), Point(7 * 10, 4 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 3 * 10 - 9), Point(7 * 10, 3 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 2 * 10 - 9), Point(7 * 10, 2 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 1 * 10 - 9), Point(7 * 10, 1 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 10 * 10 - 9), Point(6 * 10, 10 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 9 * 10 - 9), Point(6 * 10, 9 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 8 * 10 - 9), Point(6 * 10, 8 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 7 * 10 - 9), Point(6 * 10, 7 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 6 * 10 - 9), Point(6 * 10, 6 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 5 * 10 - 9), Point(6 * 10, 5 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 4 * 10 - 9), Point(6 * 10, 4 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 3 * 10 - 9), Point(6 * 10, 3 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 2 * 10 - 9), Point(6 * 10, 2 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 1 * 10 - 9), Point(6 * 10, 1 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 10 * 10 - 9), Point(5 * 10, 10 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 9 * 10 - 9), Point(5 * 10, 9 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 8 * 10 - 9), Point(5 * 10, 8 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 7 * 10 - 9), Point(5 * 10, 7 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 6 * 10 - 9), Point(5 * 10, 6 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 5 * 10 - 9), Point(5 * 10, 5 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 4 * 10 - 9), Point(5 * 10, 4 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 3 * 10 - 9), Point(5 * 10, 3 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 2 * 10 - 9), Point(5 * 10, 2 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 1 * 10 - 9), Point(5 * 10, 1 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 10 * 10 - 9), Point(4 * 10, 10 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 9 * 10 - 9), Point(4 * 10, 9 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 8 * 10 - 9), Point(4 * 10, 8 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 7 * 10 - 9), Point(4 * 10, 7 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 6 * 10 - 9), Point(4 * 10, 6 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 5 * 10 - 9), Point(4 * 10, 5 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 4 * 10 - 9), Point(4 * 10, 4 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 3 * 10 - 9), Point(4 * 10, 3 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 2 * 10 - 9), Point(4 * 10, 2 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 1 * 10 - 9), Point(4 * 10, 1 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 10 * 10 - 9), Point(3 * 10, 10 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 9 * 10 - 9), Point(3 * 10, 9 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 8 * 10 - 9), Point(3 * 10, 8 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 7 * 10 - 9), Point(3 * 10, 7 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 6 * 10 - 9), Point(3 * 10, 6 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 5 * 10 - 9), Point(3 * 10, 5 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 4 * 10 - 9), Point(3 * 10, 4 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 3 * 10 - 9), Point(3 * 10, 3 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 2 * 10 - 9), Point(3 * 10, 2 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 1 * 10 - 9), Point(3 * 10, 1 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 10 * 10 - 9), Point(2 * 10, 10 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 9 * 10 - 9), Point(2 * 10, 9 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 8 * 10 - 9), Point(2 * 10, 8 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 7 * 10 - 9), Point(2 * 10, 7 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 6 * 10 - 9), Point(2 * 10, 6 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 5 * 10 - 9), Point(2 * 10, 5 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 4 * 10 - 9), Point(2 * 10, 4 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 3 * 10 - 9), Point(2 * 10, 3 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 2 * 10 - 9), Point(2 * 10, 2 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 1 * 10 - 9), Point(2 * 10, 1 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 10 * 10 - 9), Point(1 * 10, 10 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 9 * 10 - 9), Point(1 * 10, 9 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 8 * 10 - 9), Point(1 * 10, 8 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 7 * 10 - 9), Point(1 * 10, 7 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 6 * 10 - 9), Point(1 * 10, 6 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 5 * 10 - 9), Point(1 * 10, 5 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 4 * 10 - 9), Point(1 * 10, 4 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 3 * 10 - 9), Point(1 * 10, 3 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 2 * 10 - 9), Point(1 * 10, 2 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 1 * 10 - 9), Point(1 * 10, 1 * 10))));
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DROP TABLE t2;
|
||||
|
||||
@@ -2502,3 +2502,15 @@ a MAX(b)
|
||||
2 1
|
||||
DROP TABLE t;
|
||||
End of 5.0 tests
|
||||
#
|
||||
# Bug #46607: Assertion failed: (cond_type == Item::FUNC_ITEM) results in
|
||||
# server crash
|
||||
#
|
||||
CREATE TABLE t (a INT, b INT, INDEX (a,b));
|
||||
INSERT INTO t VALUES (2,0), (2,0), (2,1), (2,1);
|
||||
INSERT INTO t SELECT * FROM t;
|
||||
SELECT a, MAX(b) FROM t WHERE b GROUP BY a;
|
||||
a MAX(b)
|
||||
2 1
|
||||
DROP TABLE t;
|
||||
End of 5.1 tests
|
||||
|
||||
@@ -741,3 +741,19 @@ USE information_schema;
|
||||
HANDLER COLUMNS OPEN;
|
||||
ERROR HY000: Incorrect usage of HANDLER OPEN and information_schema
|
||||
USE test;
|
||||
#
|
||||
# BUG #46456: HANDLER OPEN + TRUNCATE + DROP (temporary) TABLE, crash
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT 1 AS f1;
|
||||
HANDLER t1 OPEN;
|
||||
TRUNCATE t1;
|
||||
HANDLER t1 READ FIRST;
|
||||
ERROR 42S02: Unknown table 't1' in HANDLER
|
||||
DROP TABLE t1;
|
||||
CREATE TEMPORARY TABLE t1 AS SELECT 1 AS f1;
|
||||
HANDLER t1 OPEN;
|
||||
TRUNCATE t1;
|
||||
HANDLER t1 READ FIRST;
|
||||
ERROR 42S02: Unknown table 't1' in HANDLER
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
||||
@@ -3,3 +3,30 @@ SET @old_innodb_file_per_table=@@innodb_file_per_table;
|
||||
SET @old_innodb_file_format_check=@@innodb_file_format_check;
|
||||
SET GLOBAL innodb_file_format='Barracuda';
|
||||
SET GLOBAL innodb_file_per_table=ON;
|
||||
DROP TABLE IF EXISTS `test1`;
|
||||
CREATE TABLE IF NOT EXISTS `test1` (
|
||||
`a` int primary key auto_increment,
|
||||
`b` int default 0,
|
||||
`c` char(100) default 'testtest'
|
||||
) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
|
||||
set autocommit=0;
|
||||
CREATE PROCEDURE insert_many(p1 int)
|
||||
BEGIN
|
||||
SET @x = 0;
|
||||
SET @y = 0;
|
||||
REPEAT
|
||||
insert into test1 set b=1;
|
||||
SET @x = @x + 1;
|
||||
SET @y = @y + 1;
|
||||
IF @y >= 1000 THEN
|
||||
commit;
|
||||
SET @y = 0;
|
||||
END IF;
|
||||
UNTIL @x >= p1 END REPEAT;
|
||||
END|
|
||||
DROP PROCEDURE insert_many;
|
||||
ALTER TABLE test1 ENGINE=MyISAM;
|
||||
DROP TABLE test1;
|
||||
SET GLOBAL innodb_file_format=@old_innodb_file_format;
|
||||
SET GLOBAL innodb_file_per_table=@old_innodb_file_per_table;
|
||||
SET GLOBAL innodb_file_format_check=@old_innodb_file_format_check;
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
SET @odl_sync_frm = @@global.sync_frm;
|
||||
SET @@global.sync_frm = OFF;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1( a INT, b INT );
|
||||
INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3), (4, 4);
|
||||
@@ -17,3 +19,4 @@ ALTER TABLE t1 ADD COLUMN a INT;
|
||||
# 2.2.1. normal mode
|
||||
# 2.2.2. PS mode
|
||||
DROP TABLE t1;
|
||||
SET @@global.sync_frm = @odl_sync_frm;
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
SET @odl_sync_frm = @@global.sync_frm;
|
||||
SET @@global.sync_frm = OFF;
|
||||
DROP TABLE IF EXISTS t1,t2,t3;
|
||||
CREATE TABLE t1 (
|
||||
a int(11) unsigned default NULL,
|
||||
@@ -15,3 +17,4 @@ CREATE TABLE t3 SELECT * FROM t1;
|
||||
# normal mode
|
||||
# PS mode
|
||||
DROP TABLE t1, t2, t3;
|
||||
SET @@global.sync_frm = @odl_sync_frm;
|
||||
|
||||
@@ -1846,56 +1846,6 @@ c1
|
||||
DROP TABLE t1, t2, t3;
|
||||
CREATE TABLE t1 (id INTEGER, grp TINYINT, id_rev INTEGER);
|
||||
SET @rnd_max= 2147483647;
|
||||
SET @rnd= RAND();
|
||||
SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
|
||||
SET @id_rev= @rnd_max - @id;
|
||||
SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
|
||||
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
||||
SET @rnd= RAND();
|
||||
SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
|
||||
SET @id_rev= @rnd_max - @id;
|
||||
SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
|
||||
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
||||
SET @rnd= RAND();
|
||||
SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
|
||||
SET @id_rev= @rnd_max - @id;
|
||||
SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
|
||||
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
||||
SET @rnd= RAND();
|
||||
SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
|
||||
SET @id_rev= @rnd_max - @id;
|
||||
SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
|
||||
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
||||
SET @rnd= RAND();
|
||||
SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
|
||||
SET @id_rev= @rnd_max - @id;
|
||||
SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
|
||||
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
||||
SET @rnd= RAND();
|
||||
SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
|
||||
SET @id_rev= @rnd_max - @id;
|
||||
SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
|
||||
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
||||
SET @rnd= RAND();
|
||||
SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
|
||||
SET @id_rev= @rnd_max - @id;
|
||||
SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
|
||||
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
||||
SET @rnd= RAND();
|
||||
SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
|
||||
SET @id_rev= @rnd_max - @id;
|
||||
SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
|
||||
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
||||
SET @rnd= RAND();
|
||||
SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
|
||||
SET @id_rev= @rnd_max - @id;
|
||||
SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
|
||||
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
||||
SET @rnd= RAND();
|
||||
SET @id = CAST(@rnd * @rnd_max AS UNSIGNED);
|
||||
SET @id_rev= @rnd_max - @id;
|
||||
SET @grp= CAST(127.0 * @rnd AS UNSIGNED);
|
||||
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
||||
set @@read_buffer_size=2*1024*1024;
|
||||
CREATE TABLE t2 SELECT * FROM t1;
|
||||
INSERT INTO t1 (id, grp, id_rev) SELECT id, grp, id_rev FROM t2;
|
||||
@@ -2209,4 +2159,16 @@ ERROR HY000: Table storage engine for 'm1' doesn't have this option
|
||||
DROP TABLE m1,t1,t2,t3,t4,t5,t6,t7;
|
||||
SELECT 1 FROM m1;
|
||||
ERROR 42S02: Table 'test.m1' doesn't exist
|
||||
#
|
||||
# Bug #46614: Assertion in show_create_trigger()
|
||||
#
|
||||
CREATE TABLE t1(a int);
|
||||
CREATE TABLE t2(a int);
|
||||
CREATE TABLE t3(a int) ENGINE = MERGE UNION(t1, t2);
|
||||
CREATE TRIGGER tr1 AFTER INSERT ON t3 FOR EACH ROW CALL foo();
|
||||
SHOW CREATE TRIGGER tr1;
|
||||
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
|
||||
tr1 CREATE DEFINER=`root`@`localhost` TRIGGER tr1 AFTER INSERT ON t3 FOR EACH ROW CALL foo() latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
DROP TRIGGER tr1;
|
||||
DROP TABLE t1, t2, t3;
|
||||
End of 5.1 tests
|
||||
|
||||
@@ -12,16 +12,6 @@ CREATE TABLE `t2` (
|
||||
KEY (id1), KEY(id)
|
||||
) ENGINE=MyISAM;
|
||||
INSERT INTO t2 (id) VALUES (123);
|
||||
INSERT INTO t2 (id) SELECT id FROM t2;
|
||||
INSERT INTO t2 (id) SELECT id FROM t2;
|
||||
INSERT INTO t2 (id) SELECT id FROM t2;
|
||||
INSERT INTO t2 (id) SELECT id FROM t2;
|
||||
INSERT INTO t2 (id) SELECT id FROM t2;
|
||||
INSERT INTO t2 (id) SELECT id FROM t2;
|
||||
INSERT INTO t2 (id) SELECT id FROM t2;
|
||||
INSERT INTO t2 (id) SELECT id FROM t2;
|
||||
INSERT INTO t2 (id) SELECT id FROM t2;
|
||||
INSERT INTO t2 (id) SELECT id FROM t2;
|
||||
# Switch to insert Connection
|
||||
SET SESSION debug='+d,wait_in_enable_indexes';
|
||||
# Send insert data
|
||||
|
||||
@@ -215,7 +215,7 @@ COMMIT/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
TRUNCATE TABLE t1
|
||||
BEGIN
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
@@ -223,6 +223,22 @@ SET TIMESTAMP=1000000000/*!*/;
|
||||
TRUNCATE TABLE t1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Xid = #
|
||||
COMMIT/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
BEGIN
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
TRUNCATE TABLE t1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Xid = #
|
||||
COMMIT/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
BEGIN
|
||||
@@ -331,9 +347,17 @@ COMMIT/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
BEGIN
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
TRUNCATE TABLE t1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Xid = #
|
||||
COMMIT/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
TRUNCATE TABLE t2
|
||||
@@ -449,9 +473,17 @@ ROLLBACK
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
BEGIN
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
TRUNCATE TABLE t1
|
||||
/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Xid = #
|
||||
COMMIT/*!*/;
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
TRUNCATE TABLE t2
|
||||
|
||||
@@ -1,3 +1,48 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
FLUSH TABLES;
|
||||
SELECT * FROM t1;
|
||||
ERROR 42000: Unknown table engine 'partition'
|
||||
TRUNCATE TABLE t1;
|
||||
ERROR 42000: Unknown table engine 'partition'
|
||||
ANALYZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze Error Unknown table engine 'partition'
|
||||
test.t1 analyze error Corrupt
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check Error Unknown table engine 'partition'
|
||||
test.t1 check error Corrupt
|
||||
OPTIMIZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize Error Unknown table engine 'partition'
|
||||
test.t1 optimize error Corrupt
|
||||
REPAIR TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair Error Unknown table engine 'partition'
|
||||
test.t1 repair error Corrupt
|
||||
ALTER TABLE t1 REPAIR PARTITION ALL;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair Error Unknown table engine 'partition'
|
||||
test.t1 repair error Corrupt
|
||||
ALTER TABLE t1 CHECK PARTITION ALL;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check Error Unknown table engine 'partition'
|
||||
test.t1 check error Corrupt
|
||||
ALTER TABLE t1 OPTIMIZE PARTITION ALL;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize Error Unknown table engine 'partition'
|
||||
test.t1 optimize error Corrupt
|
||||
ALTER TABLE t1 ANALYZE PARTITION ALL;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze Error Unknown table engine 'partition'
|
||||
test.t1 analyze error Corrupt
|
||||
ALTER TABLE t1 REBUILD PARTITION ALL;
|
||||
ERROR 42000: Unknown table engine 'partition'
|
||||
ALTER TABLE t1 ENGINE Memory;
|
||||
ERROR 42000: Unknown table engine 'partition'
|
||||
ALTER TABLE t1 ADD (new INT);
|
||||
ERROR 42000: Unknown table engine 'partition'
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
firstname VARCHAR(25) NOT NULL,
|
||||
lastname VARCHAR(25) NOT NULL,
|
||||
|
||||
@@ -1,4 +1,55 @@
|
||||
drop table if exists t1, t2;
|
||||
CREATE TABLE t1 (
|
||||
a int NOT NULL,
|
||||
b int NOT NULL);
|
||||
CREATE TABLE t2 (
|
||||
a int NOT NULL,
|
||||
b int NOT NULL,
|
||||
INDEX(b)
|
||||
)
|
||||
PARTITION BY HASH(a) PARTITIONS 2;
|
||||
INSERT INTO t1 VALUES (399, 22);
|
||||
INSERT INTO t2 VALUES (1, 22), (1, 42);
|
||||
INSERT INTO t2 SELECT 1, 399 FROM t2, t1
|
||||
WHERE t1.b = t2.b;
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE t1 (
|
||||
a timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
b varchar(10),
|
||||
PRIMARY KEY (a)
|
||||
)
|
||||
PARTITION BY RANGE (to_days(a)) (
|
||||
PARTITION p1 VALUES LESS THAN (733407),
|
||||
PARTITION pmax VALUES LESS THAN MAXVALUE
|
||||
);
|
||||
INSERT INTO t1 VALUES ('2007-07-30 17:35:48', 'p1');
|
||||
INSERT INTO t1 VALUES ('2009-07-14 17:35:55', 'pmax');
|
||||
INSERT INTO t1 VALUES ('2009-09-21 17:31:42', 'pmax');
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
2007-07-30 17:35:48 p1
|
||||
2009-07-14 17:35:55 pmax
|
||||
2009-09-21 17:31:42 pmax
|
||||
ALTER TABLE t1 REORGANIZE PARTITION pmax INTO (
|
||||
PARTITION p3 VALUES LESS THAN (733969),
|
||||
PARTITION pmax VALUES LESS THAN MAXVALUE);
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
2007-07-30 17:35:48 p1
|
||||
2009-07-14 17:35:55 pmax
|
||||
2009-09-21 17:31:42 pmax
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`b` varchar(10) DEFAULT NULL,
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY RANGE (to_days(a))
|
||||
(PARTITION p1 VALUES LESS THAN (733407) ENGINE = MyISAM,
|
||||
PARTITION p3 VALUES LESS THAN (733969) ENGINE = MyISAM,
|
||||
PARTITION pmax VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT, FOREIGN KEY (a) REFERENCES t0 (a))
|
||||
ENGINE=MyISAM
|
||||
PARTITION BY HASH (a);
|
||||
|
||||
93
mysql-test/r/partition_disabled.result
Normal file
93
mysql-test/r/partition_disabled.result
Normal file
@@ -0,0 +1,93 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
FLUSH TABLES;
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
TRUNCATE TABLE t1;
|
||||
ERROR HY000: The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
ANALYZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze Error The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
test.t1 analyze error Corrupt
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check Error The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
test.t1 check error Corrupt
|
||||
OPTIMIZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize Error The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
test.t1 optimize error Corrupt
|
||||
REPAIR TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair Error The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
test.t1 repair error Corrupt
|
||||
ALTER TABLE t1 REPAIR PARTITION ALL;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair Error The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
test.t1 repair error Corrupt
|
||||
ALTER TABLE t1 CHECK PARTITION ALL;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check Error The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
test.t1 check error Corrupt
|
||||
ALTER TABLE t1 OPTIMIZE PARTITION ALL;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize Error The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
test.t1 optimize error Corrupt
|
||||
ALTER TABLE t1 ANALYZE PARTITION ALL;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze Error The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
test.t1 analyze error Corrupt
|
||||
ALTER TABLE t1 REBUILD PARTITION ALL;
|
||||
ERROR HY000: The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
ALTER TABLE t1 ENGINE Memory;
|
||||
ERROR HY000: The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
ALTER TABLE t1 ADD (new INT);
|
||||
ERROR HY000: The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
firstname VARCHAR(25) NOT NULL,
|
||||
lastname VARCHAR(25) NOT NULL,
|
||||
username VARCHAR(16) NOT NULL,
|
||||
email VARCHAR(35),
|
||||
joined DATE NOT NULL
|
||||
)
|
||||
PARTITION BY KEY(joined)
|
||||
PARTITIONS 6;
|
||||
ERROR HY000: The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
ALTER TABLE t1 PARTITION BY KEY(joined) PARTITIONS 2;
|
||||
ERROR HY000: The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
drop table t1;
|
||||
ERROR 42S02: Unknown table 't1'
|
||||
CREATE TABLE t1 (
|
||||
firstname VARCHAR(25) NOT NULL,
|
||||
lastname VARCHAR(25) NOT NULL,
|
||||
username VARCHAR(16) NOT NULL,
|
||||
email VARCHAR(35),
|
||||
joined DATE NOT NULL
|
||||
)
|
||||
PARTITION BY RANGE( YEAR(joined) ) (
|
||||
PARTITION p0 VALUES LESS THAN (1960),
|
||||
PARTITION p1 VALUES LESS THAN (1970),
|
||||
PARTITION p2 VALUES LESS THAN (1980),
|
||||
PARTITION p3 VALUES LESS THAN (1990),
|
||||
PARTITION p4 VALUES LESS THAN MAXVALUE
|
||||
);
|
||||
ERROR HY000: The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
drop table t1;
|
||||
ERROR 42S02: Unknown table 't1'
|
||||
CREATE TABLE t1 (id INT, purchased DATE)
|
||||
PARTITION BY RANGE( YEAR(purchased) )
|
||||
SUBPARTITION BY HASH( TO_DAYS(purchased) )
|
||||
SUBPARTITIONS 2 (
|
||||
PARTITION p0 VALUES LESS THAN (1990),
|
||||
PARTITION p1 VALUES LESS THAN (2000),
|
||||
PARTITION p2 VALUES LESS THAN MAXVALUE
|
||||
);
|
||||
ERROR HY000: The MySQL server is running with the --skip-partition option so it cannot execute this statement
|
||||
drop table t1;
|
||||
ERROR 42S02: Unknown table 't1'
|
||||
create table t1 (a varchar(10) charset latin1 collate latin1_bin);
|
||||
insert into t1 values (''),(' '),('a'),('a '),('a ');
|
||||
explain partitions select * from t1 where a='a ' OR a='a';
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 5 Using where
|
||||
drop table t1;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -745,7 +745,7 @@ a
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1
|
||||
WHERE a >= '2004-07-01' AND a <= '2004-09-30';
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p407,p408,p409 ALL NULL NULL NULL NULL 9 Using where
|
||||
1 SIMPLE t1 p3xx,p407,p408,p409 ALL NULL NULL NULL NULL 18 Using where
|
||||
SELECT * from t1
|
||||
WHERE (a >= '2004-07-01' AND a <= '2004-09-30') OR
|
||||
(a >= '2005-07-01' AND a <= '2005-09-30');
|
||||
@@ -772,7 +772,7 @@ EXPLAIN PARTITIONS SELECT * from t1
|
||||
WHERE (a >= '2004-07-01' AND a <= '2004-09-30') OR
|
||||
(a >= '2005-07-01' AND a <= '2005-09-30');
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p407,p408,p409,p507,p508,p509 ALL NULL NULL NULL NULL 18 Using where
|
||||
1 SIMPLE t1 p3xx,p407,p408,p409,p507,p508,p509 ALL NULL NULL NULL NULL 27 Using where
|
||||
DROP TABLE t1;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
|
||||
@@ -75,7 +75,7 @@ SELECT 1 FROM (SELECT 1 as a) b WHERE 1 IN (SELECT (SELECT a));
|
||||
select (SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE(1));
|
||||
ERROR HY000: Incorrect usage of PROCEDURE and subquery
|
||||
SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));
|
||||
ERROR HY000: Incorrect parameters to procedure 'ANALYSE'
|
||||
ERROR HY000: Incorrect usage of PROCEDURE and subquery
|
||||
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;
|
||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
||||
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NOT NULL;
|
||||
@@ -4383,6 +4383,34 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 PRIMARY C ALL NULL NULL NULL NULL 20 100.00 Using where
|
||||
DROP TABLE C;
|
||||
# End of test for bug#45061.
|
||||
#
|
||||
# Bug #46749: Segfault in add_key_fields() with outer subquery level
|
||||
# field references
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
a int,
|
||||
b int,
|
||||
UNIQUE (a), KEY (b)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,1), (2,1);
|
||||
CREATE TABLE st1 like t1;
|
||||
INSERT INTO st1 VALUES (1,1), (2,1);
|
||||
CREATE TABLE st2 like t1;
|
||||
INSERT INTO st2 VALUES (1,1), (2,1);
|
||||
EXPLAIN
|
||||
SELECT MAX(b), (SELECT COUNT(*) FROM st1,st2 WHERE st2.b <= t1.b)
|
||||
FROM t1
|
||||
WHERE a = 230;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
2 DEPENDENT SUBQUERY st1 index NULL a 5 NULL 2 Using index
|
||||
2 DEPENDENT SUBQUERY st2 index b b 5 NULL 2 Using where; Using index; Using join buffer
|
||||
SELECT MAX(b), (SELECT COUNT(*) FROM st1,st2 WHERE st2.b <= t1.b)
|
||||
FROM t1
|
||||
WHERE a = 230;
|
||||
MAX(b) (SELECT COUNT(*) FROM st1,st2 WHERE st2.b <= t1.b)
|
||||
NULL 0
|
||||
DROP TABLE t1, st1, st2;
|
||||
End of 5.0 tests.
|
||||
CREATE TABLE t1 (a INT, b INT);
|
||||
INSERT INTO t1 VALUES (2,22),(1,11),(2,22);
|
||||
|
||||
22
mysql-test/r/table_elim_debug.result
Normal file
22
mysql-test/r/table_elim_debug.result
Normal file
@@ -0,0 +1,22 @@
|
||||
drop table if exists t1, t2;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (0),(1),(2),(3);
|
||||
create table t2 (a int primary key, b int)
|
||||
as select a, a as b from t1 where a in (1,2);
|
||||
explain select t1.a from t1 left join t2 on t2.a=t1.a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 4
|
||||
set optimizer_switch='table_elimination=off';
|
||||
explain select t1.a from t1 left join t2 on t2.a=t1.a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 4
|
||||
1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.a 1 Using index
|
||||
set optimizer_switch='table_elimination=on';
|
||||
explain select t1.a from t1 left join t2 on t2.a=t1.a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 4
|
||||
set optimizer_switch='table_elimination=default';
|
||||
explain select t1.a from t1 left join t2 on t2.a=t1.a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 4
|
||||
drop table t1, t2;
|
||||
@@ -1495,9 +1495,9 @@ CREATE TABLE t1 (a int DEFAULT NULL, b int DEFAULT NULL);
|
||||
INSERT INTO t1 VALUES (3,30), (1,10), (2,10);
|
||||
SELECT a+CAST(1 AS decimal(65,30)) AS aa, SUM(b) FROM t1 GROUP BY aa;
|
||||
aa SUM(b)
|
||||
2.000000000000000000000000000000 10
|
||||
3.000000000000000000000000000000 10
|
||||
4.000000000000000000000000000000 30
|
||||
2.00000000000000000000000000000 10
|
||||
3.00000000000000000000000000000 10
|
||||
4.00000000000000000000000000000 30
|
||||
SELECT a+CAST(1 AS decimal(65,31)) AS aa, SUM(b) FROM t1 GROUP BY aa;
|
||||
ERROR 42000: Too big scale 31 specified for column '1'. Maximum is 30.
|
||||
DROP TABLE t1;
|
||||
@@ -1521,13 +1521,13 @@ f1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT 123451234512345123451234512345123451234512345.678906789067890678906789067890678906789067890 AS f1;
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'f1' at row 1
|
||||
Note 1265 Data truncated for column 'f1' at row 1
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
f1 decimal(65,30) NO 0.000000000000000000000000000000
|
||||
f1 decimal(65,20) NO 0.00000000000000000000
|
||||
SELECT f1 FROM t1;
|
||||
f1
|
||||
99999999999999999999999999999999999.999999999999999999999999999999
|
||||
123451234512345123451234512345123451234512345.67890678906789067891
|
||||
DROP TABLE t1;
|
||||
select (1.20396873 * 0.89550000 * 0.68000000 * 1.08721696 * 0.99500000 *
|
||||
1.01500000 * 1.01500000 * 0.99500000);
|
||||
@@ -1595,7 +1595,7 @@ Warnings:
|
||||
Note 1265 Data truncated for column 'my_col' at row 1
|
||||
DESCRIBE t1;
|
||||
Field Type Null Key Default Extra
|
||||
my_col decimal(65,30) NO 0.000000000000000000000000000000
|
||||
my_col decimal(32,30) NO 0.000000000000000000000000000000
|
||||
SELECT my_col FROM t1;
|
||||
my_col
|
||||
1.123456789123456789123456789123
|
||||
@@ -1625,8 +1625,212 @@ Warnings:
|
||||
Note 1265 Data truncated for column 'my_col' at row 1
|
||||
DESCRIBE t1;
|
||||
Field Type Null Key Default Extra
|
||||
my_col decimal(65,30) YES NULL
|
||||
my_col decimal(30,30) YES NULL
|
||||
SELECT my_col FROM t1;
|
||||
my_col
|
||||
0.012345687012345687012345687012
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#45261: Crash, stored procedure + decimal
|
||||
#
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 SELECT
|
||||
/* 81 */ 100000000000000000000000000000000000000000000000000000000000000000000000000000001
|
||||
AS c1;
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c1' at row 1
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(65,0) NO 0
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
99999999999999999999999999999999999999999999999999999999999999999
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT
|
||||
/* 81 */ 100000000000000000000000000000000000000000000000000000000000000000000000000000001.
|
||||
AS c1;
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c1' at row 1
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(65,0) NO 0
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
99999999999999999999999999999999999999999999999999999999999999999
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT
|
||||
/* 81 */ 100000000000000000000000000000000000000000000000000000000000000000000000000000001.1 /* 1 */
|
||||
AS c1;
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c1' at row 1
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(65,0) NO 0
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
99999999999999999999999999999999999999999999999999999999999999999
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT
|
||||
/* 82 */ 1000000000000000000000000000000000000000000000000000000000000000000000000000000001
|
||||
AS c1;
|
||||
Warnings:
|
||||
Error 1292 Truncated incorrect DECIMAL value: ''
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(65,0) NO 0
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
99999999999999999999999999999999999999999999999999999999999999999
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT
|
||||
/* 40 */ 1000000000000000000000000000000000000001.1000000000000000000000000000000000000001 /* 40 */
|
||||
AS c1;
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(65,25) NO 0.0000000000000000000000000
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1000000000000000000000000000000000000001.1000000000000000000000000
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT
|
||||
/* 1 */ 1.10000000000000000000000000000000000000000000000000000000000000000000000000000001 /* 80 */
|
||||
AS c1;
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(31,30) NO 0.000000000000000000000000000000
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1.100000000000000000000000000000
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT
|
||||
/* 1 */ 1.100000000000000000000000000000000000000000000000000000000000000000000000000000001 /* 81 */
|
||||
AS c1;
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(31,30) NO 0.000000000000000000000000000000
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1.100000000000000000000000000000
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT
|
||||
.100000000000000000000000000000000000000000000000000000000000000000000000000000001 /* 81 */
|
||||
AS c1;
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(30,30) NO 0.000000000000000000000000000000
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
0.100000000000000000000000000000
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT
|
||||
/* 45 */ 123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345 /* 45 */
|
||||
AS c1;
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(65,20) NO 0.00000000000000000000
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
123456789012345678901234567890123456789012345.12345678901234567890
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT
|
||||
/* 65 */ 12345678901234567890123456789012345678901234567890123456789012345.1 /* 1 */
|
||||
AS c1;
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(65,0) NO 0
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
12345678901234567890123456789012345678901234567890123456789012345
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT
|
||||
/* 66 */ 123456789012345678901234567890123456789012345678901234567890123456.1 /* 1 */
|
||||
AS c1;
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'c1' at row 1
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(65,0) NO 0
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
99999999999999999999999999999999999999999999999999999999999999999
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT
|
||||
.123456789012345678901234567890123456789012345678901234567890123456 /* 66 */
|
||||
AS c1;
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(30,30) NO 0.000000000000000000000000000000
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
0.123456789012345678901234567890
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 AS SELECT 123.1234567890123456789012345678901 /* 31 */ AS c1;
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(33,30) NO 0.000000000000000000000000000000
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
123.123456789012345678901234567890
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 SELECT 1.1 + CAST(1 AS DECIMAL(65,30)) AS c1;
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(65,29) NO 0.00000000000000000000000000000
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
2.10000000000000000000000000000
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Test that the integer and decimal parts are properly calculated.
|
||||
#
|
||||
CREATE TABLE t1 (a DECIMAL(30,30));
|
||||
INSERT INTO t1 VALUES (0.1),(0.2),(0.3);
|
||||
CREATE TABLE t2 SELECT MIN(a + 0.0000000000000000000000000000001) AS c1 FROM t1;
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 3
|
||||
DESC t2;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(32,30) YES NULL
|
||||
DROP TABLE t1,t2;
|
||||
CREATE TABLE t1 (a DECIMAL(30,30));
|
||||
INSERT INTO t1 VALUES (0.1),(0.2),(0.3);
|
||||
CREATE TABLE t2 SELECT IFNULL(a + 0.0000000000000000000000000000001, NULL) AS c1 FROM t1;
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
Note 1265 Data truncated for column 'c1' at row 2
|
||||
Note 1265 Data truncated for column 'c1' at row 3
|
||||
DESC t2;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(32,30) YES NULL
|
||||
DROP TABLE t1,t2;
|
||||
CREATE TABLE t1 (a DECIMAL(30,30));
|
||||
INSERT INTO t1 VALUES (0.1),(0.2),(0.3);
|
||||
CREATE TABLE t2 SELECT CASE a WHEN 0.1 THEN 0.0000000000000000000000000000000000000000000000000000000000000000001 END AS c1 FROM t1;
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'c1' at row 1
|
||||
DESC t2;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(31,30) YES NULL
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# Test that variables get maximum precision.
|
||||
#
|
||||
SET @decimal= 1.1;
|
||||
CREATE TABLE t1 SELECT @decimal AS c1;
|
||||
DESC t1;
|
||||
Field Type Null Key Default Extra
|
||||
c1 decimal(65,30) YES NULL
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1.100000000000000000000000000000
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -3718,117 +3718,6 @@ DROP TABLE t1;
|
||||
|
||||
# -- End of test case for Bug#40825
|
||||
|
||||
#
|
||||
# Bug #45806 crash when replacing into a view with a join!
|
||||
#
|
||||
CREATE TABLE t1(a INT UNIQUE);
|
||||
CREATE VIEW v1 AS SELECT t1.a FROM t1, t1 AS a;
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
REPLACE INTO v1(a) SELECT 1 FROM t1,t1 AS c;
|
||||
SELECT * FROM v1;
|
||||
a
|
||||
1
|
||||
2
|
||||
1
|
||||
2
|
||||
REPLACE INTO v1(a) SELECT 3 FROM t1,t1 AS c;
|
||||
SELECT * FROM v1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
DELETE FROM t1 WHERE a=3;
|
||||
INSERT INTO v1(a) SELECT 1 FROM t1,t1 AS c
|
||||
ON DUPLICATE KEY UPDATE `v1`.`a`= 1;
|
||||
SELECT * FROM v1;
|
||||
a
|
||||
1
|
||||
2
|
||||
1
|
||||
2
|
||||
CREATE VIEW v2 AS SELECT t1.a FROM t1, v1 AS a;
|
||||
REPLACE INTO v2(a) SELECT 1 FROM t1,t1 AS c;
|
||||
SELECT * FROM v2;
|
||||
a
|
||||
1
|
||||
2
|
||||
1
|
||||
2
|
||||
1
|
||||
2
|
||||
1
|
||||
2
|
||||
REPLACE INTO v2(a) SELECT 3 FROM t1,t1 AS c;
|
||||
SELECT * FROM v2;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
INSERT INTO v2(a) SELECT 1 FROM t1,t1 AS c
|
||||
ON DUPLICATE KEY UPDATE `v2`.`a`= 1;
|
||||
SELECT * FROM v2;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
DROP VIEW v1;
|
||||
DROP VIEW v2;
|
||||
DROP TABLE t1;
|
||||
# -- End of test case for Bug#45806
|
||||
# -----------------------------------------------------------------
|
||||
# -- End of 5.0 tests.
|
||||
# -----------------------------------------------------------------
|
||||
|
||||
3
mysql-test/std_data/loaddata_utf8.dat
Normal file
3
mysql-test/std_data/loaddata_utf8.dat
Normal file
@@ -0,0 +1,3 @@
|
||||
一二三
|
||||
四五六
|
||||
七八九
|
||||
BIN
mysql-test/std_data/parts/t1.frm
Normal file
BIN
mysql-test/std_data/parts/t1.frm
Normal file
Binary file not shown.
@@ -379,7 +379,9 @@ master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; TRUNCATE table t2
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
@@ -838,8 +840,10 @@ UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Intvar # # INSERT_ID=6
|
||||
master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
select count(*) from t1 /* must be 4 */;
|
||||
count(*)
|
||||
4
|
||||
|
||||
@@ -17,5 +17,5 @@ master-bin.000001 # Query # # create database `drop-temp+table-test`
|
||||
master-bin.000001 # Query # # use `drop-temp+table-test`; create temporary table shortn1 (a int)
|
||||
master-bin.000001 # Query # # use `drop-temp+table-test`; create temporary table `table:name` (a int)
|
||||
master-bin.000001 # Query # # use `drop-temp+table-test`; create temporary table shortn2 (a int)
|
||||
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `drop-temp+table-test`.`shortn2`,`drop-temp+table-test`.`table:name`,`drop-temp+table-test`.`shortn1`
|
||||
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `shortn2`,`table:name`,`shortn1`
|
||||
drop database `drop-temp+table-test`;
|
||||
|
||||
@@ -258,7 +258,7 @@ master-bin.000001 # Query # # use `test`; create table t0 (n int)
|
||||
master-bin.000001 # Query # # use `test`; insert t0 select * from t1
|
||||
master-bin.000001 # Query # # use `test`; insert into t0 select GET_LOCK("lock1",null)
|
||||
master-bin.000001 # Query # # use `test`; create table t2 (n int) engine=innodb
|
||||
master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `test`.`t1`,`test`.`ti`
|
||||
master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t1`,`ti`
|
||||
do release_lock("lock1");
|
||||
drop table t0,t2;
|
||||
set autocommit=0;
|
||||
@@ -346,7 +346,9 @@ master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (3,3)
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t2
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4,4)
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; TRUNCATE table t2
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (5,5)
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t2
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (6,6)
|
||||
@@ -545,8 +547,10 @@ UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Intvar # # INSERT_ID=6
|
||||
master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
/* the output must denote there is the query */;
|
||||
select count(*) from t1 /* must be 4 */;
|
||||
count(*)
|
||||
@@ -782,8 +786,10 @@ UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Intvar # # INSERT_ID=6
|
||||
master-bin.000001 # Query # # use `test`; UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
select count(*) from t1 /* must be 4 */;
|
||||
count(*)
|
||||
4
|
||||
|
||||
@@ -9,4 +9,5 @@
|
||||
# Do not use any TAB characters for whitespace.
|
||||
#
|
||||
##############################################################################
|
||||
federated_transactions : Bug#29523 Transactions do not work
|
||||
federated_server : needs fixup
|
||||
|
||||
|
||||
@@ -47,9 +47,10 @@ CREATE TABLE federated.t1 (
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t3';
|
||||
SELECT * FROM federated.t1;
|
||||
ERROR HY000: The foreign data source you are trying to reference does not exist. Data source error: error: 1146 'Table 'federated.t3' doesn't exist'
|
||||
DROP TABLE federated.t1;
|
||||
ERROR HY000: Can't create federated table. Foreign data src error: database: 'federated' username: 'root' hostname: '127.0.0.1'
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1'
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`group` int NOT NULL default 0,
|
||||
@@ -59,9 +60,10 @@ CREATE TABLE federated.t1 (
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://user:pass@127.0.0.1:SLAVE_PORT/federated/t1';
|
||||
SELECT * FROM federated.t1;
|
||||
ERROR HY000: Unable to connect to foreign data source: Access denied for user 'user'@'localhost' (using password: YES)
|
||||
DROP TABLE federated.t1;
|
||||
ERROR HY000: Can't create federated table. Foreign data src error: database: 'federated' username: 'user' hostname: '127.0.0.1'
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1'
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`group` int NOT NULL default 0,
|
||||
@@ -1944,15 +1946,7 @@ Bug#18287 create federated table always times out, error 1159 ' '
|
||||
|
||||
Test that self-references work
|
||||
|
||||
create table federated.t1 (a int primary key);
|
||||
create table federated.t2 (a int primary key)
|
||||
ENGINE=FEDERATED
|
||||
connection='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1';
|
||||
insert into federated.t1 (a) values (1);
|
||||
select * from federated.t2;
|
||||
a
|
||||
1
|
||||
drop table federated.t1, federated.t2;
|
||||
fix LOCK_open before reenabling test for Bug#18287
|
||||
CREATE TABLE federated.t1 (a INT PRIMARY KEY) DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE federated.t1 (a INT PRIMARY KEY)
|
||||
ENGINE=FEDERATED
|
||||
@@ -1960,13 +1954,11 @@ CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1'
|
||||
DEFAULT CHARSET=utf8;
|
||||
SELECT transactions FROM information_schema.engines WHERE engine="FEDERATED";
|
||||
transactions
|
||||
NO
|
||||
YES
|
||||
INSERT INTO federated.t1 VALUES (1);
|
||||
SET autocommit=0;
|
||||
INSERT INTO federated.t1 VALUES (2);
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
SET autocommit=1;
|
||||
SELECT * FROM federated.t1;
|
||||
a
|
||||
@@ -2157,6 +2149,6 @@ End of 5.1 tests
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
|
||||
@@ -57,6 +57,7 @@ CREATE TABLE federated.t1 (
|
||||
|
||||
# test non-existant table
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
--error ER_CANT_CREATE_FEDERATED_TABLE
|
||||
eval CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`group` int NOT NULL default 0,
|
||||
@@ -66,12 +67,11 @@ eval CREATE TABLE federated.t1 (
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t3';
|
||||
--error ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST
|
||||
SELECT * FROM federated.t1;
|
||||
DROP TABLE federated.t1;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
|
||||
# test bad user/password
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
--error ER_CANT_CREATE_FEDERATED_TABLE
|
||||
eval CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`group` int NOT NULL default 0,
|
||||
@@ -81,9 +81,7 @@ eval CREATE TABLE federated.t1 (
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://user:pass@127.0.0.1:$SLAVE_MYPORT/federated/t1';
|
||||
--error ER_CONNECT_TO_FOREIGN_DATA_SOURCE
|
||||
SELECT * FROM federated.t1;
|
||||
DROP TABLE federated.t1;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
|
||||
# # correct connection, same named tables
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
@@ -1806,6 +1804,8 @@ drop table federated.t1;
|
||||
--echo
|
||||
--echo Test that self-references work
|
||||
--echo
|
||||
--echo fix LOCK_open before reenabling test for Bug#18287
|
||||
--disable_parsing
|
||||
connection slave;
|
||||
create table federated.t1 (a int primary key);
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
@@ -1815,7 +1815,7 @@ eval create table federated.t2 (a int primary key)
|
||||
insert into federated.t1 (a) values (1);
|
||||
select * from federated.t2;
|
||||
drop table federated.t1, federated.t2;
|
||||
|
||||
--enable_parsing
|
||||
#
|
||||
# BUG#29875 Disable support for transactions
|
||||
#
|
||||
|
||||
@@ -34,6 +34,6 @@ id name
|
||||
DROP TABLE federated.t1;
|
||||
DROP TABLE federated.archive_table;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
|
||||
@@ -25,6 +25,6 @@ foo bar
|
||||
DROP TABLE federated.t1;
|
||||
DROP TABLE federated.bug_13118_table;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
|
||||
@@ -48,6 +48,6 @@ SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT;
|
||||
DROP TABLE federated.t1;
|
||||
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
connection master;
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
|
||||
connection slave;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
--enable_warnings
|
||||
|
||||
@@ -20,6 +20,6 @@ a b
|
||||
drop table federated.t1;
|
||||
drop table federated.t1;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
|
||||
@@ -178,8 +178,8 @@ INSERT INTO db_bogus.t1 VALUES ('2','this is bogus');
|
||||
create server 's1' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
DATABASE 'db_legitimate',
|
||||
USER 'root',
|
||||
PASSWORD '',
|
||||
USER 'test_fed',
|
||||
PASSWORD 'foo',
|
||||
PORT SLAVE_PORT,
|
||||
SOCKET '',
|
||||
OWNER 'root');
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
# Slow test, don't run during staging part
|
||||
-- source include/not_staging.inc
|
||||
-- source include/big_test.inc
|
||||
-- source federated.inc
|
||||
|
||||
connection slave;
|
||||
@@ -182,13 +183,17 @@ CREATE TABLE db_bogus.t1 (
|
||||
;
|
||||
INSERT INTO db_bogus.t1 VALUES ('2','this is bogus');
|
||||
|
||||
connection slave;
|
||||
create user test_fed@localhost identified by 'foo';
|
||||
grant all on db_legitimate.* to test_fed@localhost;
|
||||
|
||||
connection master;
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval create server 's1' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
DATABASE 'db_legitimate',
|
||||
USER 'root',
|
||||
PASSWORD '',
|
||||
USER 'test_fed',
|
||||
PASSWORD 'foo',
|
||||
PORT $SLAVE_MYPORT,
|
||||
SOCKET '',
|
||||
OWNER 'root');
|
||||
|
||||
@@ -1,13 +1,4 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
stop slave;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
CREATE DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
CREATE DATABASE federated;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
Warnings:
|
||||
|
||||
@@ -2,7 +2,7 @@ SELECT * FROM information_schema.engines
|
||||
WHERE ENGINE = 'FEDERATED';
|
||||
ENGINE FEDERATED
|
||||
SUPPORT YES
|
||||
COMMENT Federated MySQL storage engine
|
||||
TRANSACTIONS NO
|
||||
COMMENT FederatedX pluggable storage engine
|
||||
TRANSACTIONS YES
|
||||
XA NO
|
||||
SAVEPOINTS NO
|
||||
SAVEPOINTS YES
|
||||
|
||||
@@ -152,6 +152,7 @@ ENGINE = MEMORY;
|
||||
--echo # Logging of <max_row> INSERTs into t0_template suppressed
|
||||
--disable_query_log
|
||||
let $num= `SELECT @max_row`;
|
||||
begin;
|
||||
while ($num)
|
||||
{
|
||||
eval INSERT INTO t0_template
|
||||
@@ -160,6 +161,7 @@ f_charbig = '===$num===';
|
||||
|
||||
dec $num;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
|
||||
# Auxiliary table used for comparisons of table definitions and file lists
|
||||
|
||||
@@ -32,11 +32,13 @@ delete from t2;
|
||||
let $count=$maxrows;
|
||||
--echo $maxrows inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values ($count);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
drop table t2;
|
||||
|
||||
@@ -22,13 +22,16 @@ show create table t2;
|
||||
let $count=26;
|
||||
let $letter=0;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values (repeat(char(ascii('a')+$letter),$count+54));
|
||||
dec $count;
|
||||
inc $letter;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
select hex(a) from t2;
|
||||
drop table t2;
|
||||
@@ -48,13 +51,16 @@ show create table t3;
|
||||
let $count=26;
|
||||
let $letter=0;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values (repeat(char(ascii('a')+$letter),$count+54));
|
||||
dec $count;
|
||||
inc $letter;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t3;
|
||||
select hex(a) from t3;
|
||||
drop table t3;
|
||||
@@ -73,14 +79,16 @@ show create table t4;
|
||||
let $count=26;
|
||||
let $letter=0;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values (repeat(char(ascii('a')+$letter),$count+54));
|
||||
dec $count;
|
||||
inc $letter;
|
||||
}
|
||||
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t4;
|
||||
select hex(a) from t4;
|
||||
drop table t4;
|
||||
|
||||
@@ -74,11 +74,13 @@ show create table t3;
|
||||
let $count=255;
|
||||
--echo $count inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values ($count);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select hex(a) from t3 where a=b'01010101';
|
||||
delete from t3 where a=b'01010101';
|
||||
@@ -96,11 +98,13 @@ show create table t4;
|
||||
let $count=32;
|
||||
--echo $count inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values ($count);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select hex(a) from t4 where a=b'00000001';
|
||||
delete from t4 where a=b'00000001';
|
||||
|
||||
@@ -21,13 +21,16 @@ show create table t2;
|
||||
let $count=26;
|
||||
let $letter=0;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values (repeat(char(ascii('a')+$letter),$count+54));
|
||||
dec $count;
|
||||
inc $letter;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
select * from t2;
|
||||
drop table t2;
|
||||
@@ -47,13 +50,16 @@ show create table t3;
|
||||
let $count=26;
|
||||
let $letter=0;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values (repeat(char(ascii('a')+$letter),$count+54));
|
||||
dec $count;
|
||||
inc $letter;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t3;
|
||||
select a from t3;
|
||||
drop table t3;
|
||||
@@ -71,13 +77,16 @@ show create table t4;
|
||||
let $count=26;
|
||||
let $letter=0;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values (repeat(char(ascii('a')+$letter),$count+54));
|
||||
dec $count;
|
||||
inc $letter;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t4;
|
||||
select a from t4;
|
||||
drop table t4;
|
||||
|
||||
@@ -23,7 +23,8 @@ select * from t2;
|
||||
delete from t2;
|
||||
let $count=28;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values (19700101+$count-1);
|
||||
@@ -31,7 +32,8 @@ eval insert into t2 values (19700201+$count-1);
|
||||
eval insert into t2 values (19700301+$count-1);
|
||||
dec $count;
|
||||
}
|
||||
#--enable_query_log
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
select * from t2;
|
||||
drop table t2;
|
||||
@@ -47,11 +49,15 @@ partition quarter4 values less than (13)
|
||||
show create table t3;
|
||||
let $count=12;
|
||||
--echo $count inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values (adddate(19700101,interval $count-1 month));
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t3;
|
||||
select * from t3;
|
||||
drop table t3;
|
||||
@@ -67,11 +73,15 @@ partition quarter4 values in (10,11,12)
|
||||
show create table t4;
|
||||
let $count=12;
|
||||
--echo $count inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values (adddate(19700101,interval $count-1 month));
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t4;
|
||||
select * from t4;
|
||||
drop table t4;
|
||||
|
||||
@@ -23,12 +23,15 @@ select * from t2;
|
||||
delete from t2;
|
||||
let $count=59;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values (19700101000000+$count);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
select * from t2;
|
||||
drop table t2;
|
||||
@@ -44,11 +47,15 @@ partition quarter4 values less than (13)
|
||||
show create table t3;
|
||||
let $count=12;
|
||||
--echo $count inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values (adddate(19700101000000,interval $count-1 month));
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t3;
|
||||
select * from t3;
|
||||
drop table t3;
|
||||
@@ -64,11 +71,15 @@ partition quarter4 values in (10,11,12)
|
||||
show create table t4;
|
||||
let $count=12;
|
||||
--echo $count inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values (adddate(19700101000000,interval $count-1 month));
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t4;
|
||||
select * from t4;
|
||||
drop table t4;
|
||||
|
||||
@@ -24,6 +24,7 @@ delete from t2;
|
||||
let $count=$maxrows;
|
||||
--echo $count*3 inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values ($count);
|
||||
@@ -31,6 +32,7 @@ eval insert into t2 values ($count+0.333333333);
|
||||
eval insert into t2 values ($count+0.755555555);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
drop table t2;
|
||||
@@ -53,6 +55,8 @@ partition pa10 values less than (10)
|
||||
show create table t3;
|
||||
let $count=9;
|
||||
--echo $count*3 inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values ($count);
|
||||
@@ -60,6 +64,7 @@ eval insert into t3 values ($count+0.333333333);
|
||||
eval insert into t3 values ($count+0.755555555);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t3;
|
||||
drop table t3;
|
||||
@@ -75,6 +80,8 @@ partition pa10 values in (9,10)
|
||||
show create table t4;
|
||||
let $count=9;
|
||||
--echo $count*3 inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values ($count);
|
||||
@@ -82,6 +89,7 @@ eval insert into t4 values ($count+0.333333333);
|
||||
eval insert into t4 values ($count+0.755555555);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t4;
|
||||
drop table t4;
|
||||
|
||||
@@ -24,6 +24,7 @@ delete from t2;
|
||||
let $count=$maxrows;
|
||||
--echo $maxrows*3 inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values ($count);
|
||||
@@ -31,6 +32,7 @@ eval insert into t2 values ($count+0.33);
|
||||
eval insert into t2 values ($count+0.75);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
drop table t2;
|
||||
@@ -52,6 +54,8 @@ partition pa10 values less than (10)
|
||||
show create table t3;
|
||||
let $count=9;
|
||||
--echo $count*3 inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values ($count);
|
||||
@@ -59,6 +63,8 @@ eval insert into t3 values ($count+0.33);
|
||||
eval insert into t3 values ($count+0.75);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t3;
|
||||
select * from t3;
|
||||
drop table t3;
|
||||
@@ -72,6 +78,8 @@ partition pa10 values in (7,8,9,10)
|
||||
show create table t4;
|
||||
let $count=9;
|
||||
--echo $count*3 inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values ($count);
|
||||
@@ -79,6 +87,8 @@ eval insert into t4 values ($count+0.33);
|
||||
eval insert into t4 values ($count+0.75);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t4;
|
||||
select * from t4;
|
||||
drop table t4;
|
||||
|
||||
@@ -26,12 +26,15 @@ partition by key (a) partitions 27;
|
||||
show create table t2;
|
||||
let $letter=26;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($letter)
|
||||
{
|
||||
eval insert into t2 values (char(ascii('A')+$letter));
|
||||
dec $letter;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
insert into t2 values ('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9'),('0');
|
||||
select count(*) from t2;
|
||||
select * from t2;
|
||||
@@ -55,12 +58,15 @@ partition pa36 values less than (37)
|
||||
show create table t3;
|
||||
let $letter=36;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($letter)
|
||||
{
|
||||
#eval insert into t3 values ($letter);
|
||||
dec $letter;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t3;
|
||||
select * from t3;
|
||||
drop table t3;
|
||||
|
||||
@@ -28,6 +28,7 @@ delete from t2;
|
||||
let $count=$maxrows;
|
||||
--echo $maxrows*3 inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values ($count);
|
||||
@@ -35,6 +36,7 @@ eval insert into t2 values ($count+0.33);
|
||||
eval insert into t2 values ($count+0.75);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
drop table t2;
|
||||
@@ -55,6 +57,8 @@ partition pa10 values less than (10)
|
||||
show create table t3;
|
||||
let $count=9;
|
||||
--echo $count*3 inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values ($count);
|
||||
@@ -62,6 +66,8 @@ eval insert into t3 values ($count+0.33);
|
||||
eval insert into t3 values ($count+0.75);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t3;
|
||||
select * from t3;
|
||||
drop table t3;
|
||||
@@ -75,6 +81,8 @@ partition pa10 values in (7,8,9,10)
|
||||
show create table t4;
|
||||
let $count=9;
|
||||
--echo $count*3 inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values ($count);
|
||||
@@ -82,6 +90,8 @@ eval insert into t4 values ($count+0.33);
|
||||
eval insert into t4 values ($count+0.75);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t4;
|
||||
select * from t4;
|
||||
drop table t4;
|
||||
|
||||
@@ -28,11 +28,13 @@ delete from t2;
|
||||
let $count=$maxrows;
|
||||
--echo $count inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values ($count);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
drop table t2;
|
||||
|
||||
@@ -28,11 +28,13 @@ delete from t2;
|
||||
let $count=$maxrows;
|
||||
--echo $maxrows inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values ($count);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
drop table t2;
|
||||
|
||||
@@ -28,11 +28,13 @@ delete from t2;
|
||||
let $count=$maxrows;
|
||||
--echo $count inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values ($count);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
drop table t2;
|
||||
|
||||
@@ -23,12 +23,15 @@ select * from t2;
|
||||
delete from t2;
|
||||
let $count=59;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values (000100+$count);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
select * from t2;
|
||||
drop table t2;
|
||||
@@ -44,11 +47,15 @@ partition quarter4 values less than (61)
|
||||
show create table t3;
|
||||
let $count=59;
|
||||
--echo $count inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values (100000+$count);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t3;
|
||||
select * from t3;
|
||||
drop table t3;
|
||||
@@ -64,11 +71,15 @@ partition quarter4 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
|
||||
show create table t4;
|
||||
let $count=59;
|
||||
--echo $count inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values (100000+$count);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t4;
|
||||
select * from t4;
|
||||
drop table t4;
|
||||
|
||||
@@ -23,12 +23,15 @@ select * from t2;
|
||||
delete from t2;
|
||||
let $count=59;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values (19710101000000+$count);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
select * from t2;
|
||||
drop table t2;
|
||||
@@ -44,11 +47,15 @@ partition quarter4 values less than (13)
|
||||
show create table t3;
|
||||
let $count=12;
|
||||
--echo $count inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values (date_add('1970-01-01 00:00:00',interval $count-1 month));
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t3;
|
||||
select * from t3;
|
||||
drop table t3;
|
||||
@@ -64,11 +71,15 @@ partition quarter4 values in (10,11,12)
|
||||
show create table t4;
|
||||
let $count=12;
|
||||
--echo $count inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values (date_add('1970-01-01 00:00:00',interval $count-1 month));
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t4;
|
||||
select * from t4;
|
||||
drop table t4;
|
||||
|
||||
@@ -28,11 +28,13 @@ delete from t2;
|
||||
let $count=255;
|
||||
--echo 255 inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values ($count);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
drop table t2;
|
||||
|
||||
@@ -21,13 +21,16 @@ show create table t2;
|
||||
let $count=26;
|
||||
let $letter=0;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values (repeat(char(ascii('a')+$letter),$count*$count));
|
||||
dec $count;
|
||||
inc $letter;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
select * from t2;
|
||||
drop table t2;
|
||||
@@ -47,13 +50,16 @@ show create table t3;
|
||||
let $count=26;
|
||||
let $letter=0;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values (repeat(char(ascii('a')+$letter),$count+54));
|
||||
dec $count;
|
||||
inc $letter;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t3;
|
||||
select hex(a) from t3;
|
||||
drop table t3;
|
||||
@@ -71,13 +77,16 @@ show create table t4;
|
||||
let $count=26;
|
||||
let $letter=0;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values (repeat(char(ascii('a')+$letter),$count+54));
|
||||
dec $count;
|
||||
inc $letter;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t4;
|
||||
select hex(a) from t4;
|
||||
drop table t4;
|
||||
|
||||
@@ -21,13 +21,16 @@ show create table t2;
|
||||
let $count=26;
|
||||
let $letter=0;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values (repeat(char(ascii('a')+$letter),$count*$count));
|
||||
dec $count;
|
||||
inc $letter;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
select * from t2;
|
||||
drop table t2;
|
||||
@@ -46,13 +49,16 @@ show create table t3;
|
||||
let $count=26;
|
||||
let $letter=0;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t3 values (repeat(char(ascii('a')+$letter),$count+54));
|
||||
dec $count;
|
||||
inc $letter;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t3;
|
||||
select * from t3;
|
||||
drop table t3;
|
||||
@@ -70,13 +76,16 @@ show create table t4;
|
||||
let $count=26;
|
||||
let $letter=0;
|
||||
--echo $count inserts;
|
||||
#--disable_query_log
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t4 values (repeat(char(ascii('a')+$letter),$count+54));
|
||||
dec $count;
|
||||
inc $letter;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t4;
|
||||
select * from t4;
|
||||
drop table t4;
|
||||
|
||||
@@ -24,11 +24,13 @@ delete from t2;
|
||||
let $count=255;
|
||||
--echo $count inserts;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
eval insert into t2 values (1901+$count);
|
||||
dec $count;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
select count(*) from t2;
|
||||
select * from t2;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -60,65 +60,6 @@ a
|
||||
2020-12-31 10:11:12
|
||||
delete from t2;
|
||||
59 inserts;
|
||||
insert into t2 values (19710101000000+59);
|
||||
insert into t2 values (19710101000000+58);
|
||||
insert into t2 values (19710101000000+57);
|
||||
insert into t2 values (19710101000000+56);
|
||||
insert into t2 values (19710101000000+55);
|
||||
insert into t2 values (19710101000000+54);
|
||||
insert into t2 values (19710101000000+53);
|
||||
insert into t2 values (19710101000000+52);
|
||||
insert into t2 values (19710101000000+51);
|
||||
insert into t2 values (19710101000000+50);
|
||||
insert into t2 values (19710101000000+49);
|
||||
insert into t2 values (19710101000000+48);
|
||||
insert into t2 values (19710101000000+47);
|
||||
insert into t2 values (19710101000000+46);
|
||||
insert into t2 values (19710101000000+45);
|
||||
insert into t2 values (19710101000000+44);
|
||||
insert into t2 values (19710101000000+43);
|
||||
insert into t2 values (19710101000000+42);
|
||||
insert into t2 values (19710101000000+41);
|
||||
insert into t2 values (19710101000000+40);
|
||||
insert into t2 values (19710101000000+39);
|
||||
insert into t2 values (19710101000000+38);
|
||||
insert into t2 values (19710101000000+37);
|
||||
insert into t2 values (19710101000000+36);
|
||||
insert into t2 values (19710101000000+35);
|
||||
insert into t2 values (19710101000000+34);
|
||||
insert into t2 values (19710101000000+33);
|
||||
insert into t2 values (19710101000000+32);
|
||||
insert into t2 values (19710101000000+31);
|
||||
insert into t2 values (19710101000000+30);
|
||||
insert into t2 values (19710101000000+29);
|
||||
insert into t2 values (19710101000000+28);
|
||||
insert into t2 values (19710101000000+27);
|
||||
insert into t2 values (19710101000000+26);
|
||||
insert into t2 values (19710101000000+25);
|
||||
insert into t2 values (19710101000000+24);
|
||||
insert into t2 values (19710101000000+23);
|
||||
insert into t2 values (19710101000000+22);
|
||||
insert into t2 values (19710101000000+21);
|
||||
insert into t2 values (19710101000000+20);
|
||||
insert into t2 values (19710101000000+19);
|
||||
insert into t2 values (19710101000000+18);
|
||||
insert into t2 values (19710101000000+17);
|
||||
insert into t2 values (19710101000000+16);
|
||||
insert into t2 values (19710101000000+15);
|
||||
insert into t2 values (19710101000000+14);
|
||||
insert into t2 values (19710101000000+13);
|
||||
insert into t2 values (19710101000000+12);
|
||||
insert into t2 values (19710101000000+11);
|
||||
insert into t2 values (19710101000000+10);
|
||||
insert into t2 values (19710101000000+9);
|
||||
insert into t2 values (19710101000000+8);
|
||||
insert into t2 values (19710101000000+7);
|
||||
insert into t2 values (19710101000000+6);
|
||||
insert into t2 values (19710101000000+5);
|
||||
insert into t2 values (19710101000000+4);
|
||||
insert into t2 values (19710101000000+3);
|
||||
insert into t2 values (19710101000000+2);
|
||||
insert into t2 values (19710101000000+1);
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
59
|
||||
@@ -206,18 +147,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB,
|
||||
PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */
|
||||
12 inserts;
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 12-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 11-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 10-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 9-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 8-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 7-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 6-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 5-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 4-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 3-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 2-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 1-1 month));
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'a' at row 1
|
||||
select count(*) from t3;
|
||||
@@ -260,18 +189,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB,
|
||||
PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */
|
||||
12 inserts;
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 12-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 11-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 10-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 9-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 8-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 7-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 6-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 5-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 4-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 3-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 2-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 1-1 month));
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'a' at row 1
|
||||
select count(*) from t4;
|
||||
@@ -354,90 +271,6 @@ a
|
||||
2020-12-31
|
||||
delete from t2;
|
||||
28 inserts;
|
||||
insert into t2 values (19700101+28-1);
|
||||
insert into t2 values (19700201+28-1);
|
||||
insert into t2 values (19700301+28-1);
|
||||
insert into t2 values (19700101+27-1);
|
||||
insert into t2 values (19700201+27-1);
|
||||
insert into t2 values (19700301+27-1);
|
||||
insert into t2 values (19700101+26-1);
|
||||
insert into t2 values (19700201+26-1);
|
||||
insert into t2 values (19700301+26-1);
|
||||
insert into t2 values (19700101+25-1);
|
||||
insert into t2 values (19700201+25-1);
|
||||
insert into t2 values (19700301+25-1);
|
||||
insert into t2 values (19700101+24-1);
|
||||
insert into t2 values (19700201+24-1);
|
||||
insert into t2 values (19700301+24-1);
|
||||
insert into t2 values (19700101+23-1);
|
||||
insert into t2 values (19700201+23-1);
|
||||
insert into t2 values (19700301+23-1);
|
||||
insert into t2 values (19700101+22-1);
|
||||
insert into t2 values (19700201+22-1);
|
||||
insert into t2 values (19700301+22-1);
|
||||
insert into t2 values (19700101+21-1);
|
||||
insert into t2 values (19700201+21-1);
|
||||
insert into t2 values (19700301+21-1);
|
||||
insert into t2 values (19700101+20-1);
|
||||
insert into t2 values (19700201+20-1);
|
||||
insert into t2 values (19700301+20-1);
|
||||
insert into t2 values (19700101+19-1);
|
||||
insert into t2 values (19700201+19-1);
|
||||
insert into t2 values (19700301+19-1);
|
||||
insert into t2 values (19700101+18-1);
|
||||
insert into t2 values (19700201+18-1);
|
||||
insert into t2 values (19700301+18-1);
|
||||
insert into t2 values (19700101+17-1);
|
||||
insert into t2 values (19700201+17-1);
|
||||
insert into t2 values (19700301+17-1);
|
||||
insert into t2 values (19700101+16-1);
|
||||
insert into t2 values (19700201+16-1);
|
||||
insert into t2 values (19700301+16-1);
|
||||
insert into t2 values (19700101+15-1);
|
||||
insert into t2 values (19700201+15-1);
|
||||
insert into t2 values (19700301+15-1);
|
||||
insert into t2 values (19700101+14-1);
|
||||
insert into t2 values (19700201+14-1);
|
||||
insert into t2 values (19700301+14-1);
|
||||
insert into t2 values (19700101+13-1);
|
||||
insert into t2 values (19700201+13-1);
|
||||
insert into t2 values (19700301+13-1);
|
||||
insert into t2 values (19700101+12-1);
|
||||
insert into t2 values (19700201+12-1);
|
||||
insert into t2 values (19700301+12-1);
|
||||
insert into t2 values (19700101+11-1);
|
||||
insert into t2 values (19700201+11-1);
|
||||
insert into t2 values (19700301+11-1);
|
||||
insert into t2 values (19700101+10-1);
|
||||
insert into t2 values (19700201+10-1);
|
||||
insert into t2 values (19700301+10-1);
|
||||
insert into t2 values (19700101+9-1);
|
||||
insert into t2 values (19700201+9-1);
|
||||
insert into t2 values (19700301+9-1);
|
||||
insert into t2 values (19700101+8-1);
|
||||
insert into t2 values (19700201+8-1);
|
||||
insert into t2 values (19700301+8-1);
|
||||
insert into t2 values (19700101+7-1);
|
||||
insert into t2 values (19700201+7-1);
|
||||
insert into t2 values (19700301+7-1);
|
||||
insert into t2 values (19700101+6-1);
|
||||
insert into t2 values (19700201+6-1);
|
||||
insert into t2 values (19700301+6-1);
|
||||
insert into t2 values (19700101+5-1);
|
||||
insert into t2 values (19700201+5-1);
|
||||
insert into t2 values (19700301+5-1);
|
||||
insert into t2 values (19700101+4-1);
|
||||
insert into t2 values (19700201+4-1);
|
||||
insert into t2 values (19700301+4-1);
|
||||
insert into t2 values (19700101+3-1);
|
||||
insert into t2 values (19700201+3-1);
|
||||
insert into t2 values (19700301+3-1);
|
||||
insert into t2 values (19700101+2-1);
|
||||
insert into t2 values (19700201+2-1);
|
||||
insert into t2 values (19700301+2-1);
|
||||
insert into t2 values (19700101+1-1);
|
||||
insert into t2 values (19700201+1-1);
|
||||
insert into t2 values (19700301+1-1);
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
84
|
||||
@@ -550,18 +383,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB,
|
||||
PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */
|
||||
12 inserts;
|
||||
insert into t3 values (adddate(19700101,interval 12-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 11-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 10-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 9-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 8-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 7-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 6-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 5-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 4-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 3-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 2-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 1-1 month));
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
12
|
||||
@@ -602,18 +423,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB,
|
||||
PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */
|
||||
12 inserts;
|
||||
insert into t4 values (adddate(19700101,interval 12-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 11-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 10-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 9-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 8-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 7-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 6-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 5-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 4-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 3-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 2-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 1-1 month));
|
||||
select count(*) from t4;
|
||||
count(*)
|
||||
12
|
||||
@@ -694,65 +503,6 @@ a
|
||||
14:15:16
|
||||
delete from t2;
|
||||
59 inserts;
|
||||
insert into t2 values (000100+59);
|
||||
insert into t2 values (000100+58);
|
||||
insert into t2 values (000100+57);
|
||||
insert into t2 values (000100+56);
|
||||
insert into t2 values (000100+55);
|
||||
insert into t2 values (000100+54);
|
||||
insert into t2 values (000100+53);
|
||||
insert into t2 values (000100+52);
|
||||
insert into t2 values (000100+51);
|
||||
insert into t2 values (000100+50);
|
||||
insert into t2 values (000100+49);
|
||||
insert into t2 values (000100+48);
|
||||
insert into t2 values (000100+47);
|
||||
insert into t2 values (000100+46);
|
||||
insert into t2 values (000100+45);
|
||||
insert into t2 values (000100+44);
|
||||
insert into t2 values (000100+43);
|
||||
insert into t2 values (000100+42);
|
||||
insert into t2 values (000100+41);
|
||||
insert into t2 values (000100+40);
|
||||
insert into t2 values (000100+39);
|
||||
insert into t2 values (000100+38);
|
||||
insert into t2 values (000100+37);
|
||||
insert into t2 values (000100+36);
|
||||
insert into t2 values (000100+35);
|
||||
insert into t2 values (000100+34);
|
||||
insert into t2 values (000100+33);
|
||||
insert into t2 values (000100+32);
|
||||
insert into t2 values (000100+31);
|
||||
insert into t2 values (000100+30);
|
||||
insert into t2 values (000100+29);
|
||||
insert into t2 values (000100+28);
|
||||
insert into t2 values (000100+27);
|
||||
insert into t2 values (000100+26);
|
||||
insert into t2 values (000100+25);
|
||||
insert into t2 values (000100+24);
|
||||
insert into t2 values (000100+23);
|
||||
insert into t2 values (000100+22);
|
||||
insert into t2 values (000100+21);
|
||||
insert into t2 values (000100+20);
|
||||
insert into t2 values (000100+19);
|
||||
insert into t2 values (000100+18);
|
||||
insert into t2 values (000100+17);
|
||||
insert into t2 values (000100+16);
|
||||
insert into t2 values (000100+15);
|
||||
insert into t2 values (000100+14);
|
||||
insert into t2 values (000100+13);
|
||||
insert into t2 values (000100+12);
|
||||
insert into t2 values (000100+11);
|
||||
insert into t2 values (000100+10);
|
||||
insert into t2 values (000100+9);
|
||||
insert into t2 values (000100+8);
|
||||
insert into t2 values (000100+7);
|
||||
insert into t2 values (000100+6);
|
||||
insert into t2 values (000100+5);
|
||||
insert into t2 values (000100+4);
|
||||
insert into t2 values (000100+3);
|
||||
insert into t2 values (000100+2);
|
||||
insert into t2 values (000100+1);
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
59
|
||||
@@ -840,65 +590,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES LESS THAN (46) ENGINE = InnoDB,
|
||||
PARTITION quarter4 VALUES LESS THAN (61) ENGINE = InnoDB) */
|
||||
59 inserts;
|
||||
insert into t3 values (100000+59);
|
||||
insert into t3 values (100000+58);
|
||||
insert into t3 values (100000+57);
|
||||
insert into t3 values (100000+56);
|
||||
insert into t3 values (100000+55);
|
||||
insert into t3 values (100000+54);
|
||||
insert into t3 values (100000+53);
|
||||
insert into t3 values (100000+52);
|
||||
insert into t3 values (100000+51);
|
||||
insert into t3 values (100000+50);
|
||||
insert into t3 values (100000+49);
|
||||
insert into t3 values (100000+48);
|
||||
insert into t3 values (100000+47);
|
||||
insert into t3 values (100000+46);
|
||||
insert into t3 values (100000+45);
|
||||
insert into t3 values (100000+44);
|
||||
insert into t3 values (100000+43);
|
||||
insert into t3 values (100000+42);
|
||||
insert into t3 values (100000+41);
|
||||
insert into t3 values (100000+40);
|
||||
insert into t3 values (100000+39);
|
||||
insert into t3 values (100000+38);
|
||||
insert into t3 values (100000+37);
|
||||
insert into t3 values (100000+36);
|
||||
insert into t3 values (100000+35);
|
||||
insert into t3 values (100000+34);
|
||||
insert into t3 values (100000+33);
|
||||
insert into t3 values (100000+32);
|
||||
insert into t3 values (100000+31);
|
||||
insert into t3 values (100000+30);
|
||||
insert into t3 values (100000+29);
|
||||
insert into t3 values (100000+28);
|
||||
insert into t3 values (100000+27);
|
||||
insert into t3 values (100000+26);
|
||||
insert into t3 values (100000+25);
|
||||
insert into t3 values (100000+24);
|
||||
insert into t3 values (100000+23);
|
||||
insert into t3 values (100000+22);
|
||||
insert into t3 values (100000+21);
|
||||
insert into t3 values (100000+20);
|
||||
insert into t3 values (100000+19);
|
||||
insert into t3 values (100000+18);
|
||||
insert into t3 values (100000+17);
|
||||
insert into t3 values (100000+16);
|
||||
insert into t3 values (100000+15);
|
||||
insert into t3 values (100000+14);
|
||||
insert into t3 values (100000+13);
|
||||
insert into t3 values (100000+12);
|
||||
insert into t3 values (100000+11);
|
||||
insert into t3 values (100000+10);
|
||||
insert into t3 values (100000+9);
|
||||
insert into t3 values (100000+8);
|
||||
insert into t3 values (100000+7);
|
||||
insert into t3 values (100000+6);
|
||||
insert into t3 values (100000+5);
|
||||
insert into t3 values (100000+4);
|
||||
insert into t3 values (100000+3);
|
||||
insert into t3 values (100000+2);
|
||||
insert into t3 values (100000+1);
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
59
|
||||
@@ -986,65 +677,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45) ENGINE = InnoDB,
|
||||
PARTITION quarter4 VALUES IN (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
|
||||
59 inserts;
|
||||
insert into t4 values (100000+59);
|
||||
insert into t4 values (100000+58);
|
||||
insert into t4 values (100000+57);
|
||||
insert into t4 values (100000+56);
|
||||
insert into t4 values (100000+55);
|
||||
insert into t4 values (100000+54);
|
||||
insert into t4 values (100000+53);
|
||||
insert into t4 values (100000+52);
|
||||
insert into t4 values (100000+51);
|
||||
insert into t4 values (100000+50);
|
||||
insert into t4 values (100000+49);
|
||||
insert into t4 values (100000+48);
|
||||
insert into t4 values (100000+47);
|
||||
insert into t4 values (100000+46);
|
||||
insert into t4 values (100000+45);
|
||||
insert into t4 values (100000+44);
|
||||
insert into t4 values (100000+43);
|
||||
insert into t4 values (100000+42);
|
||||
insert into t4 values (100000+41);
|
||||
insert into t4 values (100000+40);
|
||||
insert into t4 values (100000+39);
|
||||
insert into t4 values (100000+38);
|
||||
insert into t4 values (100000+37);
|
||||
insert into t4 values (100000+36);
|
||||
insert into t4 values (100000+35);
|
||||
insert into t4 values (100000+34);
|
||||
insert into t4 values (100000+33);
|
||||
insert into t4 values (100000+32);
|
||||
insert into t4 values (100000+31);
|
||||
insert into t4 values (100000+30);
|
||||
insert into t4 values (100000+29);
|
||||
insert into t4 values (100000+28);
|
||||
insert into t4 values (100000+27);
|
||||
insert into t4 values (100000+26);
|
||||
insert into t4 values (100000+25);
|
||||
insert into t4 values (100000+24);
|
||||
insert into t4 values (100000+23);
|
||||
insert into t4 values (100000+22);
|
||||
insert into t4 values (100000+21);
|
||||
insert into t4 values (100000+20);
|
||||
insert into t4 values (100000+19);
|
||||
insert into t4 values (100000+18);
|
||||
insert into t4 values (100000+17);
|
||||
insert into t4 values (100000+16);
|
||||
insert into t4 values (100000+15);
|
||||
insert into t4 values (100000+14);
|
||||
insert into t4 values (100000+13);
|
||||
insert into t4 values (100000+12);
|
||||
insert into t4 values (100000+11);
|
||||
insert into t4 values (100000+10);
|
||||
insert into t4 values (100000+9);
|
||||
insert into t4 values (100000+8);
|
||||
insert into t4 values (100000+7);
|
||||
insert into t4 values (100000+6);
|
||||
insert into t4 values (100000+5);
|
||||
insert into t4 values (100000+4);
|
||||
insert into t4 values (100000+3);
|
||||
insert into t4 values (100000+2);
|
||||
insert into t4 values (100000+1);
|
||||
select count(*) from t4;
|
||||
count(*)
|
||||
59
|
||||
@@ -1172,65 +804,6 @@ a
|
||||
2020-12-31 10:11:12
|
||||
delete from t2;
|
||||
59 inserts;
|
||||
insert into t2 values (19700101000000+59);
|
||||
insert into t2 values (19700101000000+58);
|
||||
insert into t2 values (19700101000000+57);
|
||||
insert into t2 values (19700101000000+56);
|
||||
insert into t2 values (19700101000000+55);
|
||||
insert into t2 values (19700101000000+54);
|
||||
insert into t2 values (19700101000000+53);
|
||||
insert into t2 values (19700101000000+52);
|
||||
insert into t2 values (19700101000000+51);
|
||||
insert into t2 values (19700101000000+50);
|
||||
insert into t2 values (19700101000000+49);
|
||||
insert into t2 values (19700101000000+48);
|
||||
insert into t2 values (19700101000000+47);
|
||||
insert into t2 values (19700101000000+46);
|
||||
insert into t2 values (19700101000000+45);
|
||||
insert into t2 values (19700101000000+44);
|
||||
insert into t2 values (19700101000000+43);
|
||||
insert into t2 values (19700101000000+42);
|
||||
insert into t2 values (19700101000000+41);
|
||||
insert into t2 values (19700101000000+40);
|
||||
insert into t2 values (19700101000000+39);
|
||||
insert into t2 values (19700101000000+38);
|
||||
insert into t2 values (19700101000000+37);
|
||||
insert into t2 values (19700101000000+36);
|
||||
insert into t2 values (19700101000000+35);
|
||||
insert into t2 values (19700101000000+34);
|
||||
insert into t2 values (19700101000000+33);
|
||||
insert into t2 values (19700101000000+32);
|
||||
insert into t2 values (19700101000000+31);
|
||||
insert into t2 values (19700101000000+30);
|
||||
insert into t2 values (19700101000000+29);
|
||||
insert into t2 values (19700101000000+28);
|
||||
insert into t2 values (19700101000000+27);
|
||||
insert into t2 values (19700101000000+26);
|
||||
insert into t2 values (19700101000000+25);
|
||||
insert into t2 values (19700101000000+24);
|
||||
insert into t2 values (19700101000000+23);
|
||||
insert into t2 values (19700101000000+22);
|
||||
insert into t2 values (19700101000000+21);
|
||||
insert into t2 values (19700101000000+20);
|
||||
insert into t2 values (19700101000000+19);
|
||||
insert into t2 values (19700101000000+18);
|
||||
insert into t2 values (19700101000000+17);
|
||||
insert into t2 values (19700101000000+16);
|
||||
insert into t2 values (19700101000000+15);
|
||||
insert into t2 values (19700101000000+14);
|
||||
insert into t2 values (19700101000000+13);
|
||||
insert into t2 values (19700101000000+12);
|
||||
insert into t2 values (19700101000000+11);
|
||||
insert into t2 values (19700101000000+10);
|
||||
insert into t2 values (19700101000000+9);
|
||||
insert into t2 values (19700101000000+8);
|
||||
insert into t2 values (19700101000000+7);
|
||||
insert into t2 values (19700101000000+6);
|
||||
insert into t2 values (19700101000000+5);
|
||||
insert into t2 values (19700101000000+4);
|
||||
insert into t2 values (19700101000000+3);
|
||||
insert into t2 values (19700101000000+2);
|
||||
insert into t2 values (19700101000000+1);
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
59
|
||||
@@ -1318,18 +891,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES LESS THAN (10) ENGINE = InnoDB,
|
||||
PARTITION quarter4 VALUES LESS THAN (13) ENGINE = InnoDB) */
|
||||
12 inserts;
|
||||
insert into t3 values (adddate(19700101000000,interval 12-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 11-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 10-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 9-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 8-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 7-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 6-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 5-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 4-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 3-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 2-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 1-1 month));
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
12
|
||||
@@ -1370,18 +931,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES IN (7,8,9) ENGINE = InnoDB,
|
||||
PARTITION quarter4 VALUES IN (10,11,12) ENGINE = InnoDB) */
|
||||
12 inserts;
|
||||
insert into t4 values (adddate(19700101000000,interval 12-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 11-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 10-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 9-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 8-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 7-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 6-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 5-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 4-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 3-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 2-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 1-1 month));
|
||||
select count(*) from t4;
|
||||
count(*)
|
||||
12
|
||||
|
||||
@@ -60,65 +60,6 @@ a
|
||||
2020-12-31 10:11:12
|
||||
delete from t2;
|
||||
59 inserts;
|
||||
insert into t2 values (19710101000000+59);
|
||||
insert into t2 values (19710101000000+58);
|
||||
insert into t2 values (19710101000000+57);
|
||||
insert into t2 values (19710101000000+56);
|
||||
insert into t2 values (19710101000000+55);
|
||||
insert into t2 values (19710101000000+54);
|
||||
insert into t2 values (19710101000000+53);
|
||||
insert into t2 values (19710101000000+52);
|
||||
insert into t2 values (19710101000000+51);
|
||||
insert into t2 values (19710101000000+50);
|
||||
insert into t2 values (19710101000000+49);
|
||||
insert into t2 values (19710101000000+48);
|
||||
insert into t2 values (19710101000000+47);
|
||||
insert into t2 values (19710101000000+46);
|
||||
insert into t2 values (19710101000000+45);
|
||||
insert into t2 values (19710101000000+44);
|
||||
insert into t2 values (19710101000000+43);
|
||||
insert into t2 values (19710101000000+42);
|
||||
insert into t2 values (19710101000000+41);
|
||||
insert into t2 values (19710101000000+40);
|
||||
insert into t2 values (19710101000000+39);
|
||||
insert into t2 values (19710101000000+38);
|
||||
insert into t2 values (19710101000000+37);
|
||||
insert into t2 values (19710101000000+36);
|
||||
insert into t2 values (19710101000000+35);
|
||||
insert into t2 values (19710101000000+34);
|
||||
insert into t2 values (19710101000000+33);
|
||||
insert into t2 values (19710101000000+32);
|
||||
insert into t2 values (19710101000000+31);
|
||||
insert into t2 values (19710101000000+30);
|
||||
insert into t2 values (19710101000000+29);
|
||||
insert into t2 values (19710101000000+28);
|
||||
insert into t2 values (19710101000000+27);
|
||||
insert into t2 values (19710101000000+26);
|
||||
insert into t2 values (19710101000000+25);
|
||||
insert into t2 values (19710101000000+24);
|
||||
insert into t2 values (19710101000000+23);
|
||||
insert into t2 values (19710101000000+22);
|
||||
insert into t2 values (19710101000000+21);
|
||||
insert into t2 values (19710101000000+20);
|
||||
insert into t2 values (19710101000000+19);
|
||||
insert into t2 values (19710101000000+18);
|
||||
insert into t2 values (19710101000000+17);
|
||||
insert into t2 values (19710101000000+16);
|
||||
insert into t2 values (19710101000000+15);
|
||||
insert into t2 values (19710101000000+14);
|
||||
insert into t2 values (19710101000000+13);
|
||||
insert into t2 values (19710101000000+12);
|
||||
insert into t2 values (19710101000000+11);
|
||||
insert into t2 values (19710101000000+10);
|
||||
insert into t2 values (19710101000000+9);
|
||||
insert into t2 values (19710101000000+8);
|
||||
insert into t2 values (19710101000000+7);
|
||||
insert into t2 values (19710101000000+6);
|
||||
insert into t2 values (19710101000000+5);
|
||||
insert into t2 values (19710101000000+4);
|
||||
insert into t2 values (19710101000000+3);
|
||||
insert into t2 values (19710101000000+2);
|
||||
insert into t2 values (19710101000000+1);
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
59
|
||||
@@ -206,18 +147,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM,
|
||||
PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */
|
||||
12 inserts;
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 12-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 11-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 10-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 9-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 8-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 7-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 6-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 5-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 4-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 3-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 2-1 month));
|
||||
insert into t3 values (date_add('1970-01-01 00:00:00',interval 1-1 month));
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'a' at row 1
|
||||
select count(*) from t3;
|
||||
@@ -260,18 +189,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM,
|
||||
PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */
|
||||
12 inserts;
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 12-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 11-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 10-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 9-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 8-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 7-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 6-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 5-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 4-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 3-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 2-1 month));
|
||||
insert into t4 values (date_add('1970-01-01 00:00:00',interval 1-1 month));
|
||||
Warnings:
|
||||
Warning 1264 Out of range value for column 'a' at row 1
|
||||
select count(*) from t4;
|
||||
@@ -354,90 +271,6 @@ a
|
||||
2020-12-31
|
||||
delete from t2;
|
||||
28 inserts;
|
||||
insert into t2 values (19700101+28-1);
|
||||
insert into t2 values (19700201+28-1);
|
||||
insert into t2 values (19700301+28-1);
|
||||
insert into t2 values (19700101+27-1);
|
||||
insert into t2 values (19700201+27-1);
|
||||
insert into t2 values (19700301+27-1);
|
||||
insert into t2 values (19700101+26-1);
|
||||
insert into t2 values (19700201+26-1);
|
||||
insert into t2 values (19700301+26-1);
|
||||
insert into t2 values (19700101+25-1);
|
||||
insert into t2 values (19700201+25-1);
|
||||
insert into t2 values (19700301+25-1);
|
||||
insert into t2 values (19700101+24-1);
|
||||
insert into t2 values (19700201+24-1);
|
||||
insert into t2 values (19700301+24-1);
|
||||
insert into t2 values (19700101+23-1);
|
||||
insert into t2 values (19700201+23-1);
|
||||
insert into t2 values (19700301+23-1);
|
||||
insert into t2 values (19700101+22-1);
|
||||
insert into t2 values (19700201+22-1);
|
||||
insert into t2 values (19700301+22-1);
|
||||
insert into t2 values (19700101+21-1);
|
||||
insert into t2 values (19700201+21-1);
|
||||
insert into t2 values (19700301+21-1);
|
||||
insert into t2 values (19700101+20-1);
|
||||
insert into t2 values (19700201+20-1);
|
||||
insert into t2 values (19700301+20-1);
|
||||
insert into t2 values (19700101+19-1);
|
||||
insert into t2 values (19700201+19-1);
|
||||
insert into t2 values (19700301+19-1);
|
||||
insert into t2 values (19700101+18-1);
|
||||
insert into t2 values (19700201+18-1);
|
||||
insert into t2 values (19700301+18-1);
|
||||
insert into t2 values (19700101+17-1);
|
||||
insert into t2 values (19700201+17-1);
|
||||
insert into t2 values (19700301+17-1);
|
||||
insert into t2 values (19700101+16-1);
|
||||
insert into t2 values (19700201+16-1);
|
||||
insert into t2 values (19700301+16-1);
|
||||
insert into t2 values (19700101+15-1);
|
||||
insert into t2 values (19700201+15-1);
|
||||
insert into t2 values (19700301+15-1);
|
||||
insert into t2 values (19700101+14-1);
|
||||
insert into t2 values (19700201+14-1);
|
||||
insert into t2 values (19700301+14-1);
|
||||
insert into t2 values (19700101+13-1);
|
||||
insert into t2 values (19700201+13-1);
|
||||
insert into t2 values (19700301+13-1);
|
||||
insert into t2 values (19700101+12-1);
|
||||
insert into t2 values (19700201+12-1);
|
||||
insert into t2 values (19700301+12-1);
|
||||
insert into t2 values (19700101+11-1);
|
||||
insert into t2 values (19700201+11-1);
|
||||
insert into t2 values (19700301+11-1);
|
||||
insert into t2 values (19700101+10-1);
|
||||
insert into t2 values (19700201+10-1);
|
||||
insert into t2 values (19700301+10-1);
|
||||
insert into t2 values (19700101+9-1);
|
||||
insert into t2 values (19700201+9-1);
|
||||
insert into t2 values (19700301+9-1);
|
||||
insert into t2 values (19700101+8-1);
|
||||
insert into t2 values (19700201+8-1);
|
||||
insert into t2 values (19700301+8-1);
|
||||
insert into t2 values (19700101+7-1);
|
||||
insert into t2 values (19700201+7-1);
|
||||
insert into t2 values (19700301+7-1);
|
||||
insert into t2 values (19700101+6-1);
|
||||
insert into t2 values (19700201+6-1);
|
||||
insert into t2 values (19700301+6-1);
|
||||
insert into t2 values (19700101+5-1);
|
||||
insert into t2 values (19700201+5-1);
|
||||
insert into t2 values (19700301+5-1);
|
||||
insert into t2 values (19700101+4-1);
|
||||
insert into t2 values (19700201+4-1);
|
||||
insert into t2 values (19700301+4-1);
|
||||
insert into t2 values (19700101+3-1);
|
||||
insert into t2 values (19700201+3-1);
|
||||
insert into t2 values (19700301+3-1);
|
||||
insert into t2 values (19700101+2-1);
|
||||
insert into t2 values (19700201+2-1);
|
||||
insert into t2 values (19700301+2-1);
|
||||
insert into t2 values (19700101+1-1);
|
||||
insert into t2 values (19700201+1-1);
|
||||
insert into t2 values (19700301+1-1);
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
84
|
||||
@@ -550,18 +383,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM,
|
||||
PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */
|
||||
12 inserts;
|
||||
insert into t3 values (adddate(19700101,interval 12-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 11-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 10-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 9-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 8-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 7-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 6-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 5-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 4-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 3-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 2-1 month));
|
||||
insert into t3 values (adddate(19700101,interval 1-1 month));
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
12
|
||||
@@ -602,18 +423,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM,
|
||||
PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */
|
||||
12 inserts;
|
||||
insert into t4 values (adddate(19700101,interval 12-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 11-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 10-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 9-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 8-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 7-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 6-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 5-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 4-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 3-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 2-1 month));
|
||||
insert into t4 values (adddate(19700101,interval 1-1 month));
|
||||
select count(*) from t4;
|
||||
count(*)
|
||||
12
|
||||
@@ -694,65 +503,6 @@ a
|
||||
14:15:16
|
||||
delete from t2;
|
||||
59 inserts;
|
||||
insert into t2 values (000100+59);
|
||||
insert into t2 values (000100+58);
|
||||
insert into t2 values (000100+57);
|
||||
insert into t2 values (000100+56);
|
||||
insert into t2 values (000100+55);
|
||||
insert into t2 values (000100+54);
|
||||
insert into t2 values (000100+53);
|
||||
insert into t2 values (000100+52);
|
||||
insert into t2 values (000100+51);
|
||||
insert into t2 values (000100+50);
|
||||
insert into t2 values (000100+49);
|
||||
insert into t2 values (000100+48);
|
||||
insert into t2 values (000100+47);
|
||||
insert into t2 values (000100+46);
|
||||
insert into t2 values (000100+45);
|
||||
insert into t2 values (000100+44);
|
||||
insert into t2 values (000100+43);
|
||||
insert into t2 values (000100+42);
|
||||
insert into t2 values (000100+41);
|
||||
insert into t2 values (000100+40);
|
||||
insert into t2 values (000100+39);
|
||||
insert into t2 values (000100+38);
|
||||
insert into t2 values (000100+37);
|
||||
insert into t2 values (000100+36);
|
||||
insert into t2 values (000100+35);
|
||||
insert into t2 values (000100+34);
|
||||
insert into t2 values (000100+33);
|
||||
insert into t2 values (000100+32);
|
||||
insert into t2 values (000100+31);
|
||||
insert into t2 values (000100+30);
|
||||
insert into t2 values (000100+29);
|
||||
insert into t2 values (000100+28);
|
||||
insert into t2 values (000100+27);
|
||||
insert into t2 values (000100+26);
|
||||
insert into t2 values (000100+25);
|
||||
insert into t2 values (000100+24);
|
||||
insert into t2 values (000100+23);
|
||||
insert into t2 values (000100+22);
|
||||
insert into t2 values (000100+21);
|
||||
insert into t2 values (000100+20);
|
||||
insert into t2 values (000100+19);
|
||||
insert into t2 values (000100+18);
|
||||
insert into t2 values (000100+17);
|
||||
insert into t2 values (000100+16);
|
||||
insert into t2 values (000100+15);
|
||||
insert into t2 values (000100+14);
|
||||
insert into t2 values (000100+13);
|
||||
insert into t2 values (000100+12);
|
||||
insert into t2 values (000100+11);
|
||||
insert into t2 values (000100+10);
|
||||
insert into t2 values (000100+9);
|
||||
insert into t2 values (000100+8);
|
||||
insert into t2 values (000100+7);
|
||||
insert into t2 values (000100+6);
|
||||
insert into t2 values (000100+5);
|
||||
insert into t2 values (000100+4);
|
||||
insert into t2 values (000100+3);
|
||||
insert into t2 values (000100+2);
|
||||
insert into t2 values (000100+1);
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
59
|
||||
@@ -840,65 +590,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES LESS THAN (46) ENGINE = MyISAM,
|
||||
PARTITION quarter4 VALUES LESS THAN (61) ENGINE = MyISAM) */
|
||||
59 inserts;
|
||||
insert into t3 values (100000+59);
|
||||
insert into t3 values (100000+58);
|
||||
insert into t3 values (100000+57);
|
||||
insert into t3 values (100000+56);
|
||||
insert into t3 values (100000+55);
|
||||
insert into t3 values (100000+54);
|
||||
insert into t3 values (100000+53);
|
||||
insert into t3 values (100000+52);
|
||||
insert into t3 values (100000+51);
|
||||
insert into t3 values (100000+50);
|
||||
insert into t3 values (100000+49);
|
||||
insert into t3 values (100000+48);
|
||||
insert into t3 values (100000+47);
|
||||
insert into t3 values (100000+46);
|
||||
insert into t3 values (100000+45);
|
||||
insert into t3 values (100000+44);
|
||||
insert into t3 values (100000+43);
|
||||
insert into t3 values (100000+42);
|
||||
insert into t3 values (100000+41);
|
||||
insert into t3 values (100000+40);
|
||||
insert into t3 values (100000+39);
|
||||
insert into t3 values (100000+38);
|
||||
insert into t3 values (100000+37);
|
||||
insert into t3 values (100000+36);
|
||||
insert into t3 values (100000+35);
|
||||
insert into t3 values (100000+34);
|
||||
insert into t3 values (100000+33);
|
||||
insert into t3 values (100000+32);
|
||||
insert into t3 values (100000+31);
|
||||
insert into t3 values (100000+30);
|
||||
insert into t3 values (100000+29);
|
||||
insert into t3 values (100000+28);
|
||||
insert into t3 values (100000+27);
|
||||
insert into t3 values (100000+26);
|
||||
insert into t3 values (100000+25);
|
||||
insert into t3 values (100000+24);
|
||||
insert into t3 values (100000+23);
|
||||
insert into t3 values (100000+22);
|
||||
insert into t3 values (100000+21);
|
||||
insert into t3 values (100000+20);
|
||||
insert into t3 values (100000+19);
|
||||
insert into t3 values (100000+18);
|
||||
insert into t3 values (100000+17);
|
||||
insert into t3 values (100000+16);
|
||||
insert into t3 values (100000+15);
|
||||
insert into t3 values (100000+14);
|
||||
insert into t3 values (100000+13);
|
||||
insert into t3 values (100000+12);
|
||||
insert into t3 values (100000+11);
|
||||
insert into t3 values (100000+10);
|
||||
insert into t3 values (100000+9);
|
||||
insert into t3 values (100000+8);
|
||||
insert into t3 values (100000+7);
|
||||
insert into t3 values (100000+6);
|
||||
insert into t3 values (100000+5);
|
||||
insert into t3 values (100000+4);
|
||||
insert into t3 values (100000+3);
|
||||
insert into t3 values (100000+2);
|
||||
insert into t3 values (100000+1);
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
59
|
||||
@@ -986,65 +677,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45) ENGINE = MyISAM,
|
||||
PARTITION quarter4 VALUES IN (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */
|
||||
59 inserts;
|
||||
insert into t4 values (100000+59);
|
||||
insert into t4 values (100000+58);
|
||||
insert into t4 values (100000+57);
|
||||
insert into t4 values (100000+56);
|
||||
insert into t4 values (100000+55);
|
||||
insert into t4 values (100000+54);
|
||||
insert into t4 values (100000+53);
|
||||
insert into t4 values (100000+52);
|
||||
insert into t4 values (100000+51);
|
||||
insert into t4 values (100000+50);
|
||||
insert into t4 values (100000+49);
|
||||
insert into t4 values (100000+48);
|
||||
insert into t4 values (100000+47);
|
||||
insert into t4 values (100000+46);
|
||||
insert into t4 values (100000+45);
|
||||
insert into t4 values (100000+44);
|
||||
insert into t4 values (100000+43);
|
||||
insert into t4 values (100000+42);
|
||||
insert into t4 values (100000+41);
|
||||
insert into t4 values (100000+40);
|
||||
insert into t4 values (100000+39);
|
||||
insert into t4 values (100000+38);
|
||||
insert into t4 values (100000+37);
|
||||
insert into t4 values (100000+36);
|
||||
insert into t4 values (100000+35);
|
||||
insert into t4 values (100000+34);
|
||||
insert into t4 values (100000+33);
|
||||
insert into t4 values (100000+32);
|
||||
insert into t4 values (100000+31);
|
||||
insert into t4 values (100000+30);
|
||||
insert into t4 values (100000+29);
|
||||
insert into t4 values (100000+28);
|
||||
insert into t4 values (100000+27);
|
||||
insert into t4 values (100000+26);
|
||||
insert into t4 values (100000+25);
|
||||
insert into t4 values (100000+24);
|
||||
insert into t4 values (100000+23);
|
||||
insert into t4 values (100000+22);
|
||||
insert into t4 values (100000+21);
|
||||
insert into t4 values (100000+20);
|
||||
insert into t4 values (100000+19);
|
||||
insert into t4 values (100000+18);
|
||||
insert into t4 values (100000+17);
|
||||
insert into t4 values (100000+16);
|
||||
insert into t4 values (100000+15);
|
||||
insert into t4 values (100000+14);
|
||||
insert into t4 values (100000+13);
|
||||
insert into t4 values (100000+12);
|
||||
insert into t4 values (100000+11);
|
||||
insert into t4 values (100000+10);
|
||||
insert into t4 values (100000+9);
|
||||
insert into t4 values (100000+8);
|
||||
insert into t4 values (100000+7);
|
||||
insert into t4 values (100000+6);
|
||||
insert into t4 values (100000+5);
|
||||
insert into t4 values (100000+4);
|
||||
insert into t4 values (100000+3);
|
||||
insert into t4 values (100000+2);
|
||||
insert into t4 values (100000+1);
|
||||
select count(*) from t4;
|
||||
count(*)
|
||||
59
|
||||
@@ -1172,65 +804,6 @@ a
|
||||
2020-12-31 10:11:12
|
||||
delete from t2;
|
||||
59 inserts;
|
||||
insert into t2 values (19700101000000+59);
|
||||
insert into t2 values (19700101000000+58);
|
||||
insert into t2 values (19700101000000+57);
|
||||
insert into t2 values (19700101000000+56);
|
||||
insert into t2 values (19700101000000+55);
|
||||
insert into t2 values (19700101000000+54);
|
||||
insert into t2 values (19700101000000+53);
|
||||
insert into t2 values (19700101000000+52);
|
||||
insert into t2 values (19700101000000+51);
|
||||
insert into t2 values (19700101000000+50);
|
||||
insert into t2 values (19700101000000+49);
|
||||
insert into t2 values (19700101000000+48);
|
||||
insert into t2 values (19700101000000+47);
|
||||
insert into t2 values (19700101000000+46);
|
||||
insert into t2 values (19700101000000+45);
|
||||
insert into t2 values (19700101000000+44);
|
||||
insert into t2 values (19700101000000+43);
|
||||
insert into t2 values (19700101000000+42);
|
||||
insert into t2 values (19700101000000+41);
|
||||
insert into t2 values (19700101000000+40);
|
||||
insert into t2 values (19700101000000+39);
|
||||
insert into t2 values (19700101000000+38);
|
||||
insert into t2 values (19700101000000+37);
|
||||
insert into t2 values (19700101000000+36);
|
||||
insert into t2 values (19700101000000+35);
|
||||
insert into t2 values (19700101000000+34);
|
||||
insert into t2 values (19700101000000+33);
|
||||
insert into t2 values (19700101000000+32);
|
||||
insert into t2 values (19700101000000+31);
|
||||
insert into t2 values (19700101000000+30);
|
||||
insert into t2 values (19700101000000+29);
|
||||
insert into t2 values (19700101000000+28);
|
||||
insert into t2 values (19700101000000+27);
|
||||
insert into t2 values (19700101000000+26);
|
||||
insert into t2 values (19700101000000+25);
|
||||
insert into t2 values (19700101000000+24);
|
||||
insert into t2 values (19700101000000+23);
|
||||
insert into t2 values (19700101000000+22);
|
||||
insert into t2 values (19700101000000+21);
|
||||
insert into t2 values (19700101000000+20);
|
||||
insert into t2 values (19700101000000+19);
|
||||
insert into t2 values (19700101000000+18);
|
||||
insert into t2 values (19700101000000+17);
|
||||
insert into t2 values (19700101000000+16);
|
||||
insert into t2 values (19700101000000+15);
|
||||
insert into t2 values (19700101000000+14);
|
||||
insert into t2 values (19700101000000+13);
|
||||
insert into t2 values (19700101000000+12);
|
||||
insert into t2 values (19700101000000+11);
|
||||
insert into t2 values (19700101000000+10);
|
||||
insert into t2 values (19700101000000+9);
|
||||
insert into t2 values (19700101000000+8);
|
||||
insert into t2 values (19700101000000+7);
|
||||
insert into t2 values (19700101000000+6);
|
||||
insert into t2 values (19700101000000+5);
|
||||
insert into t2 values (19700101000000+4);
|
||||
insert into t2 values (19700101000000+3);
|
||||
insert into t2 values (19700101000000+2);
|
||||
insert into t2 values (19700101000000+1);
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
59
|
||||
@@ -1318,18 +891,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES LESS THAN (10) ENGINE = MyISAM,
|
||||
PARTITION quarter4 VALUES LESS THAN (13) ENGINE = MyISAM) */
|
||||
12 inserts;
|
||||
insert into t3 values (adddate(19700101000000,interval 12-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 11-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 10-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 9-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 8-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 7-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 6-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 5-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 4-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 3-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 2-1 month));
|
||||
insert into t3 values (adddate(19700101000000,interval 1-1 month));
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
12
|
||||
@@ -1370,18 +931,6 @@ SUBPARTITIONS 3
|
||||
PARTITION quarter3 VALUES IN (7,8,9) ENGINE = MyISAM,
|
||||
PARTITION quarter4 VALUES IN (10,11,12) ENGINE = MyISAM) */
|
||||
12 inserts;
|
||||
insert into t4 values (adddate(19700101000000,interval 12-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 11-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 10-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 9-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 8-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 7-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 6-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 5-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 4-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 3-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 2-1 month));
|
||||
insert into t4 values (adddate(19700101000000,interval 1-1 month));
|
||||
select count(*) from t4;
|
||||
count(*)
|
||||
12
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
let $debug= 0;
|
||||
let $do_long_tests= 1;
|
||||
|
||||
#
|
||||
--source include/big_test.inc
|
||||
# The server must support partitioning.
|
||||
--source include/have_partition.inc
|
||||
|
||||
|
||||
@@ -43,6 +43,8 @@ SET @max_row = 20;
|
||||
let $more_trigger_tests= 0;
|
||||
let $more_pk_ui_tests= 0;
|
||||
|
||||
# Slow running test
|
||||
--source include/big_test.inc
|
||||
# This test relies on connecting externally from mysqltest, doesn't
|
||||
# work with embedded.
|
||||
--source include/not_embedded.inc
|
||||
|
||||
@@ -40,6 +40,8 @@ SET @max_row = 20;
|
||||
let $more_trigger_tests= 0;
|
||||
let $more_pk_ui_tests= 0;
|
||||
|
||||
# Slow running test
|
||||
--source include/big_test.inc
|
||||
# This test relies on connecting externally from mysqltest, doesn't
|
||||
# work with embedded.
|
||||
--source include/not_embedded.inc
|
||||
|
||||
@@ -710,7 +710,7 @@ a
|
||||
EXPLAIN PARTITIONS SELECT * FROM t1
|
||||
WHERE a >= '2004-07-01' AND a <= '2004-09-30';
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p407,p408,p409 ALL NULL NULL NULL NULL 9 Using where
|
||||
1 SIMPLE t1 p3xx,p407,p408,p409 ALL NULL NULL NULL NULL 18 Using where
|
||||
SELECT * from t1
|
||||
WHERE (a >= '2004-07-01' AND a <= '2004-09-30') OR
|
||||
(a >= '2005-07-01' AND a <= '2005-09-30');
|
||||
@@ -737,5 +737,5 @@ EXPLAIN PARTITIONS SELECT * from t1
|
||||
WHERE (a >= '2004-07-01' AND a <= '2004-09-30') OR
|
||||
(a >= '2005-07-01' AND a <= '2005-09-30');
|
||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 p407,p408,p409,p507,p508,p509 ALL NULL NULL NULL NULL 18 Using where
|
||||
1 SIMPLE t1 p3xx,p407,p408,p409,p507,p508,p509 ALL NULL NULL NULL NULL 27 Using where
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -75,7 +75,7 @@ SELECT 1 FROM (SELECT 1 as a) b WHERE 1 IN (SELECT (SELECT a));
|
||||
select (SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE(1));
|
||||
ERROR HY000: Incorrect usage of PROCEDURE and subquery
|
||||
SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));
|
||||
ERROR HY000: Incorrect parameters to procedure 'ANALYSE'
|
||||
ERROR HY000: Incorrect usage of PROCEDURE and subquery
|
||||
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;
|
||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
||||
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NOT NULL;
|
||||
|
||||
@@ -30,7 +30,7 @@ SELECT 1 IN (SELECT 1);
|
||||
SELECT 1 FROM (SELECT 1 as a) b WHERE 1 IN (SELECT (SELECT a));
|
||||
-- error 1221
|
||||
select (SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE(1));
|
||||
-- error 1108
|
||||
-- error ER_WRONG_USAGE
|
||||
SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));
|
||||
-- error ER_BAD_FIELD_ERROR
|
||||
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;
|
||||
|
||||
@@ -101,6 +101,8 @@ master-bin.000001 # Query # # use `test`; UPDATE t SET f = 'dark blue 1' WHERE f
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t VALUES (6 + (1 * 10),"brown")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO n VALUES (now(),"brown")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
source include/diff_master_slave.inc;
|
||||
source include/diff_master_slave.inc;
|
||||
########################################################################
|
||||
# Cleanup
|
||||
########################################################################
|
||||
|
||||
33
mysql-test/suite/rpl/r/rpl_create_if_not_exists.result
Normal file
33
mysql-test/suite/rpl/r/rpl_create_if_not_exists.result
Normal file
@@ -0,0 +1,33 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
DROP DATABASE IF EXISTS mysqltest;
|
||||
CREATE DATABASE IF NOT EXISTS mysqltest;
|
||||
USE mysqltest;
|
||||
CREATE TABLE IF NOT EXISTS t(c1 int);
|
||||
CREATE TABLE IF NOT EXISTS t1 LIKE t;
|
||||
CREATE TABLE IF NOT EXISTS t2 SELECT * FROM t;
|
||||
CREATE EVENT IF NOT EXISTS e
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
|
||||
DO SELECT now();
|
||||
DROP DATABASE mysqltest;
|
||||
CREATE DATABASE IF NOT EXISTS mysqltest;
|
||||
USE mysqltest;
|
||||
CREATE TABLE IF NOT EXISTS t(c1 int);
|
||||
CREATE TABLE IF NOT EXISTS t1 LIKE t;
|
||||
CREATE TABLE IF NOT EXISTS t2 SELECT * FROM t;
|
||||
CREATE EVENT IF NOT EXISTS e
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
|
||||
DO SELECT now();
|
||||
SHOW TABLES in mysqltest;
|
||||
Tables_in_mysqltest
|
||||
t
|
||||
t1
|
||||
t2
|
||||
SHOW EVENTS in mysqltest;
|
||||
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
|
||||
mysqltest e root@localhost SYSTEM ONE TIME # NULL NULL NULL NULL SLAVESIDE_DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
DROP DATABASE IF EXISTS mysqltest;
|
||||
@@ -0,0 +1,22 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
DROP DATABASE IF EXISTS mysqltest;
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp(c1 int);
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp(c1 int);
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp1 LIKE tmp;
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp1 LIKE tmp;
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp;
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # DROP DATABASE IF EXISTS mysqltest
|
||||
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp(c1 int)
|
||||
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp(c1 int)
|
||||
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp1 LIKE tmp
|
||||
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp1 LIKE tmp
|
||||
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp
|
||||
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp
|
||||
@@ -43,7 +43,7 @@ master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS db_bug_13684.t
|
||||
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684
|
||||
master-bin.000001 # Query # # CREATE DATABASE db_bug_13684
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE db_bug_13684.t (a int)
|
||||
master-bin.000001 # Query # # use `test`; CREATE EVENT db_bug_13684.e
|
||||
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT db_bug_13684.e
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
|
||||
DO
|
||||
UPDATE db_bug_13684.t SET a = a + 1
|
||||
@@ -75,7 +75,7 @@ master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS db_bug_13684.t
|
||||
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684
|
||||
master-bin.000001 # Query # # CREATE DATABASE db_bug_13684
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE db_bug_13684.t (a int)
|
||||
master-bin.000001 # Query # # use `test`; CREATE EVENT db_bug_13684.e
|
||||
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT db_bug_13684.e
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
|
||||
DO
|
||||
UPDATE db_bug_13684.t SET a = a + 1
|
||||
|
||||
@@ -5,6 +5,7 @@ reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
create database if not exists mysqltest;
|
||||
use mysqltest;
|
||||
create temporary table mysqltest.t1 (n int)ENGINE=MyISAM;
|
||||
create temporary table mysqltest.t2 (n int)ENGINE=MyISAM;
|
||||
show status like 'Slave_open_temp_tables';
|
||||
|
||||
@@ -191,5 +191,63 @@ select * from t28953;
|
||||
END;|
|
||||
ALTER EVENT event1 RENAME TO event2;
|
||||
DROP EVENT event2;
|
||||
CREATE TABLE test.t1(details CHAR(30));
|
||||
CREATE EVENT /*!50000 event44331_1 */
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO INSERT INTO test.t1 VALUES('event event44331_1 fired - no definer');
|
||||
CREATE DEFINER=CURRENT_USER /*!50000 EVENT event44331_2 */
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO INSERT INTO test.t1 VALUES('event event44331_2 fired - DEFINER=CURRENT_USER');
|
||||
CREATE DEFINER=CURRENT_USER() EVENT event44331_3
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO INSERT INTO test.t1 VALUES('event event44331_3 fired - DEFINER=CURRENT_USER() function');
|
||||
CREATE /*!50000 DEFINER='user44331' */ EVENT event44331_4
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO INSERT INTO test.t1 VALUES('event event44331_4 fired - DEFINER=user1');
|
||||
Warnings:
|
||||
Note 1449 The user specified as a definer ('user44331'@'%') does not exist
|
||||
#on master
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_1';
|
||||
EVENT_SCHEMA EVENT_NAME DEFINER
|
||||
test event44331_1 root@localhost
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_2';
|
||||
EVENT_SCHEMA EVENT_NAME DEFINER
|
||||
test event44331_2 root@localhost
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_3';
|
||||
EVENT_SCHEMA EVENT_NAME DEFINER
|
||||
test event44331_3 root@localhost
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_4';
|
||||
EVENT_SCHEMA EVENT_NAME DEFINER
|
||||
test event44331_4 user44331@%
|
||||
#on slave
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_1';
|
||||
EVENT_SCHEMA EVENT_NAME DEFINER
|
||||
test event44331_1 root@localhost
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_2';
|
||||
EVENT_SCHEMA EVENT_NAME DEFINER
|
||||
test event44331_2 root@localhost
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_3';
|
||||
EVENT_SCHEMA EVENT_NAME DEFINER
|
||||
test event44331_3 root@localhost
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_4';
|
||||
EVENT_SCHEMA EVENT_NAME DEFINER
|
||||
test event44331_4 user44331@%
|
||||
SET @@global.event_scheduler= @old_event_scheduler;
|
||||
DROP TABLE t28953;
|
||||
DROP TABLE t1;
|
||||
DROP EVENT event44331_1;
|
||||
DROP EVENT event44331_2;
|
||||
DROP EVENT event44331_3;
|
||||
DROP EVENT event44331_4;
|
||||
|
||||
@@ -690,7 +690,7 @@ test_rpl e1 root@localhost SYSTEM RECURRING NULL 1 # # NULL ENABLED 1 latin1 lat
|
||||
USE test_rpl;
|
||||
SHOW EVENTS;
|
||||
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
|
||||
test_rpl e1 @ SYSTEM RECURRING NULL 1 # # NULL SLAVESIDE_DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
test_rpl e1 root@localhost SYSTEM RECURRING NULL 1 # # NULL SLAVESIDE_DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
==========MASTER==========
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
@@ -963,7 +963,9 @@ master-bin.000001 # Xid 1 # #
|
||||
master-bin.000001 # Query 1 # BEGIN
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(1, 't1, text 1')
|
||||
master-bin.000001 # Xid 1 # #
|
||||
master-bin.000001 # Query 1 # BEGIN
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; TRUNCATE t1
|
||||
master-bin.000001 # Xid 1 # #
|
||||
master-bin.000001 # Query 1 # BEGIN
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
|
||||
master-bin.000001 # Xid 1 # #
|
||||
@@ -1076,7 +1078,7 @@ master-bin.000001 # Query 1 # use `test_rpl`; GRANT EVENT ON *.* TO 'root'@'loca
|
||||
master-bin.000001 # Query 1 # BEGIN
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(1, 'test1')
|
||||
master-bin.000001 # Xid 1 # #
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; CREATE EVENT e1 ON SCHEDULE EVERY '1' SECOND COMMENT 'e_second_comment' DO DELETE FROM t1
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; CREATE DEFINER=`root`@`localhost` EVENT e1 ON SCHEDULE EVERY '1' SECOND COMMENT 'e_second_comment' DO DELETE FROM t1
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; ALTER EVENT e1 RENAME TO e2
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; DROP EVENT e2
|
||||
master-bin.000001 # Query 1 # BEGIN
|
||||
|
||||
@@ -35,3 +35,44 @@ C3BF
|
||||
D0AA
|
||||
D0AA
|
||||
drop table t1;
|
||||
-------------test bug#45516------------------
|
||||
DROP DATABASE IF EXISTS mysqltest;
|
||||
CREATE DATABASE mysqltest CHARSET UTF8;
|
||||
USE mysqltest;
|
||||
CREATE TABLE t (cl varchar(100)) CHARSET UTF8;
|
||||
LOAD DATA LOCAL INFILE './std_data/loaddata_utf8.dat' INTO TABLE t
|
||||
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
|
||||
----------content on master----------
|
||||
SELECT hex(cl) FROM t;
|
||||
hex(cl)
|
||||
E4B880E4BA8CE4B889
|
||||
E59B9BE4BA94E585AD
|
||||
E4B883E585ABE4B99D
|
||||
----------content on slave----------
|
||||
USE mysqltest;
|
||||
SELECT hex(cl) FROM t;
|
||||
hex(cl)
|
||||
E4B880E4BA8CE4B889
|
||||
E59B9BE4BA94E585AD
|
||||
E4B883E585ABE4B99D
|
||||
DROP DATABASE mysqltest;
|
||||
DROP DATABASE IF EXISTS mysqltest;
|
||||
CREATE DATABASE mysqltest CHARSET UTF8;
|
||||
USE mysqltest;
|
||||
CREATE TABLE t (cl varchar(100)) CHARSET UTF8;
|
||||
LOAD DATA INFILE '../../std_data/loaddata_utf8.dat' INTO TABLE t
|
||||
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
|
||||
----------content on master----------
|
||||
SELECT hex(cl) FROM t;
|
||||
hex(cl)
|
||||
E4B880E4BA8CE4B889
|
||||
E59B9BE4BA94E585AD
|
||||
E4B883E585ABE4B99D
|
||||
----------content on slave----------
|
||||
USE mysqltest;
|
||||
SELECT hex(cl) FROM t;
|
||||
hex(cl)
|
||||
E4B880E4BA8CE4B889
|
||||
E59B9BE4BA94E585AD
|
||||
E4B883E585ABE4B99D
|
||||
DROP DATABASE mysqltest;
|
||||
|
||||
@@ -90,5 +90,132 @@ a b
|
||||
2 row 2
|
||||
3 row 3
|
||||
0
|
||||
set sql_log_bin= 0;
|
||||
drop database rewrite;
|
||||
set sql_log_bin= 1;
|
||||
set sql_log_bin= 0;
|
||||
drop table t1;
|
||||
set sql_log_bin= 1;
|
||||
|
||||
****
|
||||
**** Bug #46861 Auto-closing of temporary tables broken by replicate-rewrite-db
|
||||
****
|
||||
|
||||
****
|
||||
**** Preparing the environment
|
||||
****
|
||||
SET sql_log_bin= 0;
|
||||
CREATE DATABASE database_master_temp_01;
|
||||
CREATE DATABASE database_master_temp_02;
|
||||
CREATE DATABASE database_master_temp_03;
|
||||
SET sql_log_bin= 1;
|
||||
SET sql_log_bin= 0;
|
||||
CREATE DATABASE database_slave_temp_01;
|
||||
CREATE DATABASE database_slave_temp_02;
|
||||
CREATE DATABASE database_slave_temp_03;
|
||||
SET sql_log_bin= 1;
|
||||
|
||||
****
|
||||
**** Creating temporary tables on different databases with different connections
|
||||
****
|
||||
**** con_temp_01 --> creates
|
||||
**** t_01_01_temp on database_master_temp_01
|
||||
****
|
||||
**** con_temp_02 --> creates
|
||||
**** t_01_01_temp on database_master_temp_01
|
||||
**** t_02_01_temp, t_02_02_temp on database_master_temp_02
|
||||
****
|
||||
**** con_temp_02 --> creates
|
||||
**** t_01_01_temp on database_master_temp_01
|
||||
**** t_02_01_temp, t_02_02_temp on database_master_temp_02
|
||||
**** t_03_01_temp, t_03_02_temp, t_03_03_temp on database_master_temp_03
|
||||
****
|
||||
|
||||
con_temp_01
|
||||
|
||||
USE database_master_temp_01;
|
||||
CREATE TEMPORARY TABLE t_01_01_temp(a int);
|
||||
INSERT INTO t_01_01_temp VALUES(1);
|
||||
|
||||
con_temp_02
|
||||
|
||||
USE database_master_temp_01;
|
||||
CREATE TEMPORARY TABLE t_01_01_temp(a int);
|
||||
INSERT INTO t_01_01_temp VALUES(1);
|
||||
USE database_master_temp_02;
|
||||
CREATE TEMPORARY TABLE t_02_01_temp(a int);
|
||||
INSERT INTO t_02_01_temp VALUES(1);
|
||||
CREATE TEMPORARY TABLE t_02_02_temp(a int);
|
||||
INSERT INTO t_02_02_temp VALUES(1);
|
||||
|
||||
con_temp_03
|
||||
|
||||
USE database_master_temp_01;
|
||||
CREATE TEMPORARY TABLE t_01_01_temp(a int);
|
||||
INSERT INTO t_01_01_temp VALUES(1);
|
||||
USE database_master_temp_02;
|
||||
CREATE TEMPORARY TABLE t_02_01_temp(a int);
|
||||
INSERT INTO t_02_01_temp VALUES(1);
|
||||
CREATE TEMPORARY TABLE t_02_02_temp(a int);
|
||||
INSERT INTO t_02_02_temp VALUES(1);
|
||||
USE database_master_temp_03;
|
||||
CREATE TEMPORARY TABLE t_03_01_temp(a int);
|
||||
INSERT INTO t_03_01_temp VALUES(1);
|
||||
CREATE TEMPORARY TABLE t_03_02_temp(a int);
|
||||
INSERT INTO t_03_02_temp VALUES(1);
|
||||
CREATE TEMPORARY TABLE t_03_03_temp(a int);
|
||||
INSERT INTO t_03_03_temp VALUES(1);
|
||||
|
||||
**** Dropping the connections
|
||||
**** We want to SHOW BINLOG EVENTS, to know what was logged. But there is no
|
||||
**** guarantee that logging of the terminated con1 has been done yet.a To be
|
||||
**** sure that logging has been done, we use a user lock.
|
||||
|
||||
show status like 'Slave_open_temp_tables';
|
||||
Variable_name Value
|
||||
Slave_open_temp_tables 10
|
||||
select get_lock("con_01",10);
|
||||
get_lock("con_01",10)
|
||||
1
|
||||
select get_lock("con_01",10);
|
||||
get_lock("con_01",10)
|
||||
1
|
||||
select get_lock("con_02",10);
|
||||
get_lock("con_02",10)
|
||||
1
|
||||
select get_lock("con_02",10);
|
||||
get_lock("con_02",10)
|
||||
1
|
||||
select get_lock("con_03",10);
|
||||
get_lock("con_03",10)
|
||||
1
|
||||
select get_lock("con_03",10);
|
||||
get_lock("con_03",10)
|
||||
1
|
||||
|
||||
**** Checking the binary log and temporary tables
|
||||
|
||||
show status like 'Slave_open_temp_tables';
|
||||
Variable_name Value
|
||||
Slave_open_temp_tables 0
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `database_master_temp_01`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t_01_01_temp`
|
||||
master-bin.000001 # Query # # use `database_master_temp_02`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t_02_02_temp`,`t_02_01_temp`
|
||||
master-bin.000001 # Query # # use `database_master_temp_01`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t_01_01_temp`
|
||||
master-bin.000001 # Query # # use `database_master_temp_03`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t_03_03_temp`,`t_03_02_temp`,`t_03_01_temp`
|
||||
master-bin.000001 # Query # # use `database_master_temp_02`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t_02_02_temp`,`t_02_01_temp`
|
||||
master-bin.000001 # Query # # use `database_master_temp_01`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `t_01_01_temp`
|
||||
****
|
||||
**** Cleaning up the test case
|
||||
****
|
||||
SET sql_log_bin= 0;
|
||||
DROP DATABASE database_master_temp_01;
|
||||
DROP DATABASE database_master_temp_02;
|
||||
DROP DATABASE database_master_temp_03;
|
||||
SET sql_log_bin= 1;
|
||||
SET sql_log_bin= 0;
|
||||
DROP DATABASE database_slave_temp_01;
|
||||
DROP DATABASE database_slave_temp_02;
|
||||
DROP DATABASE database_slave_temp_03;
|
||||
SET sql_log_bin= 1;
|
||||
|
||||
870
mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result
Normal file
870
mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result
Normal file
@@ -0,0 +1,870 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
###################################################################################
|
||||
# CONFIGURATION
|
||||
###################################################################################
|
||||
SET SQL_LOG_BIN=0;
|
||||
CREATE TABLE nt_1 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE nt_2 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE nt_3 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE nt_4 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE tt_1 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
CREATE TABLE tt_2 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
CREATE TABLE tt_3 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
CREATE TABLE tt_4 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
SET SQL_LOG_BIN=1;
|
||||
SET SQL_LOG_BIN=0;
|
||||
CREATE TABLE nt_1 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE nt_2 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE nt_3 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE nt_4 (a text, b int PRIMARY KEY, c text) ENGINE = MyISAM;
|
||||
CREATE TABLE tt_1 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
CREATE TABLE tt_2 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
CREATE TABLE tt_3 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
CREATE TABLE tt_4 (a text, b int PRIMARY KEY, c text) ENGINE = Innodb;
|
||||
SET SQL_LOG_BIN=1;
|
||||
CREATE FUNCTION f1 () RETURNS VARCHAR(64)
|
||||
BEGIN
|
||||
RETURN "Testing...";
|
||||
END|
|
||||
CREATE FUNCTION f2 () RETURNS VARCHAR(64)
|
||||
BEGIN
|
||||
RETURN f1();
|
||||
END|
|
||||
CREATE PROCEDURE pc_i_tt_3 (IN x INT, IN y VARCHAR(64))
|
||||
BEGIN
|
||||
INSERT INTO tt_3 VALUES (y,x,x);
|
||||
END|
|
||||
CREATE TRIGGER tr_i_tt_3_to_nt_3 BEFORE INSERT ON tt_3 FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO nt_3 VALUES (NEW.a, NEW.b, NEW.c);
|
||||
END|
|
||||
CREATE TRIGGER tr_i_nt_4_to_tt_4 BEFORE INSERT ON nt_4 FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO tt_4 VALUES (NEW.a, NEW.b, NEW.c);
|
||||
END|
|
||||
###################################################################################
|
||||
# MIXING TRANSACTIONAL and NON-TRANSACTIONAL TABLES
|
||||
###################################################################################
|
||||
#
|
||||
#1) "B T T C" generates in binlog the "B T T C" entries.
|
||||
#
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text 4", 4, "new text 4");
|
||||
INSERT INTO tt_2 VALUES ("new text 4", 4, "new text 4");
|
||||
COMMIT;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 4", 4, "new text 4")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_2 VALUES ("new text 4", 4, "new text 4")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#1.e) "B T T C" with error in T generates in binlog the "B T T C" entries.
|
||||
#
|
||||
INSERT INTO tt_1 VALUES ("new text -2", -2, "new text -2");
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text -1", -1, "new text -1"), ("new text -2", -2, "new text -2");
|
||||
ERROR 23000: Duplicate entry '-2' for key 'PRIMARY'
|
||||
INSERT INTO tt_2 VALUES ("new text -3", -3, "new text -3");
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
INSERT INTO tt_2 VALUES ("new text -5", -5, "new text -5");
|
||||
INSERT INTO tt_2 VALUES ("new text -4", -4, "new text -4"), ("new text -5", -5, "new text -5");
|
||||
ERROR 23000: Duplicate entry '-5' for key 'PRIMARY'
|
||||
COMMIT;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text -2", -2, "new text -2")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_2 VALUES ("new text -3", -3, "new text -3")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_2 VALUES ("new text -5", -5, "new text -5")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#2) "B T T R" generates in binlog an "empty" entry.
|
||||
#
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text 5", 5, "new text 5");
|
||||
INSERT INTO tt_2 VALUES ("new text 5", 5, "new text 5");
|
||||
ROLLBACK;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#2.e) "B T T R" with error in T generates in binlog an "empty" entry.
|
||||
#
|
||||
INSERT INTO tt_1 VALUES ("new text -7", -7, "new text -7");
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text -6", -6, "new text -6"), ("new text -7", -7, "new text -7");
|
||||
ERROR 23000: Duplicate entry '-7' for key 'PRIMARY'
|
||||
INSERT INTO tt_2 VALUES ("new text -8", -8, "new text -8");
|
||||
ROLLBACK;
|
||||
BEGIN;
|
||||
INSERT INTO tt_2 VALUES ("new text -10", -10, "new text -10");
|
||||
INSERT INTO tt_2 VALUES ("new text -9", -9, "new text -9"), ("new text -10", -10, "new text -10");
|
||||
ERROR 23000: Duplicate entry '-10' for key 'PRIMARY'
|
||||
ROLLBACK;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text -7", -7, "new text -7")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#3) "B T N C" generates in binlog the "B T N C" entries.
|
||||
#
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text 6", 6, "new text 6");
|
||||
INSERT INTO nt_1 VALUES ("new text 6", 6, "new text 6");
|
||||
COMMIT;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 6", 6, "new text 6")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text 6", 6, "new text 6")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#3.e) "B T N C" with error in either T or N generates in binlog the "B T N C" entries.
|
||||
#
|
||||
INSERT INTO tt_1 VALUES ("new text -12", -12, "new text -12");
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text -11", -11, "new text -11"), ("new text -12", -12, "new text -12");
|
||||
ERROR 23000: Duplicate entry '-12' for key 'PRIMARY'
|
||||
INSERT INTO nt_1 VALUES ("new text -13", -13, "new text -13");
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text -14", -14, "new text -14");
|
||||
INSERT INTO nt_1 VALUES ("new text -16", -16, "new text -16");
|
||||
INSERT INTO nt_1 VALUES ("new text -15", -15, "new text -15"), ("new text -16", -16, "new text -16");
|
||||
ERROR 23000: Duplicate entry '-16' for key 'PRIMARY'
|
||||
COMMIT;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text -12", -12, "new text -12")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text -13", -13, "new text -13")
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text -14", -14, "new text -14")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text -16", -16, "new text -16")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text -15", -15, "new text -15"), ("new text -16", -16, "new text -16")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#4) "B T N R" generates in binlog the "B T N R" entries.
|
||||
#
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text 7", 7, "new text 7");
|
||||
INSERT INTO nt_1 VALUES ("new text 7", 7, "new text 7");
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 7", 7, "new text 7")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text 7", 7, "new text 7")
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#4.e) "B T N R" with error in either T or N generates in binlog the "B T N R" entries.
|
||||
#
|
||||
INSERT INTO tt_1 VALUES ("new text -17", -17, "new text -17");
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text -16", -16, "new text -16"), ("new text -17", -17, "new text -17");
|
||||
ERROR 23000: Duplicate entry '-17' for key 'PRIMARY'
|
||||
INSERT INTO nt_1 VALUES ("new text -18", -18, "new text -18");
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 VALUES ("new text -19", -19, "new text -19");
|
||||
INSERT INTO nt_1 VALUES ("new text -21", -21, "new text -21");
|
||||
INSERT INTO nt_1 VALUES ("new text -20", -20, "new text -20"), ("new text -21", -21, "new text -21");
|
||||
ERROR 23000: Duplicate entry '-21' for key 'PRIMARY'
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text -17", -17, "new text -17")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text -18", -18, "new text -18")
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text -19", -19, "new text -19")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text -21", -21, "new text -21")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text -20", -20, "new text -20"), ("new text -21", -21, "new text -21")
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#5) "T" generates in binlog the "B T C" entry.
|
||||
#
|
||||
INSERT INTO tt_1 VALUES ("new text 8", 8, "new text 8");
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 8", 8, "new text 8")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#5.e) "T" with error in T generates in binlog an "empty" entry.
|
||||
#
|
||||
INSERT INTO tt_1 VALUES ("new text -1", -1, "new text -1");
|
||||
INSERT INTO tt_1 VALUES ("new text -1", -1, "new text -1"), ("new text -22", -22, "new text -22");
|
||||
ERROR 23000: Duplicate entry '-1' for key 'PRIMARY'
|
||||
INSERT INTO tt_1 VALUES ("new text -23", -23, "new text -23"), ("new text -1", -1, "new text -1");
|
||||
ERROR 23000: Duplicate entry '-1' for key 'PRIMARY'
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text -1", -1, "new text -1")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#6) "N" generates in binlog the "N" entry.
|
||||
#
|
||||
INSERT INTO nt_1 VALUES ("new text 9", 9, "new text 9");
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text 9", 9, "new text 9")
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#6.e) "N" with error in N generates in binlog an empty entry if the error
|
||||
# happens in the first tuple. Otherwise, generates the "N" entry and
|
||||
# the error is appended.
|
||||
#
|
||||
INSERT INTO nt_1 VALUES ("new text -1", -1, "new text -1");
|
||||
INSERT INTO nt_1 VALUES ("new text -1", -1, "new text -1");
|
||||
ERROR 23000: Duplicate entry '-1' for key 'PRIMARY'
|
||||
INSERT INTO nt_1 VALUES ("new text -24", -24, "new text -24"), ("new text -1", -1, "new text -1");
|
||||
ERROR 23000: Duplicate entry '-1' for key 'PRIMARY'
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text -1", -1, "new text -1")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text -24", -24, "new text -24"), ("new text -1", -1, "new text -1")
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#7) "M" generates in binglog the "B M C" entries.
|
||||
#
|
||||
DELETE FROM nt_1;
|
||||
INSERT INTO nt_1 SELECT * FROM tt_1;
|
||||
DELETE FROM tt_1;
|
||||
INSERT INTO tt_1 SELECT * FROM nt_1;
|
||||
INSERT INTO tt_3 VALUES ("new text 000", 000, '');
|
||||
INSERT INTO tt_3 VALUES("new text 100", 100, f1());
|
||||
INSERT INTO nt_4 VALUES("new text 100", 100, f1());
|
||||
INSERT INTO tt_3 VALUES("new text 200", 200, f2());
|
||||
INSERT INTO nt_4 VALUES ("new text 300", 300, '');
|
||||
INSERT INTO nt_4 VALUES ("new text 400", 400, f1());
|
||||
INSERT INTO nt_4 VALUES ("new text 500", 500, f2());
|
||||
CALL pc_i_tt_3(600, "Testing...");
|
||||
UPDATE nt_3, nt_4, tt_3, tt_4 SET nt_3.a= "new text 1", nt_4.a= "new text 1", tt_3.a= "new text 1", tt_4.a= "new text 1" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
UPDATE tt_3, tt_4, nt_3, nt_4 SET tt_3.a= "new text 2", tt_4.a= "new text 2", nt_3.a= "new text 2", nt_4.a = "new text 2" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 3", nt_3.a= "new text 3", nt_4.a= "new text 3", tt_4.a = "new text 3" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 4", nt_3.a= "new text 4", nt_4.a= "new text 4", tt_4.a = "new text 4" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; DELETE FROM nt_1
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 SELECT * FROM tt_1
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; DELETE FROM tt_1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 SELECT * FROM nt_1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES ("new text 000", 000, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES("new text 100", 100, f1())
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4 VALUES("new text 100", 100, f1())
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES("new text 200", 200, f2())
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4 VALUES ("new text 300", 300, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4 VALUES ("new text 400", 400, f1())
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4 VALUES ("new text 500", 500, f2())
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES ( NAME_CONST('y',_latin1'Testing...' COLLATE 'latin1_swedish_ci'), NAME_CONST('x',600), NAME_CONST('x',600))
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; UPDATE nt_3, nt_4, tt_3, tt_4 SET nt_3.a= "new text 1", nt_4.a= "new text 1", tt_3.a= "new text 1", tt_4.a= "new text 1" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; UPDATE tt_3, tt_4, nt_3, nt_4 SET tt_3.a= "new text 2", tt_4.a= "new text 2", nt_3.a= "new text 2", nt_4.a = "new text 2" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 3", nt_3.a= "new text 3", nt_4.a= "new text 3", tt_4.a = "new text 3" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 4", nt_3.a= "new text 4", nt_4.a= "new text 4", tt_4.a = "new text 4" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#7.e) "M" with error in M generates in binglog the "B M R" entries.
|
||||
#
|
||||
INSERT INTO nt_3 VALUES ("new text -26", -26, '');
|
||||
SELECT * FROM tt_3;
|
||||
a b c
|
||||
new text 000 0
|
||||
new text 4 100 Testing...
|
||||
new text 200 200 Testing...
|
||||
Testing... 600 600
|
||||
INSERT INTO tt_3 VALUES ("new text -25", -25, ''), ("new text -26", -26, '');
|
||||
ERROR 23000: Duplicate entry '-26' for key 'PRIMARY'
|
||||
SELECT * FROM tt_3;
|
||||
a b c
|
||||
new text 000 0
|
||||
new text 4 100 Testing...
|
||||
new text 200 200 Testing...
|
||||
Testing... 600 600
|
||||
INSERT INTO tt_4 VALUES ("new text -26", -26, '');
|
||||
SELECT * FROM nt_4;
|
||||
a b c
|
||||
new text 4 100 Testing...
|
||||
new text 300 300
|
||||
new text 400 400 Testing...
|
||||
new text 500 500 Testing...
|
||||
INSERT INTO nt_4 VALUES ("new text -25", -25, ''), ("new text -26", -26, '');
|
||||
ERROR 23000: Duplicate entry '-26' for key 'PRIMARY'
|
||||
SELECT * FROM nt_4;
|
||||
a b c
|
||||
new text 4 100 Testing...
|
||||
new text 300 300
|
||||
new text 400 400 Testing...
|
||||
new text 500 500 Testing...
|
||||
new text -25 -25
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_3 VALUES ("new text -26", -26, '')
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES ("new text -25", -25, ''), ("new text -26", -26, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_4 VALUES ("new text -26", -26, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4 VALUES ("new text -25", -25, ''), ("new text -26", -26, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#8) "B N N T C" generates in binglog the "N N B T C" entries.
|
||||
#
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 VALUES ("new text 10", 10, "new text 10");
|
||||
INSERT INTO nt_2 VALUES ("new text 10", 10, "new text 10");
|
||||
INSERT INTO tt_1 VALUES ("new text 10", 10, "new text 10");
|
||||
COMMIT;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text 10", 10, "new text 10")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_2 VALUES ("new text 10", 10, "new text 10")
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 10", 10, "new text 10")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#8.e) "B N N T R" See 6.e and 9.e.
|
||||
#
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#9) "B N N T R" generates in binlog the "N N B T R" entries.
|
||||
#
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 VALUES ("new text 11", 11, "new text 11");
|
||||
INSERT INTO nt_2 VALUES ("new text 11", 11, "new text 11");
|
||||
INSERT INTO tt_1 VALUES ("new text 11", 11, "new text 11");
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text 11", 11, "new text 11")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_2 VALUES ("new text 11", 11, "new text 11")
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 11", 11, "new text 11")
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#9.e) "B N N T R" with error in N generates in binlog the "N N B T R" entries.
|
||||
#
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 VALUES ("new text -25", -25, "new text -25");
|
||||
INSERT INTO nt_2 VALUES ("new text -25", -25, "new text -25");
|
||||
INSERT INTO nt_2 VALUES ("new text -26", -26, "new text -26"), ("new text -25", -25, "new text -25");
|
||||
ERROR 23000: Duplicate entry '-25' for key 'PRIMARY'
|
||||
INSERT INTO tt_1 VALUES ("new text -27", -27, "new text -27");
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text -25", -25, "new text -25")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_2 VALUES ("new text -25", -25, "new text -25")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_2 VALUES ("new text -26", -26, "new text -26"), ("new text -25", -25, "new text -25")
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text -27", -27, "new text -27")
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#10) "B N N C" generates in binglog the "N N" entries.
|
||||
#
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 VALUES ("new text 12", 12, "new text 12");
|
||||
INSERT INTO nt_2 VALUES ("new text 12", 12, "new text 12");
|
||||
COMMIT;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text 12", 12, "new text 12")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_2 VALUES ("new text 12", 12, "new text 12")
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#10.e) "B N N C" See 6.e and 9.e.
|
||||
#
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#11) "B N N R" generates in binlog the "N N" entries.
|
||||
#
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 VALUES ("new text 13", 13, "new text 13");
|
||||
INSERT INTO nt_2 VALUES ("new text 13", 13, "new text 13");
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 VALUES ("new text 13", 13, "new text 13")
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_2 VALUES ("new text 13", 13, "new text 13")
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#11.e) "B N N R" See 6.e and 9.e.
|
||||
#
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#12) "B M T C" generates in the binlog the "B M T C" entries.
|
||||
#
|
||||
DELETE FROM nt_1;
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 SELECT * FROM tt_1;
|
||||
INSERT INTO tt_2 VALUES ("new text 14", 14, "new text 14");
|
||||
COMMIT;
|
||||
DELETE FROM tt_1;
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 SELECT * FROM nt_1;
|
||||
INSERT INTO tt_2 VALUES ("new text 15", 15, "new text 15");
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
INSERT INTO tt_3 VALUES ("new text 700", 700, '');
|
||||
INSERT INTO tt_1 VALUES ("new text 800", 800, '');
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
INSERT INTO tt_3 VALUES("new text 900", 900, f1());
|
||||
INSERT INTO tt_1 VALUES ("new text 1000", 1000, '');
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
INSERT INTO tt_3 VALUES(1100, 1100, f2());
|
||||
INSERT INTO tt_1 VALUES ("new text 1200", 1200, '');
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
INSERT INTO nt_4 VALUES ("new text 1300", 1300, '');
|
||||
INSERT INTO tt_1 VALUES ("new text 1400", 1400, '');
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
INSERT INTO nt_4 VALUES("new text 1500", 1500, f1());
|
||||
INSERT INTO tt_1 VALUES ("new text 1600", 1600, '');
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
INSERT INTO nt_4 VALUES("new text 1700", 1700, f2());
|
||||
INSERT INTO tt_1 VALUES ("new text 1800", 1800, '');
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
CALL pc_i_tt_3(1900, "Testing...");
|
||||
INSERT INTO tt_1 VALUES ("new text 2000", 2000, '');
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
UPDATE nt_3, nt_4, tt_3, tt_4 SET nt_3.a= "new text 5", nt_4.a= "new text 5", tt_3.a= "new text 5", tt_4.a= "new text 5" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 2100", 2100, '');
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
UPDATE tt_3, tt_4, nt_3, nt_4 SET tt_3.a= "new text 6", tt_4.a= "new text 6", nt_3.a= "new text 6", nt_4.a = "new text 6" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 2200", 2200, '');
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 7", nt_3.a= "new text 7", nt_4.a= "new text 7", tt_4.a = "new text 7" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 2300", 2300, '');
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 8", nt_3.a= "new text 8", nt_4.a= "new text 8", tt_4.a = "new text 8" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 2400", 2400, '');
|
||||
COMMIT;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; DELETE FROM nt_1
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 SELECT * FROM tt_1
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_2 VALUES ("new text 14", 14, "new text 14")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; DELETE FROM tt_1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 SELECT * FROM nt_1
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_2 VALUES ("new text 15", 15, "new text 15")
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES ("new text 700", 700, '')
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 800", 800, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES("new text 900", 900, f1())
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 1000", 1000, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES(1100, 1100, f2())
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 1200", 1200, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4 VALUES ("new text 1300", 1300, '')
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 1400", 1400, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4 VALUES("new text 1500", 1500, f1())
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 1600", 1600, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4 VALUES("new text 1700", 1700, f2())
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 1800", 1800, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES ( NAME_CONST('y',_latin1'Testing...' COLLATE 'latin1_swedish_ci'), NAME_CONST('x',1900), NAME_CONST('x',1900))
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 2000", 2000, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; UPDATE nt_3, nt_4, tt_3, tt_4 SET nt_3.a= "new text 5", nt_4.a= "new text 5", tt_3.a= "new text 5", tt_4.a= "new text 5" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 2100", 2100, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; UPDATE tt_3, tt_4, nt_3, nt_4 SET tt_3.a= "new text 6", tt_4.a= "new text 6", nt_3.a= "new text 6", nt_4.a = "new text 6" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 2200", 2200, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 7", nt_3.a= "new text 7", nt_4.a= "new text 7", tt_4.a = "new text 7" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 2300", 2300, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 8", nt_3.a= "new text 8", nt_4.a= "new text 8", tt_4.a = "new text 8" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 2400", 2400, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#12.e) "B M T C" with error in M generates in the binlog the "B M T C" entries.
|
||||
#
|
||||
# There is a bug in the slave that needs to be fixed before enabling
|
||||
# this part of the test. A bug report will be filed referencing this
|
||||
# test case.
|
||||
BEGIN;
|
||||
INSERT INTO nt_3 VALUES ("new text -28", -28, '');
|
||||
INSERT INTO tt_3 VALUES ("new text -27", -27, ''), ("new text -28", -28, '');
|
||||
ERROR 23000: Duplicate entry '-28' for key 'PRIMARY'
|
||||
INSERT INTO tt_1 VALUES ("new text -27", -27, '');
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
INSERT INTO tt_4 VALUES ("new text -28", -28, '');
|
||||
INSERT INTO nt_4 VALUES ("new text -27", -27, ''), ("new text -28", -28, '');
|
||||
ERROR 23000: Duplicate entry '-28' for key 'PRIMARY'
|
||||
INSERT INTO tt_1 VALUES ("new text -28", -28, '');
|
||||
COMMIT;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_3 VALUES ("new text -28", -28, '')
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES ("new text -27", -27, ''), ("new text -28", -28, '')
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text -27", -27, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_4 VALUES ("new text -28", -28, '')
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4 VALUES ("new text -27", -27, ''), ("new text -28", -28, '')
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text -28", -28, '')
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#13) "B M T R" generates in the binlog the "B M T R" entries
|
||||
#
|
||||
DELETE FROM nt_1;
|
||||
BEGIN;
|
||||
INSERT INTO nt_1 SELECT * FROM tt_1;
|
||||
INSERT INTO tt_2 VALUES ("new text 17", 17, "new text 17");
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
DELETE FROM tt_1;
|
||||
BEGIN;
|
||||
INSERT INTO tt_1 SELECT * FROM nt_1;
|
||||
INSERT INTO tt_2 VALUES ("new text 18", 18, "new text 18");
|
||||
ROLLBACK;
|
||||
INSERT INTO tt_1 SELECT * FROM nt_1;
|
||||
BEGIN;
|
||||
INSERT INTO tt_3 VALUES ("new text 2500", 2500, '');
|
||||
INSERT INTO tt_1 VALUES ("new text 2600", 2600, '');
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
BEGIN;
|
||||
INSERT INTO tt_3 VALUES("new text 2700", 2700, f1());
|
||||
INSERT INTO tt_1 VALUES ("new text 2800", 2800, '');
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
BEGIN;
|
||||
INSERT INTO tt_3 VALUES(2900, 2900, f2());
|
||||
INSERT INTO tt_1 VALUES ("new text 3000", 3000, '');
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
BEGIN;
|
||||
INSERT INTO nt_4 VALUES ("new text 3100", 3100, '');
|
||||
INSERT INTO tt_1 VALUES ("new text 3200", 3200, '');
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
BEGIN;
|
||||
INSERT INTO nt_4 VALUES("new text 3300", 3300, f1());
|
||||
INSERT INTO tt_1 VALUES ("new text 3400", 3400, '');
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
BEGIN;
|
||||
INSERT INTO nt_4 VALUES("new text 3500", 3500, f2());
|
||||
INSERT INTO tt_1 VALUES ("new text 3600", 3600, '');
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
BEGIN;
|
||||
CALL pc_i_tt_3(3700, "Testing...");
|
||||
INSERT INTO tt_1 VALUES ("new text 3700", 3700, '');
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
BEGIN;
|
||||
UPDATE nt_3, nt_4, tt_3, tt_4 SET nt_3.a= "new text 9", nt_4.a= "new text 9", tt_3.a= "new text 9", tt_4.a= "new text 9" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 3800", 3800, '');
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
BEGIN;
|
||||
UPDATE tt_3, tt_4, nt_3, nt_4 SET tt_3.a= "new text 10", tt_4.a= "new text 10", nt_3.a= "new text 10", nt_4.a = "new text 10" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 3900", 3900, '');
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
BEGIN;
|
||||
UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 11", nt_3.a= "new text 11", nt_4.a= "new text 11", tt_4.a = "new text 11" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 4000", 4000, '');
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
BEGIN;
|
||||
UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 12", nt_3.a= "new text 12", nt_4.a= "new text 12", tt_4.a = "new text 12" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100;
|
||||
INSERT INTO tt_1 VALUES ("new text 4100", 4100, '');
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; DELETE FROM nt_1
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_1 SELECT * FROM tt_1
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_2 VALUES ("new text 17", 17, "new text 17")
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; DELETE FROM tt_1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 SELECT * FROM nt_1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES ("new text 2500", 2500, '')
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 2600", 2600, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES("new text 2700", 2700, f1())
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 2800", 2800, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES(2900, 2900, f2())
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 3000", 3000, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4 VALUES ("new text 3100", 3100, '')
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 3200", 3200, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4 VALUES("new text 3300", 3300, f1())
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 3400", 3400, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4 VALUES("new text 3500", 3500, f2())
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 3600", 3600, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES ( NAME_CONST('y',_latin1'Testing...' COLLATE 'latin1_swedish_ci'), NAME_CONST('x',3700), NAME_CONST('x',3700))
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 3700", 3700, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; UPDATE nt_3, nt_4, tt_3, tt_4 SET nt_3.a= "new text 9", nt_4.a= "new text 9", tt_3.a= "new text 9", tt_4.a= "new text 9" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 3800", 3800, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; UPDATE tt_3, tt_4, nt_3, nt_4 SET tt_3.a= "new text 10", tt_4.a= "new text 10", nt_3.a= "new text 10", nt_4.a = "new text 10" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 3900", 3900, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 11", nt_3.a= "new text 11", nt_4.a= "new text 11", tt_4.a = "new text 11" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 4000", 4000, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; UPDATE tt_3, nt_3, nt_4, tt_4 SET tt_3.a= "new text 12", nt_3.a= "new text 12", nt_4.a= "new text 12", tt_4.a = "new text 12" where nt_3.b = nt_4.b and nt_4.b = tt_3.b and tt_3.b = tt_4.b and tt_4.b = 100
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text 4100", 4100, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
#13.e) "B M T R" with error in M generates in the binlog the "B M T R" entries.
|
||||
#
|
||||
BEGIN;
|
||||
INSERT INTO nt_3 VALUES ("new text -30", -30, '');
|
||||
INSERT INTO tt_3 VALUES ("new text -29", -29, ''), ("new text -30", -30, '');
|
||||
ERROR 23000: Duplicate entry '-30' for key 'PRIMARY'
|
||||
INSERT INTO tt_1 VALUES ("new text -30", -30, '');
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
BEGIN;
|
||||
INSERT INTO tt_4 VALUES ("new text -30", -30, '');
|
||||
INSERT INTO nt_4 VALUES ("new text -29", -29, ''), ("new text -30", -30, '');
|
||||
ERROR 23000: Duplicate entry '-30' for key 'PRIMARY'
|
||||
INSERT INTO tt_1 VALUES ("new text -31", -31, '');
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_3 VALUES ("new text -30", -30, '')
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_3 VALUES ("new text -29", -29, ''), ("new text -30", -30, '')
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text -30", -30, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_4 VALUES ("new text -30", -30, '')
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO nt_4 VALUES ("new text -29", -29, ''), ("new text -30", -30, '')
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO tt_1 VALUES ("new text -31", -31, '')
|
||||
master-bin.000001 # Query # # ROLLBACK
|
||||
###################################################################################
|
||||
# CLEAN
|
||||
###################################################################################
|
||||
DROP TABLE tt_1;
|
||||
DROP TABLE tt_2;
|
||||
DROP TABLE tt_3;
|
||||
DROP TABLE tt_4;
|
||||
DROP TABLE nt_1;
|
||||
DROP TABLE nt_2;
|
||||
DROP TABLE nt_3;
|
||||
DROP TABLE nt_4;
|
||||
DROP PROCEDURE pc_i_tt_3;
|
||||
DROP FUNCTION f1;
|
||||
DROP FUNCTION f2;
|
||||
@@ -125,14 +125,13 @@ while ($type)
|
||||
connection master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# Re-enable this after fixing BUG#46130
|
||||
#connection master;
|
||||
#let $diff_statement= SELECT * FROM t order by i;
|
||||
#source include/diff_master_slave.inc;
|
||||
connection master;
|
||||
let $diff_statement= SELECT * FROM t order by i;
|
||||
source include/diff_master_slave.inc;
|
||||
|
||||
#connection master;
|
||||
#let $diff_statement= SELECT * FROM n order by d, f;
|
||||
#source include/diff_master_slave.inc;
|
||||
connection master;
|
||||
let $diff_statement= SELECT * FROM n order by d, f;
|
||||
source include/diff_master_slave.inc;
|
||||
|
||||
--echo ########################################################################
|
||||
--echo # Cleanup
|
||||
|
||||
70
mysql-test/suite/rpl/t/rpl_create_if_not_exists.test
Normal file
70
mysql-test/suite/rpl/t/rpl_create_if_not_exists.test
Normal file
@@ -0,0 +1,70 @@
|
||||
# BUG#45574:
|
||||
# SP: CREATE DATABASE|TABLE IF NOT EXISTS not binlogged if routine exists.
|
||||
#
|
||||
# There is an inconsistency with DROP DATABASE|TABLE|EVENT IF EXISTS and
|
||||
# CREATE DATABASE|TABLE|EVENT IF NOT EXISTS. DROP IF EXISTS statements are
|
||||
# binlogged even if either the DB, TABLE or EVENT does not exist. In
|
||||
# contrast, Only the CREATE EVENT IF NOT EXISTS is binlogged when the EVENT
|
||||
# exists.
|
||||
#
|
||||
# This problem caused some of the tests to fail randomly on PB or PB2.
|
||||
#
|
||||
# Description:
|
||||
# Fixed this bug by adding calls to write_bin_log in:
|
||||
# mysql_create_db
|
||||
# mysql_create_table_no_lock
|
||||
# mysql_create_like_table
|
||||
# create_table_from_items
|
||||
#
|
||||
# Test is implemented as follows:
|
||||
# i) test each "CREATE IF NOT EXISTS" (DDL), found in MySQL 5.1 manual
|
||||
# exclude CREATE TEMPORARY TABLE, on existent objects;
|
||||
#
|
||||
# Note:
|
||||
# rpl_create_tmp_table_if_not_exists.test tests CREATE TEMPORARY TABLE cases.
|
||||
#
|
||||
# References:
|
||||
# http://dev.mysql.com/doc/refman/5.1/en/sql-syntax-data-definition.html
|
||||
#
|
||||
|
||||
source include/master-slave.inc;
|
||||
disable_warnings;
|
||||
DROP DATABASE IF EXISTS mysqltest;
|
||||
|
||||
CREATE DATABASE IF NOT EXISTS mysqltest;
|
||||
USE mysqltest;
|
||||
CREATE TABLE IF NOT EXISTS t(c1 int);
|
||||
CREATE TABLE IF NOT EXISTS t1 LIKE t;
|
||||
CREATE TABLE IF NOT EXISTS t2 SELECT * FROM t;
|
||||
CREATE EVENT IF NOT EXISTS e
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
|
||||
DO SELECT now();
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
#DROP database from slave.
|
||||
#The database and all tables can be recreated in slave
|
||||
#if binlog of the second CREATE command is recorded and sent from master to slave.
|
||||
DROP DATABASE mysqltest;
|
||||
|
||||
connection master;
|
||||
CREATE DATABASE IF NOT EXISTS mysqltest;
|
||||
USE mysqltest;
|
||||
CREATE TABLE IF NOT EXISTS t(c1 int);
|
||||
CREATE TABLE IF NOT EXISTS t1 LIKE t;
|
||||
CREATE TABLE IF NOT EXISTS t2 SELECT * FROM t;
|
||||
CREATE EVENT IF NOT EXISTS e
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
|
||||
DO SELECT now();
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
SHOW TABLES in mysqltest;
|
||||
#Execution time changes in each run. So we disregard it by calling replace_column.
|
||||
replace_column 6 #;
|
||||
SHOW EVENTS in mysqltest;
|
||||
|
||||
|
||||
connection master;
|
||||
DROP DATABASE IF EXISTS mysqltest;
|
||||
source include/master-slave-end.inc;
|
||||
@@ -0,0 +1,41 @@
|
||||
# BUG#45574:
|
||||
# SP: CREATE DATABASE|TABLE IF NOT EXISTS not binlogged if routine exists.
|
||||
#
|
||||
# There is an inconsistency with DROP DATABASE|TABLE|EVENT IF EXISTS and
|
||||
# CREATE DATABASE|TABLE|EVENT IF NOT EXISTS. DROP IF EXISTS statements are
|
||||
# binlogged even if either the DB, TABLE or EVENT does not exist. In
|
||||
# contrast, Only the CREATE EVENT IF NOT EXISTS is binlogged when the EVENT
|
||||
# exists.
|
||||
#
|
||||
# This problem caused some of the tests to fail randomly on PB or PB2.
|
||||
#
|
||||
# Test is implemented as follows:
|
||||
#
|
||||
# i) test each "CREATE TEMPORARY TABLE IF EXISTS" (DDL), found in MySQL
|
||||
# 5.1 manual, on existent objects;
|
||||
# ii) show binlog events;
|
||||
#
|
||||
# Note:
|
||||
# rpl_create_if_not_exists.test tests other cases.
|
||||
#
|
||||
# References:
|
||||
# http://dev.mysql.com/doc/refman/5.1/en/sql-syntax-data-definition.html
|
||||
#
|
||||
|
||||
source include/master-slave.inc;
|
||||
#CREATE TEMPORARY TABLE statements are not binlogged in row mode,
|
||||
#So it must be test by itself.
|
||||
source include/have_binlog_format_mixed_or_statement.inc;
|
||||
disable_warnings;
|
||||
|
||||
DROP DATABASE IF EXISTS mysqltest;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp(c1 int);
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp(c1 int);
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp1 LIKE tmp;
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp1 LIKE tmp;
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp;
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp;
|
||||
source include/show_binlog_events.inc;
|
||||
|
||||
source include/master-slave-end.inc;
|
||||
@@ -12,21 +12,23 @@ source include/have_binlog_format_mixed_or_statement.inc;
|
||||
create database if not exists mysqltest;
|
||||
--enable_warnings
|
||||
|
||||
connect (con_temp,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
|
||||
connection con_temp;
|
||||
use mysqltest;
|
||||
create temporary table mysqltest.t1 (n int)ENGINE=MyISAM;
|
||||
create temporary table mysqltest.t2 (n int)ENGINE=MyISAM;
|
||||
|
||||
disconnect con_temp;
|
||||
--source include/wait_until_disconnected.inc
|
||||
|
||||
connection master;
|
||||
disconnect master;
|
||||
|
||||
connection master1;
|
||||
# Wait until drop of temp tables appears in binlog
|
||||
let $wait_binlog_event= DROP;
|
||||
source include/wait_for_binlog_event.inc;
|
||||
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
show status like 'Slave_open_temp_tables';
|
||||
# Cleanup
|
||||
connection default;
|
||||
connection master;
|
||||
drop database mysqltest;
|
||||
sync_slave_with_master;
|
||||
|
||||
|
||||
@@ -46,12 +46,62 @@ connection master;
|
||||
|
||||
DROP EVENT event2;
|
||||
|
||||
sync_slave_with_master;
|
||||
#
|
||||
# BUG#44331
|
||||
# This test verifies if the definer is consistent between master and slave,
|
||||
# when the event is created without the DEFINER clause set explicitly or the
|
||||
# DEFINER is set to CURRENT_USER
|
||||
#
|
||||
CREATE TABLE test.t1(details CHAR(30));
|
||||
|
||||
# Doing cleanup of the table referred to in the event to guarantee
|
||||
# that there is no bad timing cauing it to try to access the table.
|
||||
CREATE EVENT /*!50000 event44331_1 */
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO INSERT INTO test.t1 VALUES('event event44331_1 fired - no definer');
|
||||
|
||||
CREATE DEFINER=CURRENT_USER /*!50000 EVENT event44331_2 */
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO INSERT INTO test.t1 VALUES('event event44331_2 fired - DEFINER=CURRENT_USER');
|
||||
|
||||
CREATE DEFINER=CURRENT_USER() EVENT event44331_3
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO INSERT INTO test.t1 VALUES('event event44331_3 fired - DEFINER=CURRENT_USER() function');
|
||||
|
||||
CREATE /*!50000 DEFINER='user44331' */ EVENT event44331_4
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO INSERT INTO test.t1 VALUES('event event44331_4 fired - DEFINER=user1');
|
||||
|
||||
--echo #on master
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_1';
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_2';
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_3';
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_4';
|
||||
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
--echo #on slave
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_1';
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_2';
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_3';
|
||||
select EVENT_SCHEMA, EVENT_NAME, DEFINER from information_schema.events
|
||||
where EVENT_NAME='event44331_4';
|
||||
|
||||
connection master;
|
||||
SET @@global.event_scheduler= @old_event_scheduler;
|
||||
DROP TABLE t28953;
|
||||
DROP TABLE t1;
|
||||
DROP EVENT event44331_1;
|
||||
DROP EVENT event44331_2;
|
||||
DROP EVENT event44331_3;
|
||||
DROP EVENT event44331_4;
|
||||
sync_slave_with_master;
|
||||
|
||||
@@ -31,3 +31,20 @@ select hex(a) from t1;
|
||||
connection master;
|
||||
drop table t1;
|
||||
sync_slave_with_master;
|
||||
|
||||
#
|
||||
# Bug#45516
|
||||
# When slave SQL thread executing LOAD DATA command, the
|
||||
# thd->variables.collation_database was not set properly to the default
|
||||
# database charset
|
||||
#
|
||||
|
||||
echo -------------test bug#45516------------------;
|
||||
|
||||
# LOAD DATA INFILE
|
||||
let $LOAD_LOCAL=1;
|
||||
source include/rpl_loaddata_charset.inc;
|
||||
|
||||
# LOAD DATA LOCAL INFILE
|
||||
let $LOAD_LOCAL=0;
|
||||
source include/rpl_loaddata_charset.inc;
|
||||
|
||||
@@ -1 +1 @@
|
||||
"--replicate-rewrite-db=test->rewrite" "--replicate-rewrite-db=mysqltest1->test"
|
||||
"--replicate-rewrite-db=test->rewrite" "--replicate-rewrite-db=mysqltest1->test" "--replicate-rewrite-db=database_master_temp_01->database_slave_temp_01" "--replicate-rewrite-db=database_master_temp_02->database_slave_temp_02" "--replicate-rewrite-db=database_master_temp_03->database_slave_temp_03"
|
||||
|
||||
@@ -76,9 +76,164 @@ connection slave;
|
||||
# The empty line last comes from the end line field in the file
|
||||
select * from rewrite.t1;
|
||||
|
||||
set sql_log_bin= 0;
|
||||
drop database rewrite;
|
||||
set sql_log_bin= 1;
|
||||
|
||||
connection master;
|
||||
set sql_log_bin= 0;
|
||||
drop table t1;
|
||||
set sql_log_bin= 1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
--echo
|
||||
--echo ****
|
||||
--echo **** Bug #46861 Auto-closing of temporary tables broken by replicate-rewrite-db
|
||||
--echo ****
|
||||
--echo
|
||||
|
||||
--echo ****
|
||||
--echo **** Preparing the environment
|
||||
--echo ****
|
||||
connection master;
|
||||
|
||||
connect (con_temp_03,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
connect (con_temp_02,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
connect (con_temp_01,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
|
||||
connection master;
|
||||
SET sql_log_bin= 0;
|
||||
CREATE DATABASE database_master_temp_01;
|
||||
CREATE DATABASE database_master_temp_02;
|
||||
CREATE DATABASE database_master_temp_03;
|
||||
SET sql_log_bin= 1;
|
||||
|
||||
connection slave;
|
||||
SET sql_log_bin= 0;
|
||||
CREATE DATABASE database_slave_temp_01;
|
||||
CREATE DATABASE database_slave_temp_02;
|
||||
CREATE DATABASE database_slave_temp_03;
|
||||
SET sql_log_bin= 1;
|
||||
|
||||
--echo
|
||||
--echo ****
|
||||
--echo **** Creating temporary tables on different databases with different connections
|
||||
--echo ****
|
||||
--echo **** con_temp_01 --> creates
|
||||
--echo **** t_01_01_temp on database_master_temp_01
|
||||
--echo ****
|
||||
--echo **** con_temp_02 --> creates
|
||||
--echo **** t_01_01_temp on database_master_temp_01
|
||||
--echo **** t_02_01_temp, t_02_02_temp on database_master_temp_02
|
||||
--echo ****
|
||||
--echo **** con_temp_02 --> creates
|
||||
--echo **** t_01_01_temp on database_master_temp_01
|
||||
--echo **** t_02_01_temp, t_02_02_temp on database_master_temp_02
|
||||
--echo **** t_03_01_temp, t_03_02_temp, t_03_03_temp on database_master_temp_03
|
||||
--echo ****
|
||||
|
||||
--echo
|
||||
--echo con_temp_01
|
||||
--echo
|
||||
connection con_temp_01;
|
||||
USE database_master_temp_01;
|
||||
CREATE TEMPORARY TABLE t_01_01_temp(a int);
|
||||
INSERT INTO t_01_01_temp VALUES(1);
|
||||
|
||||
--echo
|
||||
--echo con_temp_02
|
||||
--echo
|
||||
connection con_temp_02;
|
||||
USE database_master_temp_01;
|
||||
CREATE TEMPORARY TABLE t_01_01_temp(a int);
|
||||
INSERT INTO t_01_01_temp VALUES(1);
|
||||
USE database_master_temp_02;
|
||||
CREATE TEMPORARY TABLE t_02_01_temp(a int);
|
||||
INSERT INTO t_02_01_temp VALUES(1);
|
||||
CREATE TEMPORARY TABLE t_02_02_temp(a int);
|
||||
INSERT INTO t_02_02_temp VALUES(1);
|
||||
|
||||
--echo
|
||||
--echo con_temp_03
|
||||
--echo
|
||||
connection con_temp_03;
|
||||
USE database_master_temp_01;
|
||||
CREATE TEMPORARY TABLE t_01_01_temp(a int);
|
||||
INSERT INTO t_01_01_temp VALUES(1);
|
||||
USE database_master_temp_02;
|
||||
CREATE TEMPORARY TABLE t_02_01_temp(a int);
|
||||
INSERT INTO t_02_01_temp VALUES(1);
|
||||
CREATE TEMPORARY TABLE t_02_02_temp(a int);
|
||||
INSERT INTO t_02_02_temp VALUES(1);
|
||||
USE database_master_temp_03;
|
||||
CREATE TEMPORARY TABLE t_03_01_temp(a int);
|
||||
INSERT INTO t_03_01_temp VALUES(1);
|
||||
CREATE TEMPORARY TABLE t_03_02_temp(a int);
|
||||
INSERT INTO t_03_02_temp VALUES(1);
|
||||
CREATE TEMPORARY TABLE t_03_03_temp(a int);
|
||||
INSERT INTO t_03_03_temp VALUES(1);
|
||||
|
||||
--echo
|
||||
--echo **** Dropping the connections
|
||||
--echo **** We want to SHOW BINLOG EVENTS, to know what was logged. But there is no
|
||||
--echo **** guarantee that logging of the terminated con1 has been done yet.a To be
|
||||
--echo **** sure that logging has been done, we use a user lock.
|
||||
--echo
|
||||
connection master;
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
show status like 'Slave_open_temp_tables';
|
||||
|
||||
connection master;
|
||||
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
connection con_temp_01;
|
||||
select get_lock("con_01",10);
|
||||
connection master;
|
||||
disconnect con_temp_01;
|
||||
select get_lock("con_01",10);
|
||||
|
||||
connection con_temp_02;
|
||||
select get_lock("con_02",10);
|
||||
connection master;
|
||||
disconnect con_temp_02;
|
||||
select get_lock("con_02",10);
|
||||
|
||||
connection con_temp_03;
|
||||
select get_lock("con_03",10);
|
||||
connection master;
|
||||
disconnect con_temp_03;
|
||||
select get_lock("con_03",10);
|
||||
|
||||
--echo
|
||||
--echo **** Checking the binary log and temporary tables
|
||||
--echo
|
||||
connection master;
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
show status like 'Slave_open_temp_tables';
|
||||
|
||||
connection master;
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
--echo ****
|
||||
--echo **** Cleaning up the test case
|
||||
--echo ****
|
||||
connection master;
|
||||
SET sql_log_bin= 0;
|
||||
DROP DATABASE database_master_temp_01;
|
||||
DROP DATABASE database_master_temp_02;
|
||||
DROP DATABASE database_master_temp_03;
|
||||
SET sql_log_bin= 1;
|
||||
|
||||
connection slave;
|
||||
SET sql_log_bin= 0;
|
||||
DROP DATABASE database_slave_temp_01;
|
||||
DROP DATABASE database_slave_temp_02;
|
||||
DROP DATABASE database_slave_temp_03;
|
||||
SET sql_log_bin= 1;
|
||||
|
||||
connection master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# end of 5.0 tests
|
||||
|
||||
5
mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test
Normal file
5
mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test
Normal file
@@ -0,0 +1,5 @@
|
||||
--source include/have_binlog_format_statement.inc
|
||||
--source include/master-slave.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
--source extra/rpl_tests/rpl_mixing_engines.test
|
||||
@@ -11,11 +11,13 @@ CREATE TABLE t1 (a int auto_increment primary key not null, b longtext) ENGINE=M
|
||||
|
||||
--disable_query_log
|
||||
let $1= 303;
|
||||
begin;
|
||||
while ($1)
|
||||
{
|
||||
INSERT INTO t1 SET b=repeat('a',200);
|
||||
dec $1;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
|
||||
DELETE FROM t1 WHERE a=1 or a=5;
|
||||
|
||||
@@ -121,11 +121,15 @@ alter table t1 disable keys;
|
||||
show keys from t1;
|
||||
#let $1=10000;
|
||||
let $1=10;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($1)
|
||||
{
|
||||
eval insert into t1 values($1,RAND()*1000,RAND()*1000,RAND());
|
||||
dec $1;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
alter table t1 enable keys;
|
||||
show keys from t1;
|
||||
drop table t1;
|
||||
@@ -144,11 +148,15 @@ drop table t1;
|
||||
|
||||
create table t1 (a int, b int);
|
||||
let $1=100;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($1)
|
||||
{
|
||||
eval insert into t1 values(1,$1), (2,$1), (3, $1);
|
||||
dec $1;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
alter table t1 add unique (a,b), add key (b);
|
||||
show keys from t1;
|
||||
analyze table t1;
|
||||
@@ -966,12 +974,14 @@ DROP TABLE t1;
|
||||
create table t1(f1 int not null, f2 int not null, key (f1), key (f2));
|
||||
let $count= 50;
|
||||
--disable_query_log
|
||||
begin;
|
||||
while ($count)
|
||||
{
|
||||
EVAL insert into t1 values (1,1),(1,1),(1,1),(1,1),(1,1);
|
||||
EVAL insert into t1 values (2,2),(2,2),(2,2),(2,2),(2,2);
|
||||
dec $count ;
|
||||
}
|
||||
commit;
|
||||
--enable_query_log
|
||||
|
||||
select index_length into @unpaked_keys_size from
|
||||
|
||||
@@ -14,6 +14,7 @@ create table t2 select * from t1 procedure analyse();
|
||||
select * from t2;
|
||||
drop table t1,t2;
|
||||
|
||||
--error ER_WRONG_USAGE
|
||||
EXPLAIN SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE();
|
||||
|
||||
#
|
||||
@@ -102,4 +103,13 @@ select f2 from t1 procedure analyse(1, 1);
|
||||
select f3 from t1 procedure analyse(1, 1);
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#46184 Crash, SELECT ... FROM derived table procedure analyze
|
||||
#
|
||||
CREATE TABLE t1(a INT,b INT,c INT,d INT,e INT,f INT,g INT,h INT,i INT,j INT,k INT);
|
||||
INSERT INTO t1 VALUES ();
|
||||
--error ER_WRONG_USAGE
|
||||
SELECT * FROM (SELECT * FROM t1) d PROCEDURE ANALYSE();
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 4.1 tests
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user