mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
43489240ad
binlog even if they changed nothing, and a test for this. This is useful when users use these commands to clean up their master and slave by issuing one command on master (assume master and slave have slightly different data for some reason and you want to clean up both). Note that I have not changed multi-table DELETE and multi-table UPDATE because their error-reporting mechanism is more complicated. mysql-test/r/mysqlbinlog.result: result update mysql-test/r/rpl_charset.result: result update mysql-test/r/rpl_flush_log_loop.result: result update mysql-test/r/rpl_replicate_do.result: result update mysql-test/r/rpl_temporary.result: result update mysql-test/t/mysqlbinlog.test: moving SET TIMESTAMP up as DROP shows up in binlog sql/sql_db.cc: DROP DATABASE IF EXISTS is now always logged to binlog, even if db did not exist sql/sql_delete.cc: DELETE FROM t is now always logged to binlog even if no rows deleted (but in this case, only if really no error). sql/sql_table.cc: DROP TABLE IF EXISTS is now always logged to binlog even if table did not exist sql/sql_update.cc: UPDATE is now always logged to binlog even if no rows updated (but in this case, only if really no error).
87 lines
4 KiB
Text
87 lines
4 KiB
Text
set timestamp=1000000000;
|
|
drop table if exists t1,t2;
|
|
create table t1 (word varchar(20));
|
|
create table t2 (id int auto_increment not null primary key);
|
|
insert into t1 values ("abirvalg");
|
|
insert into t2 values ();
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
insert into t1 values ("Alas");
|
|
flush logs;
|
|
|
|
--- Local --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
use test;
|
|
SET TIMESTAMP=1000000000;
|
|
drop table if exists t1,t2;
|
|
SET TIMESTAMP=1000000000;
|
|
create table t1 (word varchar(20));
|
|
SET TIMESTAMP=1000000000;
|
|
create table t2 (id int auto_increment not null primary key);
|
|
SET TIMESTAMP=1000000000;
|
|
insert into t1 values ("abirvalg");
|
|
SET INSERT_ID=1;
|
|
SET TIMESTAMP=1000000000;
|
|
insert into t2 values ();
|
|
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-1-0' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
|
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-2-0' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
|
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-3-0' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
|
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-4-0' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
|
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-5-0' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
|
|
|
--- Broken LOAD DATA --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
use test;
|
|
SET TIMESTAMP=1000000000;
|
|
insert into t1 values ("Alas");
|
|
|
|
--- --database --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
SET INSERT_ID=1;
|
|
|
|
--- --position --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
use test;
|
|
SET TIMESTAMP=1000000000;
|
|
insert into t1 values ("Alas");
|
|
|
|
--- Remote --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
use test;
|
|
SET TIMESTAMP=1000000000;
|
|
drop table if exists t1,t2;
|
|
SET TIMESTAMP=1000000000;
|
|
create table t1 (word varchar(20));
|
|
SET TIMESTAMP=1000000000;
|
|
create table t2 (id int auto_increment not null primary key);
|
|
SET TIMESTAMP=1000000000;
|
|
insert into t1 values ("abirvalg");
|
|
SET INSERT_ID=1;
|
|
SET TIMESTAMP=1000000000;
|
|
insert into t2 values ();
|
|
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-1-1' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
|
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-2-1' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
|
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-3-1' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
|
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-4-1' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
|
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-5-1' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
|
|
|
--- Broken LOAD DATA --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
use test;
|
|
SET TIMESTAMP=1000000000;
|
|
insert into t1 values ("Alas");
|
|
|
|
--- --database --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
SET INSERT_ID=1;
|
|
|
|
--- --position --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
use test;
|
|
SET TIMESTAMP=1000000000;
|
|
insert into t1 values ("Alas");
|
|
drop table t1, t2;
|