diff --git a/mysql-test/extra/rpl_tests/rpl_loaddata.test b/mysql-test/extra/rpl_tests/rpl_loaddata.test index 3c7aa9e94743c..67eb137bdf496 100644 --- a/mysql-test/extra/rpl_tests/rpl_loaddata.test +++ b/mysql-test/extra/rpl_tests/rpl_loaddata.test @@ -18,26 +18,14 @@ source include/have_innodb.inc; CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"); --enable_query_log -# MTR is not case-sensitive. -let $lower_stmt_head= load data; -let $UPPER_STMT_HEAD= LOAD DATA; -if ($lock_option) -{ - #if $lock_option is null, an extra blank is added into the statement, - #this will change the result of rpl_loaddata test case. so $lock_option - #is set only when it is not null. - let $lower_stmt_head= load data $lock_option; - let $UPPER_STMT_HEAD= LOAD DATA $lock_option; -} - select last_insert_id(); create table t1(a int not null auto_increment, b int, primary key(a) ); -eval $lower_stmt_head infile '../../std_data/rpl_loaddata.dat' into table t1; +eval load data $lock_option infile '../../std_data/rpl_loaddata.dat' into table t1; # verify that LAST_INSERT_ID() is set by LOAD DATA INFILE select last_insert_id(); create temporary table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60)); -eval $lower_stmt_head infile '../../std_data/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines; +eval load data $lock_option infile '../../std_data/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines; create table t3 (day date,id int(9),category enum('a','b','c'),name varchar(60)); --disable_warnings @@ -63,7 +51,7 @@ sync_slave_with_master; insert into t1 values(1,10); connection master; -eval $lower_stmt_head infile '../../std_data/rpl_loaddata.dat' into table t1; +eval load data $lock_option infile '../../std_data/rpl_loaddata.dat' into table t1; save_master_pos; connection slave; @@ -86,7 +74,7 @@ connection master; set sql_log_bin=0; delete from t1; set sql_log_bin=1; -eval $lower_stmt_head infile '../../std_data/rpl_loaddata.dat' into table t1; +eval load data $lock_option infile '../../std_data/rpl_loaddata.dat' into table t1; save_master_pos; connection slave; # The SQL slave thread should be stopped now. @@ -111,7 +99,7 @@ connection master; set sql_log_bin=0; delete from t1; set sql_log_bin=1; -eval $lower_stmt_head infile '../../std_data/rpl_loaddata.dat' into table t1; +eval load data $lock_option infile '../../std_data/rpl_loaddata.dat' into table t1; save_master_pos; connection slave; # The SQL slave thread should be stopped now. @@ -131,7 +119,7 @@ reset master; eval create table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60), unique(day)) engine=$engine_type; # no transactions --error ER_DUP_ENTRY -eval $lower_stmt_head infile '../../std_data/rpl_loaddata2.dat' into table t2 fields +eval load data $lock_option infile '../../std_data/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines; select * from t2; @@ -147,7 +135,7 @@ alter table t2 drop key day; connection master; delete from t2; --error ER_DUP_ENTRY -eval $lower_stmt_head infile '../../std_data/rpl_loaddata2.dat' into table t2 fields +eval load data $lock_option infile '../../std_data/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines; connection slave; @@ -167,7 +155,7 @@ drop table t1, t2; CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=INNODB; --error ER_DUP_ENTRY -eval $UPPER_STMT_HEAD INFILE "../../std_data/words.dat" INTO TABLE t1; +eval LOAD DATA $lock_option INFILE "../../std_data/words.dat" INTO TABLE t1; DROP TABLE t1; @@ -196,17 +184,17 @@ DROP TABLE t1; -- echo ### assertion: works with cross-referenced database -- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR --- eval $UPPER_STMT_HEAD LOCAL INFILE '$MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE $db1.t1 +-- eval LOAD DATA $lock_option LOCAL INFILE '$MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE $db1.t1 -- eval use $db1 -- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR -- echo ### assertion: works with fully qualified name on current database -- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR --- eval $UPPER_STMT_HEAD LOCAL INFILE '$MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE $db1.t1 +-- eval LOAD DATA $lock_option LOCAL INFILE '$MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE $db1.t1 -- echo ### assertion: works without fully qualified name on current database -- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR --- eval $UPPER_STMT_HEAD LOCAL INFILE '$MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE t1 +-- eval LOAD DATA $lock_option LOCAL INFILE '$MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE t1 -- echo ### create connection without default database -- echo ### connect (conn2,localhost,root,,*NO-ONE*); @@ -214,7 +202,7 @@ connect (conn2,localhost,root,,*NO-ONE*); -- connection conn2 -- echo ### assertion: works without stating the default database -- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR --- eval $UPPER_STMT_HEAD LOCAL INFILE '$MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE $db1.t1 +-- eval LOAD DATA $lock_option LOCAL INFILE '$MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE $db1.t1 # We cannot disconnect right away because when inserting # concurrently in a MyISAM table, the server is sending an OK diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index bb6fdd69206eb..1c936031e4db0 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -5712,7 +5712,7 @@ sub get_extra_opts { sub stop_servers($$) { my (@servers)= @_; - mtr_report("Restarting ", started(@servers)); + mtr_report("Stopping ", started(@servers)); My::SafeProcess::shutdown($opt_shutdown_timeout, started(@servers)); diff --git a/mysql-test/suite/rpl/r/rpl_loaddata.result b/mysql-test/suite/rpl/r/rpl_loaddata.result index 310c88cc4196a..eaf3fb6a94718 100644 --- a/mysql-test/suite/rpl/r/rpl_loaddata.result +++ b/mysql-test/suite/rpl/r/rpl_loaddata.result @@ -4,12 +4,12 @@ select last_insert_id(); last_insert_id() 0 create table t1(a int not null auto_increment, b int, primary key(a) ); -load data infile '../../std_data/rpl_loaddata.dat' into table t1; +load data infile '../../std_data/rpl_loaddata.dat' into table t1; select last_insert_id(); last_insert_id() 1 create temporary table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60)); -load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines; +load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines; create table t3 (day date,id int(9),category enum('a','b','c'),name varchar(60)); insert into t3 select * from t2; select * from t1; @@ -26,7 +26,7 @@ drop table t2; drop table t3; create table t1(a int, b int, unique(b)); insert into t1 values(1,10); -load data infile '../../std_data/rpl_loaddata.dat' into table t1; +load data infile '../../std_data/rpl_loaddata.dat' into table t1; call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* error.* 1062"); call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*error.* 0"); include/wait_for_slave_sql_error_and_skip.inc [errno=1062] @@ -34,7 +34,7 @@ include/check_slave_no_error.inc set sql_log_bin=0; delete from t1; set sql_log_bin=1; -load data infile '../../std_data/rpl_loaddata.dat' into table t1; +load data infile '../../std_data/rpl_loaddata.dat' into table t1; include/wait_for_slave_sql_error.inc [errno=1062] include/stop_slave_io.inc change master to master_user='test'; @@ -45,7 +45,7 @@ start slave; set sql_log_bin=0; delete from t1; set sql_log_bin=1; -load data infile '../../std_data/rpl_loaddata.dat' into table t1; +load data infile '../../std_data/rpl_loaddata.dat' into table t1; include/wait_for_slave_sql_error.inc [errno=1062] stop slave; reset slave; @@ -53,7 +53,7 @@ include/check_slave_no_error.inc reset master; create table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60), unique(day)) engine=MyISAM; -load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields +load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines; ERROR 23000: Duplicate entry '2003-03-22' for key 'day' @@ -68,7 +68,7 @@ day id category name 2003-03-22 2161 c asdf alter table t2 drop key day; delete from t2; -load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields +load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by '\n##\n' starting by '>' ignore 1 lines; ERROR 23000: Duplicate entry '2003-03-22' for key 'day' @@ -76,7 +76,7 @@ include/wait_for_slave_sql_error.inc [errno=0] drop table t1, t2; drop table t1, t2; CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=INNODB; -LOAD DATA INFILE "../../std_data/words.dat" INTO TABLE t1; +LOAD DATA INFILE "../../std_data/words.dat" INTO TABLE t1; ERROR 23000: Duplicate entry 'Aarhus' for key 'PRIMARY' DROP TABLE t1; include/rpl_reset.inc @@ -88,16 +88,16 @@ use b48297_db1; CREATE TABLE t1 (c1 VARCHAR(256)) engine=MyISAM;; use b42897_db2; ### assertion: works with cross-referenced database -LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1; +LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1; use b48297_db1; ### assertion: works with fully qualified name on current database -LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1; +LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1; ### assertion: works without fully qualified name on current database -LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE t1; +LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE t1; ### create connection without default database ### connect (conn2,localhost,root,,*NO-ONE*); ### assertion: works without stating the default database -LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1; +LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1; ### disconnect and switch back to master connection use b48297_db1; include/diff_tables.inc [master:b48297_db1.t1, slave:b48297_db1.t1]