mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Manual resolving for the following files
Text conflict in mysql-test/collections/default.experimental Text conflict in mysql-test/r/show_check.result Text conflict in mysql-test/r/sp-code.result Text conflict in mysql-test/suite/binlog/r/binlog_tmp_table.result Text conflict in mysql-test/suite/rpl/t/disabled.def Text conflict in mysql-test/t/show_check.test Text conflict in mysys/my_delete.c Text conflict in sql/item.h Text conflict in sql/item_cmpfunc.h Text conflict in sql/log.cc Text conflict in sql/mysqld.cc Text conflict in sql/repl_failsafe.cc Text conflict in sql/slave.cc Text conflict in sql/sql_parse.cc Text conflict in sql/sql_table.cc Text conflict in sql/sql_yacc.yy Text conflict in storage/myisam/ha_myisam.cc Corrected results for stm_auto_increment_bug33029.reject 2009-12-01 20:01:49.000000000 +0300 <andrei> @@ -42,9 +42,6 @@ <andrei> RETURN i; <andrei> END// <andrei> CALL p1(); <andrei> -Warnings: <andrei> -Note 1592 Statement may not be safe to log in statement format. <andrei> -Note 1592 Statement may not be safe to log in statement format. There should be indeed no Note present because there is in fact autoincrement top-level query in sp() that triggers inserting in yet another auto-inc table. (todo: alert DaoGang to improve the test).
This commit is contained in:
@ -442,6 +442,7 @@ Exit_status Load_log_processor::process_first_event(const char *bname,
|
|||||||
{
|
{
|
||||||
error("Could not construct local filename %s%s.",
|
error("Could not construct local filename %s%s.",
|
||||||
target_dir_name,bname);
|
target_dir_name,bname);
|
||||||
|
my_free(fname, MYF(0));
|
||||||
delete ce;
|
delete ce;
|
||||||
DBUG_RETURN(ERROR_STOP);
|
DBUG_RETURN(ERROR_STOP);
|
||||||
}
|
}
|
||||||
@ -449,9 +450,15 @@ Exit_status Load_log_processor::process_first_event(const char *bname,
|
|||||||
rec.fname= fname;
|
rec.fname= fname;
|
||||||
rec.event= ce;
|
rec.event= ce;
|
||||||
|
|
||||||
|
/*
|
||||||
|
fname is freed in process_event()
|
||||||
|
after Execute_load_query_log_event or Execute_load_log_event
|
||||||
|
will have been processed, otherwise in Load_log_processor::destroy()
|
||||||
|
*/
|
||||||
if (set_dynamic(&file_names, (uchar*)&rec, file_id))
|
if (set_dynamic(&file_names, (uchar*)&rec, file_id))
|
||||||
{
|
{
|
||||||
error("Out of memory.");
|
error("Out of memory.");
|
||||||
|
my_free(fname, MYF(0));
|
||||||
delete ce;
|
delete ce;
|
||||||
DBUG_RETURN(ERROR_STOP);
|
DBUG_RETURN(ERROR_STOP);
|
||||||
}
|
}
|
||||||
@ -831,7 +838,17 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
|||||||
print_event_info->common_header_len=
|
print_event_info->common_header_len=
|
||||||
glob_description_event->common_header_len;
|
glob_description_event->common_header_len;
|
||||||
ev->print(result_file, print_event_info);
|
ev->print(result_file, print_event_info);
|
||||||
ev->temp_buf= 0; // as the event ref is zeroed
|
if (!remote_opt)
|
||||||
|
{
|
||||||
|
ev->free_temp_buf(); // free memory allocated in dump_local_log_entries
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
disassociate but not free dump_remote_log_entries time memory
|
||||||
|
*/
|
||||||
|
ev->temp_buf= 0;
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
We don't want this event to be deleted now, so let's hide it (I
|
We don't want this event to be deleted now, so let's hide it (I
|
||||||
(Guilhem) should later see if this triggers a non-serious Valgrind
|
(Guilhem) should later see if this triggers a non-serious Valgrind
|
||||||
|
@ -81,4 +81,3 @@ parts.partition_syntax_ndb
|
|||||||
parts.partition_alter1_1_2_ndb
|
parts.partition_alter1_1_2_ndb
|
||||||
parts.partition_basic_ndb
|
parts.partition_basic_ndb
|
||||||
parts.partition_mgm_lc0_ndb
|
parts.partition_mgm_lc0_ndb
|
||||||
|
|
||||||
|
@ -179,7 +179,9 @@ begin
|
|||||||
end|
|
end|
|
||||||
delimiter ;|
|
delimiter ;|
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
insert into t1 (last_id) values (0);
|
insert into t1 (last_id) values (0);
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
drop trigger t1_bi;
|
drop trigger t1_bi;
|
||||||
|
|
||||||
@ -512,7 +514,9 @@ set sql_log_bin=0;
|
|||||||
insert into t2 (id) values(5),(6),(7);
|
insert into t2 (id) values(5),(6),(7);
|
||||||
delete from t2 where id>=5;
|
delete from t2 where id>=5;
|
||||||
set sql_log_bin=1;
|
set sql_log_bin=1;
|
||||||
|
--disable_warnings
|
||||||
insert into t1 select insid();
|
insert into t1 select insid();
|
||||||
|
--enable_warnings
|
||||||
select * from t1 order by id;
|
select * from t1 order by id;
|
||||||
select * from t2 order by id;
|
select * from t2 order by id;
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ source include/show_slave_status2.inc;
|
|||||||
reset slave;
|
reset slave;
|
||||||
source include/show_slave_status2.inc;
|
source include/show_slave_status2.inc;
|
||||||
|
|
||||||
|
change master to master_user='root';
|
||||||
start slave;
|
start slave;
|
||||||
sync_with_master;
|
sync_with_master;
|
||||||
source include/show_slave_status2.inc;
|
source include/show_slave_status2.inc;
|
||||||
|
@ -36,7 +36,7 @@ SELECT LENGTH(data) FROM test.t1 WHERE c1 = 3;
|
|||||||
save_master_pos;
|
save_master_pos;
|
||||||
connection slave;
|
connection slave;
|
||||||
sync_with_master;
|
sync_with_master;
|
||||||
sleep 5;
|
--source include/wait_for_ndb_to_binlog.inc
|
||||||
--echo
|
--echo
|
||||||
--echo **** Data Insert Validation Slave Section test.t1 ****
|
--echo **** Data Insert Validation Slave Section test.t1 ****
|
||||||
--echo
|
--echo
|
||||||
@ -56,12 +56,10 @@ UPDATE t1 set data=repeat('c',17*1024) where c1 = 2;
|
|||||||
--echo
|
--echo
|
||||||
SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1;
|
SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1;
|
||||||
SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2;
|
SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2;
|
||||||
# Sleep is needed for NDB to allow time for
|
|
||||||
# Injector thread to populate the bin log.
|
|
||||||
save_master_pos;
|
save_master_pos;
|
||||||
connection slave;
|
connection slave;
|
||||||
sync_with_master;
|
sync_with_master;
|
||||||
sleep 5;
|
--source include/wait_for_ndb_to_binlog.inc
|
||||||
--echo
|
--echo
|
||||||
--echo **** Data Update Validation Slave Section test.t1 ****
|
--echo **** Data Update Validation Slave Section test.t1 ****
|
||||||
--echo
|
--echo
|
||||||
@ -132,7 +130,7 @@ FROM test.t2 WHERE c1=2;
|
|||||||
save_master_pos;
|
save_master_pos;
|
||||||
connection slave;
|
connection slave;
|
||||||
sync_with_master;
|
sync_with_master;
|
||||||
sleep 5;
|
--source include/wait_for_ndb_to_binlog.inc
|
||||||
--echo
|
--echo
|
||||||
--echo **** Data Insert Validation Slave Section test.t2 ****
|
--echo **** Data Insert Validation Slave Section test.t2 ****
|
||||||
--echo
|
--echo
|
||||||
@ -155,12 +153,10 @@ SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
|
|||||||
FROM test.t2 WHERE c1=1;
|
FROM test.t2 WHERE c1=1;
|
||||||
SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
|
SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
|
||||||
FROM test.t2 WHERE c1=2;
|
FROM test.t2 WHERE c1=2;
|
||||||
# Sleep is needed for NDB to allow time for
|
|
||||||
# Injector thread to populate the bin log.
|
|
||||||
save_master_pos;
|
save_master_pos;
|
||||||
connection slave;
|
connection slave;
|
||||||
sync_with_master;
|
sync_with_master;
|
||||||
sleep 5;
|
--source include/wait_for_ndb_to_binlog.inc
|
||||||
--echo
|
--echo
|
||||||
--echo **** Data Update Validation Slave Section test.t2 ****
|
--echo **** Data Update Validation Slave Section test.t2 ****
|
||||||
--echo
|
--echo
|
||||||
|
@ -3,10 +3,7 @@
|
|||||||
# Original Date: Aug/15/2005 #
|
# Original Date: Aug/15/2005 #
|
||||||
# Update: 08/29/2005 Comment out sleep. Only needed for debugging #
|
# Update: 08/29/2005 Comment out sleep. Only needed for debugging #
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# Note: Many lines are commented out in this test case. These were used for #
|
# Note: Time changes and is not deteministic, so instead we dump both the #
|
||||||
# creating the test case and debugging and are being left for #
|
|
||||||
# debugging, but they can not be used for the regular testing as the #
|
|
||||||
# Time changes and is not deteministic, so instead we dump both the #
|
|
||||||
# master and slave and diff the dumps. If the dumps differ then the #
|
# master and slave and diff the dumps. If the dumps differ then the #
|
||||||
# test case will fail. To run during diff failuers, comment out the #
|
# test case will fail. To run during diff failuers, comment out the #
|
||||||
# diff. #
|
# diff. #
|
||||||
@ -26,7 +23,6 @@ DROP TABLE IF EXISTS test.t1;
|
|||||||
|
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
|
|
||||||
eval CREATE TABLE test.t1 (a INT NOT NULL AUTO_INCREMENT, c CHAR(16),PRIMARY KEY(a))ENGINE=$engine_type;
|
eval CREATE TABLE test.t1 (a INT NOT NULL AUTO_INCREMENT, c CHAR(16),PRIMARY KEY(a))ENGINE=$engine_type;
|
||||||
|
|
||||||
delimiter |;
|
delimiter |;
|
||||||
@ -44,33 +40,24 @@ END|
|
|||||||
delimiter ;|
|
delimiter ;|
|
||||||
|
|
||||||
INSERT INTO test.t1 VALUES (null,test.f1()),(null,test.f1()),(null,test.f1());
|
INSERT INTO test.t1 VALUES (null,test.f1()),(null,test.f1()),(null,test.f1());
|
||||||
sleep 6;
|
|
||||||
INSERT INTO test.t1 VALUES (null,test.f1()),(null,test.f1()),(null,test.f1());
|
INSERT INTO test.t1 VALUES (null,test.f1()),(null,test.f1()),(null,test.f1());
|
||||||
sleep 6;
|
|
||||||
|
|
||||||
#Select in this test are used for debugging
|
|
||||||
#select * from test.t1;
|
|
||||||
#connection slave;
|
|
||||||
#select * from test.t1;
|
|
||||||
|
|
||||||
connection master;
|
|
||||||
SET AUTOCOMMIT=0;
|
SET AUTOCOMMIT=0;
|
||||||
START TRANSACTION;
|
START TRANSACTION;
|
||||||
INSERT INTO test.t1 VALUES (null,test.f1());
|
INSERT INTO test.t1 VALUES (null,test.f1());
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
SET AUTOCOMMIT=1;
|
SET AUTOCOMMIT=1;
|
||||||
#select * from test.t1;
|
|
||||||
#sleep 6;
|
|
||||||
|
|
||||||
#connection slave;
|
# Sync master and slave for all engines except NDB
|
||||||
#select * from test.t1;
|
if (`SELECT UPPER(LEFT('$engine_type', 3)) != 'NDB'`) {
|
||||||
|
sync_slave_with_master;
|
||||||
|
connection master;
|
||||||
|
}
|
||||||
|
# Sync master and slave for NDB engine
|
||||||
|
let $wait_time= 6;
|
||||||
|
--source include/wait_for_ndb_to_binlog.inc
|
||||||
|
|
||||||
#connection master;
|
# Time to dump the databases and so we can see if they match
|
||||||
|
|
||||||
#used for debugging
|
|
||||||
#show binlog events;
|
|
||||||
|
|
||||||
# time to dump the databases and so we can see if they match
|
|
||||||
|
|
||||||
--exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/func003_master.sql
|
--exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/func003_master.sql
|
||||||
--exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/func003_slave.sql
|
--exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/func003_slave.sql
|
||||||
@ -87,5 +74,8 @@ DROP TABLE test.t1;
|
|||||||
|
|
||||||
diff_files $MYSQLTEST_VARDIR/tmp/func003_master.sql $MYSQLTEST_VARDIR/tmp/func003_slave.sql;
|
diff_files $MYSQLTEST_VARDIR/tmp/func003_master.sql $MYSQLTEST_VARDIR/tmp/func003_slave.sql;
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
remove_file $MYSQLTEST_VARDIR/tmp/func003_master.sql;
|
||||||
|
remove_file $MYSQLTEST_VARDIR/tmp/func003_slave.sql;
|
||||||
|
|
||||||
# End of 5.0 test case
|
# End of 5.0 test case
|
||||||
|
@ -41,10 +41,7 @@ CALL test.p2();
|
|||||||
SELECT release_lock("test");
|
SELECT release_lock("test");
|
||||||
SELECT * FROM test.t1;
|
SELECT * FROM test.t1;
|
||||||
#show binlog events;
|
#show binlog events;
|
||||||
# Added sleep for use with NDB to ensure that
|
--source include/wait_for_ndb_to_binlog.inc
|
||||||
# the injector thread will populate log before
|
|
||||||
# we switch to the slave.
|
|
||||||
sleep 5;
|
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
connection slave;
|
connection slave;
|
||||||
SELECT * FROM test.t1;
|
SELECT * FROM test.t1;
|
||||||
|
@ -68,8 +68,8 @@ enable_query_log;
|
|||||||
connection slave;
|
connection slave;
|
||||||
lock tables t1 read;
|
lock tables t1 read;
|
||||||
start slave;
|
start slave;
|
||||||
#hope this is long enough for I/O thread to fetch over 16K relay log data
|
connection master;
|
||||||
sleep 3;
|
--source include/sync_slave_io_with_master.inc
|
||||||
unlock tables;
|
unlock tables;
|
||||||
|
|
||||||
#test handling of aborted connection in the middle of update
|
#test handling of aborted connection in the middle of update
|
||||||
|
@ -35,9 +35,8 @@ INSERT INTO test.t2 VALUES (1, 0.0);
|
|||||||
#show binlog events;
|
#show binlog events;
|
||||||
select * from test.t1;
|
select * from test.t1;
|
||||||
select * from test.t2;
|
select * from test.t2;
|
||||||
# Have to sleep for a few seconds to allow
|
let $wait_time= 10;
|
||||||
# NDB injector thread to populate binlog
|
--source include/wait_for_ndb_to_binlog.inc
|
||||||
sleep 10;
|
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
connection slave;
|
connection slave;
|
||||||
select * from test.t1;
|
select * from test.t1;
|
||||||
|
@ -6,12 +6,29 @@
|
|||||||
# Since we expect STOP SLAVE to produce a warning as the slave is
|
# Since we expect STOP SLAVE to produce a warning as the slave is
|
||||||
# stopped (the server was started with skip-slave-start), we disable
|
# stopped (the server was started with skip-slave-start), we disable
|
||||||
# warnings when doing STOP SLAVE.
|
# warnings when doing STOP SLAVE.
|
||||||
|
#
|
||||||
|
# $no_change_master If true, no change master will be done nor any reset slave.
|
||||||
|
# This is to avoid touching the relay-log.info file allowing
|
||||||
|
# the test to create one itself.
|
||||||
|
# $skip_slave_start If true, the slave will not be started
|
||||||
|
|
||||||
connection slave;
|
connection slave;
|
||||||
|
|
||||||
|
#we expect STOP SLAVE to produce a warning as the slave is stopped
|
||||||
|
#(the server was started with skip-slave-start)
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
stop slave;
|
stop slave;
|
||||||
|
--disable_query_log
|
||||||
|
if (!$no_change_master) {
|
||||||
|
eval CHANGE MASTER TO MASTER_USER='root',
|
||||||
|
MASTER_CONNECT_RETRY=1,
|
||||||
|
MASTER_HOST='127.0.0.1',
|
||||||
|
MASTER_PORT=$MASTER_MYPORT;
|
||||||
|
}
|
||||||
|
--enable_query_log
|
||||||
source include/wait_for_slave_to_stop.inc;
|
source include/wait_for_slave_to_stop.inc;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
connection master;
|
connection master;
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
@ -20,17 +37,39 @@ use test;
|
|||||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
reset master;
|
reset master;
|
||||||
|
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
|
if (!$no_change_master) {
|
||||||
reset slave;
|
reset slave;
|
||||||
|
}
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
connection slave;
|
connection slave;
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
# the first RESET SLAVE may produce a warning about non-existent
|
||||||
|
# 'ndb_apply_status' table, because this table is created
|
||||||
|
# asynchronously at the server startup and may not exist yet
|
||||||
|
# if RESET SLAVE comes too soon after the server startup
|
||||||
|
if (!$no_change_master) {
|
||||||
reset slave;
|
reset slave;
|
||||||
|
}
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
# Clean up old test tables
|
# Clean up old test tables
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
|
#eval CHANGE MASTER TO MASTER_USER='root',
|
||||||
|
# MASTER_CONNECT_RETRY=1,
|
||||||
|
# MASTER_HOST='127.0.0.1',
|
||||||
|
# MASTER_PORT=$MASTER_MYPORT;
|
||||||
reset master;
|
reset master;
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
|
|
||||||
|
if (!$skip_slave_start) {
|
||||||
start slave;
|
start slave;
|
||||||
source include/wait_for_slave_to_start.inc;
|
source include/wait_for_slave_to_start.inc;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
# Replication tests need binlog
|
# Replication tests need binlog
|
||||||
|
#
|
||||||
|
# $skip_slave_start If true, the slave will not be started
|
||||||
source include/have_log_bin.inc;
|
source include/have_log_bin.inc;
|
||||||
|
|
||||||
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||||
@ -8,7 +10,10 @@ connect (slave1,127.0.0.1,root,,test,$SLAVE_MYPORT,);
|
|||||||
|
|
||||||
-- source include/master-slave-reset.inc
|
-- source include/master-slave-reset.inc
|
||||||
|
|
||||||
|
if (!$skip_slave_start) {
|
||||||
connection master;
|
connection master;
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
|
}
|
||||||
|
|
||||||
# Set the default connection to 'master'
|
# Set the default connection to 'master'
|
||||||
connection master;
|
connection master;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
--require r/not_ndb_default.require
|
--require r/not_ndb_default.require
|
||||||
disable_query_log;
|
disable_query_log;
|
||||||
select convert(@@table_type using latin1) NOT IN ("ndbcluster","NDBCLUSTER") as "TRUE";
|
select convert(@@storage_engine using latin1) NOT IN ("ndbcluster","NDBCLUSTER") as "TRUE";
|
||||||
enable_query_log;
|
enable_query_log;
|
||||||
|
41
mysql-test/include/wait_for_ndb_to_binlog.inc
Normal file
41
mysql-test/include/wait_for_ndb_to_binlog.inc
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
# ==== Purpose ====
|
||||||
|
#
|
||||||
|
# Several test primitives from mysql-test/extra/rpl_tests
|
||||||
|
# shared for test cases for MyISAM, InnoDB, NDB and other
|
||||||
|
# engines. But for NDB all events will be added by NDB
|
||||||
|
# injector and now there are no way to detect the state of
|
||||||
|
# NDB injector therefore this primitive waits 5 sec
|
||||||
|
# if engine type is NDB.
|
||||||
|
# In future that should be fixed by waiting of proper
|
||||||
|
# state of NDB injector.
|
||||||
|
#
|
||||||
|
# ==== Usage ====
|
||||||
|
#
|
||||||
|
# let $engine_type= NDB;
|
||||||
|
# --source include/wait_for_ndb_to_binlog.inc
|
||||||
|
#
|
||||||
|
# ==== Parameters =====
|
||||||
|
#
|
||||||
|
# $engine_type
|
||||||
|
# Type of engine. If type is NDB then it waits $wait_time sec
|
||||||
|
#
|
||||||
|
# $wait_time
|
||||||
|
# Test will wait $wait_time seconds
|
||||||
|
|
||||||
|
let $_wait_time= 5;
|
||||||
|
|
||||||
|
if (!$wait_time) {
|
||||||
|
let $_wait_time= $wait_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (`SELECT UPPER(LEFT('$engine_type',3)) = 'NDB'`) {
|
||||||
|
while (!$_wait_time) {
|
||||||
|
let $_wait_time_internal= 10;
|
||||||
|
while (!$_wait_time_internal) {
|
||||||
|
sleep 0.1;
|
||||||
|
dec $_wait_time_internal;
|
||||||
|
}
|
||||||
|
dec $_wait_time;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,13 +2,16 @@
|
|||||||
#
|
#
|
||||||
# SUMMARY
|
# SUMMARY
|
||||||
#
|
#
|
||||||
# Waits until the show statement ($show_statement) has at least within one of
|
# Waits until the show statement ($show_statement) has one or all of the
|
||||||
# the rows of the result set for the field ($field) a value which fulfils
|
# rows of the result set for the field ($field) a value which fulfils
|
||||||
# a condition ($condition), or the operation times out.
|
# a condition ($condition), or the operation times out.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# USAGE
|
# USAGE
|
||||||
#
|
#
|
||||||
|
# All rows of the result must fulfil the condition if $all_rows_fulfil is 1
|
||||||
|
# else at least one of the result must fulfil the condition.
|
||||||
|
# let $wait_for_all= 1;
|
||||||
# let $show_statement= SHOW PROCESSLIST;
|
# let $show_statement= SHOW PROCESSLIST;
|
||||||
# let $field= State;
|
# let $field= State;
|
||||||
# let $condition= = 'Updating';
|
# let $condition= = 'Updating';
|
||||||
@ -46,6 +49,9 @@ inc $max_run_time;
|
|||||||
|
|
||||||
let $found= 0;
|
let $found= 0;
|
||||||
let $max_end_time= `SELECT UNIX_TIMESTAMP() + $max_run_time`;
|
let $max_end_time= `SELECT UNIX_TIMESTAMP() + $max_run_time`;
|
||||||
|
|
||||||
|
if (`SELECT '$wait_for_all' != '1'`)
|
||||||
|
{
|
||||||
while (`SELECT UNIX_TIMESTAMP() <= $max_end_time AND $found = 0`)
|
while (`SELECT UNIX_TIMESTAMP() <= $max_end_time AND $found = 0`)
|
||||||
{
|
{
|
||||||
# Sleep a bit to avoid too heavy load.
|
# Sleep a bit to avoid too heavy load.
|
||||||
@ -67,6 +73,32 @@ while (`SELECT UNIX_TIMESTAMP() <= $max_end_time AND $found = 0`)
|
|||||||
inc $rowno;
|
inc $rowno;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (`SELECT '$wait_for_all' = '1'`)
|
||||||
|
{
|
||||||
|
while (`SELECT UNIX_TIMESTAMP() <= $max_end_time AND $found = 0`)
|
||||||
|
{
|
||||||
|
# Sleep a bit to avoid too heavy load.
|
||||||
|
real_sleep 0.2;
|
||||||
|
let $rowno= 1;
|
||||||
|
let $process_result= 1;
|
||||||
|
while (`SELECT $process_result = 1 AND $found = 0`)
|
||||||
|
{
|
||||||
|
let $field_value= query_get_value($show_statement, $field, $rowno);
|
||||||
|
if (`SELECT '$field_value' = 'No such row'`)
|
||||||
|
{
|
||||||
|
let $found= 1;
|
||||||
|
}
|
||||||
|
if (`SELECT $found = 0 AND NOT '$field_value' $condition`)
|
||||||
|
{
|
||||||
|
let process_result= 0;
|
||||||
|
}
|
||||||
|
inc $rowno;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!$found)
|
if (!$found)
|
||||||
{
|
{
|
||||||
echo # Timeout in include/wait_show_condition.inc for $wait_condition;
|
echo # Timeout in include/wait_show_condition.inc for $wait_condition;
|
||||||
|
@ -4024,15 +4024,26 @@ sub mysqld_arguments ($$$$) {
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($mysql_version_id < 50200)
|
# NOTE: the backport (see BUG#48048) originally removed the
|
||||||
{
|
# commented out lines below. However, given that they are
|
||||||
mtr_add_arg($args, "%s--master-user=root", $prefix);
|
# protected with a version check (< 50200) now, it should be
|
||||||
mtr_add_arg($args, "%s--master-connect-retry=1", $prefix);
|
# safe to keep them. The problem is that the backported patch
|
||||||
mtr_add_arg($args, "%s--master-host=127.0.0.1", $prefix);
|
# was into a 5.1 GA codebase - mysql-5.1-rep+2 tree - so
|
||||||
mtr_add_arg($args, "%s--master-password=", $prefix);
|
# version is 501XX, consequently check becomes worthless. It
|
||||||
mtr_add_arg($args, "%s--master-port=%d", $prefix,
|
# should be safe to uncomment them when merging up to 5.5.
|
||||||
$master->[0]->{'port'}); # First master
|
#
|
||||||
}
|
# RQG semisync test runs on the 5.1 GA tree and needs MTR v1.
|
||||||
|
# This was causing the test to fail (slave would not start
|
||||||
|
# due to unrecognized option(s)).
|
||||||
|
# if ($mysql_version_id < 50200)
|
||||||
|
# {
|
||||||
|
# mtr_add_arg($args, "%s--master-user=root", $prefix);
|
||||||
|
# mtr_add_arg($args, "%s--master-connect-retry=1", $prefix);
|
||||||
|
# mtr_add_arg($args, "%s--master-host=127.0.0.1", $prefix);
|
||||||
|
# mtr_add_arg($args, "%s--master-password=", $prefix);
|
||||||
|
# mtr_add_arg($args, "%s--master-port=%d", $prefix,
|
||||||
|
# $master->[0]->{'port'}); # First master
|
||||||
|
# }
|
||||||
my $slave_server_id= 2 + $idx;
|
my $slave_server_id= 2 + $idx;
|
||||||
my $slave_rpl_rank= $slave_server_id;
|
my $slave_rpl_rank= $slave_server_id;
|
||||||
mtr_add_arg($args, "%s--server-id=%d", $prefix, $slave_server_id);
|
mtr_add_arg($args, "%s--server-id=%d", $prefix, $slave_server_id);
|
||||||
|
26
mysql-test/r/deprecated_features.result
Normal file
26
mysql-test/r/deprecated_features.result
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
set global log_bin_trust_routine_creators=1;
|
||||||
|
ERROR HY000: Unknown system variable 'log_bin_trust_routine_creators'
|
||||||
|
set table_type='MyISAM';
|
||||||
|
ERROR HY000: Unknown system variable 'table_type'
|
||||||
|
select @@table_type='MyISAM';
|
||||||
|
ERROR HY000: Unknown system variable 'table_type'
|
||||||
|
backup table t1 to 'data.txt';
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'backup table t1 to 'data.txt'' at line 1
|
||||||
|
restore table t1 from 'data.txt';
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'restore table t1 from 'data.txt'' at line 1
|
||||||
|
show plugin;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'plugin' at line 1
|
||||||
|
load table t1 from master;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table t1 from master' at line 1
|
||||||
|
load data from master;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from master' at line 1
|
||||||
|
SHOW INNODB STATUS;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNODB STATUS' at line 1
|
||||||
|
create table t1 (t6 timestamp(6));
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6))' at line 1
|
||||||
|
create table t1 (t6 timestamp) type=myisam;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=myisam' at line 1
|
||||||
|
show table types;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'types' at line 1
|
||||||
|
show mutex status;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mutex status' at line 1
|
@ -4,11 +4,9 @@ show variables like 'log_bin%';
|
|||||||
Variable_name Value
|
Variable_name Value
|
||||||
log_bin OFF
|
log_bin OFF
|
||||||
log_bin_trust_function_creators ON
|
log_bin_trust_function_creators ON
|
||||||
log_bin_trust_routine_creators ON
|
|
||||||
flush logs;
|
flush logs;
|
||||||
show variables like 'log_bin%';
|
show variables like 'log_bin%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
log_bin OFF
|
log_bin OFF
|
||||||
log_bin_trust_function_creators ON
|
log_bin_trust_function_creators ON
|
||||||
log_bin_trust_routine_creators ON
|
|
||||||
set global expire_logs_days = 0;
|
set global expire_logs_days = 0;
|
||||||
|
@ -412,8 +412,6 @@ prepare stmt1 from ' optimize table t1 ' ;
|
|||||||
prepare stmt1 from ' analyze table t1 ' ;
|
prepare stmt1 from ' analyze table t1 ' ;
|
||||||
prepare stmt1 from ' checksum table t1 ' ;
|
prepare stmt1 from ' checksum table t1 ' ;
|
||||||
prepare stmt1 from ' repair table t1 ' ;
|
prepare stmt1 from ' repair table t1 ' ;
|
||||||
prepare stmt1 from ' restore table t1 from ''<MYSQLTEST_VARDIR>/tmp/data.txt'' ' ;
|
|
||||||
ERROR HY000: This command is not supported in the prepared statement protocol yet
|
|
||||||
prepare stmt1 from ' handler t1 open ';
|
prepare stmt1 from ' handler t1 open ';
|
||||||
ERROR HY000: This command is not supported in the prepared statement protocol yet
|
ERROR HY000: This command is not supported in the prepared statement protocol yet
|
||||||
prepare stmt3 from ' commit ' ;
|
prepare stmt3 from ' commit ' ;
|
||||||
|
@ -808,7 +808,6 @@ show plugins;
|
|||||||
show columns in t1;
|
show columns in t1;
|
||||||
show slave hosts;
|
show slave hosts;
|
||||||
show keys in t1;
|
show keys in t1;
|
||||||
show table types;
|
|
||||||
show storage engines;
|
show storage engines;
|
||||||
show authors;
|
show authors;
|
||||||
show contributors;
|
show contributors;
|
||||||
@ -1291,11 +1290,6 @@ delete from mysql.db where user='mysqltest_4';
|
|||||||
delete from mysql.tables_priv where user='mysqltest_4';
|
delete from mysql.tables_priv where user='mysqltest_4';
|
||||||
flush privileges;
|
flush privileges;
|
||||||
drop database mysqltest;
|
drop database mysqltest;
|
||||||
show full plugin;
|
|
||||||
show warnings;
|
|
||||||
Level Code Message
|
|
||||||
Warning 1287 The syntax 'SHOW PLUGIN' is deprecated and will be removed in MySQL 6.0. Please use 'SHOW PLUGINS' instead
|
|
||||||
show plugin;
|
|
||||||
show plugins;
|
show plugins;
|
||||||
create database `mysqlttest\1`;
|
create database `mysqlttest\1`;
|
||||||
create table `mysqlttest\1`.`a\b` (a int);
|
create table `mysqlttest\1`.`a\b` (a int);
|
||||||
@ -1447,7 +1441,6 @@ DROP PROCEDURE p1;
|
|||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
DROP EVENT ev1;
|
DROP EVENT ev1;
|
||||||
SHOW TABLE TYPES;
|
|
||||||
CREATE USER test_u@localhost;
|
CREATE USER test_u@localhost;
|
||||||
GRANT PROCESS ON *.* TO test_u@localhost;
|
GRANT PROCESS ON *.* TO test_u@localhost;
|
||||||
SHOW ENGINE MYISAM MUTEX;
|
SHOW ENGINE MYISAM MUTEX;
|
||||||
|
@ -20,16 +20,16 @@ return 0;
|
|||||||
end $$
|
end $$
|
||||||
show procedure code signal_proc;
|
show procedure code signal_proc;
|
||||||
Pos Instruction
|
Pos Instruction
|
||||||
0 stmt 135 "SIGNAL foo"
|
0 stmt 131 "SIGNAL foo"
|
||||||
1 stmt 135 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
1 stmt 131 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||||
2 stmt 136 "RESIGNAL foo"
|
2 stmt 132 "RESIGNAL foo"
|
||||||
3 stmt 136 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
3 stmt 132 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||||
drop procedure signal_proc;
|
drop procedure signal_proc;
|
||||||
show function code signal_func;
|
show function code signal_func;
|
||||||
Pos Instruction
|
Pos Instruction
|
||||||
0 stmt 135 "SIGNAL foo"
|
0 stmt 131 "SIGNAL foo"
|
||||||
1 stmt 135 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
1 stmt 131 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||||
2 stmt 136 "RESIGNAL foo"
|
2 stmt 132 "RESIGNAL foo"
|
||||||
3 stmt 136 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
3 stmt 132 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||||
4 freturn 3 0
|
4 freturn 3 0
|
||||||
drop function signal_func;
|
drop function signal_func;
|
||||||
|
@ -155,11 +155,11 @@ Pos Instruction
|
|||||||
0 stmt 9 "drop temporary table if exists sudoku..."
|
0 stmt 9 "drop temporary table if exists sudoku..."
|
||||||
1 stmt 1 "create temporary table sudoku_work ( ..."
|
1 stmt 1 "create temporary table sudoku_work ( ..."
|
||||||
2 stmt 1 "create temporary table sudoku_schedul..."
|
2 stmt 1 "create temporary table sudoku_schedul..."
|
||||||
3 stmt 93 "call sudoku_init()"
|
3 stmt 89 "call sudoku_init()"
|
||||||
4 jump_if_not 7(8) p_naive@0
|
4 jump_if_not 7(8) p_naive@0
|
||||||
5 stmt 4 "update sudoku_work set cnt = 0 where ..."
|
5 stmt 4 "update sudoku_work set cnt = 0 where ..."
|
||||||
6 jump 8
|
6 jump 8
|
||||||
7 stmt 93 "call sudoku_count()"
|
7 stmt 89 "call sudoku_count()"
|
||||||
8 stmt 6 "insert into sudoku_schedule (row,col)..."
|
8 stmt 6 "insert into sudoku_schedule (row,col)..."
|
||||||
9 set v_scounter@2 0
|
9 set v_scounter@2 0
|
||||||
10 set v_i@3 1
|
10 set v_i@3 1
|
||||||
|
@ -921,10 +921,6 @@ CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN DROP TRIGGER test1; EN
|
|||||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||||
CREATE FUNCTION bug_13627_f() returns int BEGIN DROP TRIGGER test1; return 1; END |
|
CREATE FUNCTION bug_13627_f() returns int BEGIN DROP TRIGGER test1; return 1; END |
|
||||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||||
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN load table t1 from master; END |
|
|
||||||
ERROR 0A000: LOAD TABLE is not allowed in stored procedures
|
|
||||||
CREATE FUNCTION bug_13627_f() returns int BEGIN load table t1 from master; return 1; END |
|
|
||||||
ERROR 0A000: LOAD TABLE is not allowed in stored procedures
|
|
||||||
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create table t2 (a int); END |
|
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create table t2 (a int); END |
|
||||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||||
CREATE FUNCTION bug_13627_f() returns int BEGIN create table t2 (a int); return 1; END |
|
CREATE FUNCTION bug_13627_f() returns int BEGIN create table t2 (a int); return 1; END |
|
||||||
@ -1115,18 +1111,6 @@ REPAIR TABLE t1;
|
|||||||
RETURN 1;
|
RETURN 1;
|
||||||
END|
|
END|
|
||||||
ERROR 0A000: Not allowed to return a result set from a function
|
ERROR 0A000: Not allowed to return a result set from a function
|
||||||
CREATE FUNCTION bug13012() RETURNS INT
|
|
||||||
BEGIN
|
|
||||||
BACKUP TABLE t1 TO '/tmp';
|
|
||||||
RETURN 1;
|
|
||||||
END|
|
|
||||||
ERROR 0A000: Not allowed to return a result set from a function
|
|
||||||
CREATE FUNCTION bug13012() RETURNS INT
|
|
||||||
BEGIN
|
|
||||||
RESTORE TABLE t1 FROM '/tmp';
|
|
||||||
RETURN 1;
|
|
||||||
END|
|
|
||||||
ERROR 0A000: Not allowed to return a result set from a function
|
|
||||||
create table t1 (a int)|
|
create table t1 (a int)|
|
||||||
CREATE PROCEDURE bug13012_1() REPAIR TABLE t1|
|
CREATE PROCEDURE bug13012_1() REPAIR TABLE t1|
|
||||||
CREATE FUNCTION bug13012_2() RETURNS INT
|
CREATE FUNCTION bug13012_2() RETURNS INT
|
||||||
@ -1639,11 +1623,9 @@ DROP TABLE t1|
|
|||||||
drop procedure if exists p1;
|
drop procedure if exists p1;
|
||||||
create procedure p1()
|
create procedure p1()
|
||||||
begin
|
begin
|
||||||
create table t1 (a int) type=MyISAM;
|
create table t1 (a int) engine=MyISAM;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
end|
|
end|
|
||||||
Warnings:
|
|
||||||
Warning 1287 The syntax 'TYPE=storage_engine' is deprecated and will be removed in MySQL 6.0. Please use 'ENGINE=storage_engine' instead
|
|
||||||
call p1();
|
call p1();
|
||||||
call p1();
|
call p1();
|
||||||
drop procedure p1;
|
drop procedure p1;
|
||||||
|
@ -4305,19 +4305,10 @@ drop procedure if exists bug13012|
|
|||||||
create procedure bug13012()
|
create procedure bug13012()
|
||||||
BEGIN
|
BEGIN
|
||||||
REPAIR TABLE t1;
|
REPAIR TABLE t1;
|
||||||
BACKUP TABLE t1 to '<MYSQLTEST_VARDIR>/tmp/';
|
|
||||||
DROP TABLE t1;
|
|
||||||
RESTORE TABLE t1 FROM '<MYSQLTEST_VARDIR>/tmp/';
|
|
||||||
END|
|
END|
|
||||||
call bug13012()|
|
call bug13012()|
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.t1 repair status OK
|
test.t1 repair status OK
|
||||||
Table Op Msg_type Msg_text
|
|
||||||
test.t1 backup Warning The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 6.0. Please use MySQL Administrator (mysqldump, mysql) instead
|
|
||||||
test.t1 backup status OK
|
|
||||||
Table Op Msg_type Msg_text
|
|
||||||
test.t1 restore Warning The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 6.0. Please use MySQL Administrator (mysqldump, mysql) instead
|
|
||||||
test.t1 restore status OK
|
|
||||||
drop procedure bug13012|
|
drop procedure bug13012|
|
||||||
create view v1 as select * from t1|
|
create view v1 as select * from t1|
|
||||||
create procedure bug13012()
|
create procedure bug13012()
|
||||||
|
@ -533,9 +533,7 @@ set @@session.max_heap_table_size=default|
|
|||||||
CREATE DATABASE db_bug7787|
|
CREATE DATABASE db_bug7787|
|
||||||
use db_bug7787|
|
use db_bug7787|
|
||||||
CREATE PROCEDURE p1()
|
CREATE PROCEDURE p1()
|
||||||
SHOW INNODB STATUS; |
|
SHOW ENGINE INNODB STATUS; |
|
||||||
Warnings:
|
|
||||||
Warning 1287 The syntax 'SHOW INNODB STATUS' is deprecated and will be removed in MySQL 6.0. Please use 'SHOW ENGINE INNODB STATUS' instead
|
|
||||||
GRANT EXECUTE ON PROCEDURE p1 TO user_bug7787@localhost|
|
GRANT EXECUTE ON PROCEDURE p1 TO user_bug7787@localhost|
|
||||||
DROP DATABASE db_bug7787|
|
DROP DATABASE db_bug7787|
|
||||||
drop user user_bug7787@localhost|
|
drop user user_bug7787@localhost|
|
||||||
|
@ -889,28 +889,12 @@ CREATE TABLE b15776 (a year(0));
|
|||||||
DROP TABLE b15776;
|
DROP TABLE b15776;
|
||||||
CREATE TABLE b15776 (a year(-2));
|
CREATE TABLE b15776 (a year(-2));
|
||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2))' at line 1
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2))' at line 1
|
||||||
CREATE TABLE b15776 (a timestamp(4294967294));
|
|
||||||
Warnings:
|
|
||||||
Warning 1287 The syntax 'TIMESTAMP(4294967294)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
|
||||||
DROP TABLE b15776;
|
|
||||||
CREATE TABLE b15776 (a timestamp(4294967295));
|
|
||||||
Warnings:
|
|
||||||
Warning 1287 The syntax 'TIMESTAMP(4294967295)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
|
||||||
DROP TABLE b15776;
|
|
||||||
CREATE TABLE b15776 (a timestamp(4294967296));
|
|
||||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
|
||||||
CREATE TABLE b15776 (a timestamp(-1));
|
|
||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1))' at line 1
|
|
||||||
CREATE TABLE b15776 (a timestamp(-2));
|
|
||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2))' at line 1
|
|
||||||
CREATE TABLE b15776 (a int(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
CREATE TABLE b15776 (a int(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||||
CREATE TABLE b15776 (a char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
CREATE TABLE b15776 (a char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||||
CREATE TABLE b15776 (a year(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
CREATE TABLE b15776 (a year(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||||
CREATE TABLE b15776 (a timestamp(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
|
||||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
|
||||||
CREATE TABLE b15776 select cast(null as char(4294967295));
|
CREATE TABLE b15776 select cast(null as char(4294967295));
|
||||||
show columns from b15776;
|
show columns from b15776;
|
||||||
Field Type Null Key Default Extra
|
Field Type Null Key Default Extra
|
||||||
|
@ -97,30 +97,6 @@ date date_time time_stamp
|
|||||||
2005-01-01 2005-01-01 00:00:00 2005-01-01 00:00:00
|
2005-01-01 2005-01-01 00:00:00 2005-01-01 00:00:00
|
||||||
2030-01-01 2030-01-01 00:00:00 2030-01-01 00:00:00
|
2030-01-01 2030-01-01 00:00:00 2030-01-01 00:00:00
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (t2 timestamp(2), t4 timestamp(4), t6 timestamp(6),
|
|
||||||
t8 timestamp(8), t10 timestamp(10), t12 timestamp(12),
|
|
||||||
t14 timestamp(14));
|
|
||||||
Warnings:
|
|
||||||
Warning 1287 The syntax 'TIMESTAMP(2)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
|
||||||
Warning 1287 The syntax 'TIMESTAMP(4)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
|
||||||
Warning 1287 The syntax 'TIMESTAMP(6)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
|
||||||
Warning 1287 The syntax 'TIMESTAMP(8)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
|
||||||
Warning 1287 The syntax 'TIMESTAMP(10)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
|
||||||
Warning 1287 The syntax 'TIMESTAMP(12)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
|
||||||
Warning 1287 The syntax 'TIMESTAMP(14)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
|
||||||
insert t1 values (0,0,0,0,0,0,0),
|
|
||||||
("1997-12-31 23:47:59", "1997-12-31 23:47:59", "1997-12-31 23:47:59",
|
|
||||||
"1997-12-31 23:47:59", "1997-12-31 23:47:59", "1997-12-31 23:47:59",
|
|
||||||
"1997-12-31 23:47:59");
|
|
||||||
select * from t1;
|
|
||||||
t2 t4 t6 t8 t10 t12 t14
|
|
||||||
0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00
|
|
||||||
1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59
|
|
||||||
select * from t1;
|
|
||||||
t2 t4 t6 t8 t10 t12 t14
|
|
||||||
0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00
|
|
||||||
1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59
|
|
||||||
drop table t1;
|
|
||||||
create table t1 (ix timestamp);
|
create table t1 (ix timestamp);
|
||||||
insert into t1 values (0),(20030101010160),(20030101016001),(20030101240101),(20030132010101),(20031301010101),(20031200000000),(20030000000000);
|
insert into t1 values (0),(20030101010160),(20030101016001),(20030101240101),(20030132010101),(20031301010101),(20031200000000),(20030000000000);
|
||||||
Warnings:
|
Warnings:
|
||||||
@ -436,7 +412,7 @@ max(t)
|
|||||||
2004-02-01 00:00:00
|
2004-02-01 00:00:00
|
||||||
drop table t1;
|
drop table t1;
|
||||||
set sql_mode='maxdb';
|
set sql_mode='maxdb';
|
||||||
create table t1 (a timestamp, b timestamp(19));
|
create table t1 (a timestamp, b timestamp);
|
||||||
show create table t1;
|
show create table t1;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t1 CREATE TABLE "t1" (
|
t1 CREATE TABLE "t1" (
|
||||||
|
@ -166,9 +166,6 @@ show variables like 'max_error_count';
|
|||||||
Variable_name Value
|
Variable_name Value
|
||||||
max_error_count 10
|
max_error_count 10
|
||||||
drop table t1;
|
drop table t1;
|
||||||
set table_type=MYISAM;
|
|
||||||
Warnings:
|
|
||||||
Warning 1287 The syntax '@@table_type' is deprecated and will be removed in MySQL 6.0. Please use '@@storage_engine' instead
|
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 (a) values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
|
insert into t1 (a) values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
|
||||||
update t1 set a='abc';
|
update t1 set a='abc';
|
||||||
|
8
mysql-test/suite/binlog/r/binlog_max_extension.result
Normal file
8
mysql-test/suite/binlog/r/binlog_max_extension.result
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
call mtr.add_suppression("Next log extension: 2147483647. Remaining log filename extensions: 0.");
|
||||||
|
call mtr.add_suppression("Log filename extension number exhausted:");
|
||||||
|
call mtr.add_suppression("Can't generate a unique log-filename");
|
||||||
|
RESET MASTER;
|
||||||
|
FLUSH LOGS;
|
||||||
|
Warnings:
|
||||||
|
Warning 1098 Can't generate a unique log-filename master-bin.(1-999)
|
||||||
|
|
@ -456,7 +456,11 @@ return n;
|
|||||||
end|
|
end|
|
||||||
reset master;
|
reset master;
|
||||||
insert into t2 values (bug27417(1));
|
insert into t2 values (bug27417(1));
|
||||||
|
Warnings:
|
||||||
|
Note 1592 Statement may not be safe to log in statement format.
|
||||||
insert into t2 select bug27417(2);
|
insert into t2 select bug27417(2);
|
||||||
|
Warnings:
|
||||||
|
Note 1592 Statement may not be safe to log in statement format.
|
||||||
reset master;
|
reset master;
|
||||||
insert into t2 values (bug27417(2));
|
insert into t2 values (bug27417(2));
|
||||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||||
@ -473,6 +477,8 @@ select count(*) from t2;
|
|||||||
count(*)
|
count(*)
|
||||||
2
|
2
|
||||||
delete from t2 where a=bug27417(3);
|
delete from t2 where a=bug27417(3);
|
||||||
|
Warnings:
|
||||||
|
Note 1592 Statement may not be safe to log in statement format.
|
||||||
select count(*) from t2 /* nothing got deleted */;
|
select count(*) from t2 /* nothing got deleted */;
|
||||||
count(*)
|
count(*)
|
||||||
2
|
2
|
||||||
@ -486,6 +492,8 @@ count(*)
|
|||||||
5
|
5
|
||||||
delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
|
delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
|
||||||
affected rows: 0
|
affected rows: 0
|
||||||
|
Warnings:
|
||||||
|
Note 1592 Statement may not be safe to log in statement format.
|
||||||
select count(*) from t1 /* must be 7 */;
|
select count(*) from t1 /* must be 7 */;
|
||||||
count(*)
|
count(*)
|
||||||
7
|
7
|
||||||
@ -700,7 +708,11 @@ return n;
|
|||||||
end|
|
end|
|
||||||
reset master;
|
reset master;
|
||||||
insert into t2 values (bug27417(1));
|
insert into t2 values (bug27417(1));
|
||||||
|
Warnings:
|
||||||
|
Note 1592 Statement may not be safe to log in statement format.
|
||||||
insert into t2 select bug27417(2);
|
insert into t2 select bug27417(2);
|
||||||
|
Warnings:
|
||||||
|
Note 1592 Statement may not be safe to log in statement format.
|
||||||
reset master;
|
reset master;
|
||||||
insert into t2 values (bug27417(2));
|
insert into t2 values (bug27417(2));
|
||||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||||
@ -716,6 +728,8 @@ select count(*) from t2;
|
|||||||
count(*)
|
count(*)
|
||||||
2
|
2
|
||||||
delete from t2 where a=bug27417(3);
|
delete from t2 where a=bug27417(3);
|
||||||
|
Warnings:
|
||||||
|
Note 1592 Statement may not be safe to log in statement format.
|
||||||
select count(*) from t2 /* nothing got deleted */;
|
select count(*) from t2 /* nothing got deleted */;
|
||||||
count(*)
|
count(*)
|
||||||
2
|
2
|
||||||
@ -728,6 +742,8 @@ count(*)
|
|||||||
5
|
5
|
||||||
delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
|
delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
|
||||||
affected rows: 0
|
affected rows: 0
|
||||||
|
Warnings:
|
||||||
|
Note 1592 Statement may not be safe to log in statement format.
|
||||||
select count(*) from t1 /* must be 7 */;
|
select count(*) from t1 /* must be 7 */;
|
||||||
count(*)
|
count(*)
|
||||||
7
|
7
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
RESET MASTER;
|
|
||||||
create table foo (a int);
|
create table foo (a int);
|
||||||
flush logs;
|
flush logs;
|
||||||
create temporary table tmp1_foo like foo;
|
create temporary table tmp1_foo like foo;
|
||||||
|
@ -300,4 +300,59 @@ Warnings:
|
|||||||
Note 1592 Statement may not be safe to log in statement format.
|
Note 1592 Statement may not be safe to log in statement format.
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
SET @@SESSION.SQL_MODE = @save_sql_mode;
|
SET @@SESSION.SQL_MODE = @save_sql_mode;
|
||||||
|
CREATE TABLE t1 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||||
|
CREATE TABLE t2 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||||
|
CREATE FUNCTION func_modify_t1 ()
|
||||||
|
RETURNS INT
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO t1 SET a = 1;
|
||||||
|
RETURN 0;
|
||||||
|
END|
|
||||||
|
# The following statement causes auto-incrementation
|
||||||
|
# of both t1 and t2. It is logged in statement format,
|
||||||
|
# so it should produce unsafe warning.
|
||||||
|
INSERT INTO t2 SET a = func_modify_t1();
|
||||||
|
Warnings:
|
||||||
|
Note 1592 Statement may not be safe to log in statement format.
|
||||||
|
SET SESSION binlog_format = MIXED;
|
||||||
|
# Check if the statement is logged in row format.
|
||||||
|
INSERT INTO t2 SET a = func_modify_t1();
|
||||||
|
SHOW BINLOG EVENTS FROM 12283;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 12283 Query 1 12351 BEGIN
|
||||||
|
master-bin.000001 12351 Table_map 1 12393 table_id: 44 (test.t2)
|
||||||
|
master-bin.000001 12393 Table_map 1 12435 table_id: 45 (test.t1)
|
||||||
|
master-bin.000001 12435 Write_rows 1 12473 table_id: 45
|
||||||
|
master-bin.000001 12473 Write_rows 1 12511 table_id: 44 flags: STMT_END_F
|
||||||
|
master-bin.000001 12511 Query 1 12580 COMMIT
|
||||||
|
DROP TABLE t1,t2;
|
||||||
|
DROP FUNCTION func_modify_t1;
|
||||||
|
SET SESSION binlog_format = STATEMENT;
|
||||||
|
CREATE TABLE t1 (a INT);
|
||||||
|
CREATE TABLE t2 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||||
|
CREATE TABLE t3 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||||
|
create trigger tri_modify_two_tables before insert on t1 for each row begin
|
||||||
|
insert into t2(a) values(new.a);
|
||||||
|
insert into t3(a) values(new.a);
|
||||||
|
end |
|
||||||
|
# The following statement causes auto-incrementation
|
||||||
|
# of both t2 and t3. It is logged in statement format,
|
||||||
|
# so it should produce unsafe warning
|
||||||
|
INSERT INTO t1 SET a = 1;
|
||||||
|
Warnings:
|
||||||
|
Note 1592 Statement may not be safe to log in statement format.
|
||||||
|
SET SESSION binlog_format = MIXED;
|
||||||
|
# Check if the statement is logged in row format.
|
||||||
|
INSERT INTO t1 SET a = 2;
|
||||||
|
SHOW BINLOG EVENTS FROM 13426;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 13426 Query 1 13494 BEGIN
|
||||||
|
master-bin.000001 13494 Table_map 1 13535 table_id: 47 (test.t1)
|
||||||
|
master-bin.000001 13535 Table_map 1 13577 table_id: 48 (test.t3)
|
||||||
|
master-bin.000001 13577 Table_map 1 13619 table_id: 49 (test.t2)
|
||||||
|
master-bin.000001 13619 Write_rows 1 13657 table_id: 49
|
||||||
|
master-bin.000001 13657 Write_rows 1 13695 table_id: 48
|
||||||
|
master-bin.000001 13695 Write_rows 1 13729 table_id: 47 flags: STMT_END_F
|
||||||
|
master-bin.000001 13729 Query 1 13798 COMMIT
|
||||||
|
DROP TABLE t1,t2,t3;
|
||||||
"End of tests"
|
"End of tests"
|
||||||
|
92
mysql-test/suite/binlog/t/binlog_max_extension.test
Normal file
92
mysql-test/suite/binlog/t/binlog_max_extension.test
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
# BUG#40611: MySQL cannot make a binary log after sequential number beyond
|
||||||
|
# unsigned long.
|
||||||
|
#
|
||||||
|
# Problem statement
|
||||||
|
# =================
|
||||||
|
#
|
||||||
|
# Extension for log file names might be created with negative
|
||||||
|
# numbers (when counter used would wrap around), causing server
|
||||||
|
# failure when incrementing -00001 (reaching number 000000
|
||||||
|
# extension).
|
||||||
|
#
|
||||||
|
# Test
|
||||||
|
# ====
|
||||||
|
# This tests aims at testing the a patch that removes negatives
|
||||||
|
# numbers from log name extensions and checks that the server
|
||||||
|
# reports gracefully that the limit has been reached.
|
||||||
|
#
|
||||||
|
# It instruments index file to point to a log file close to
|
||||||
|
# the new maximum and calls flush logs to get warning.
|
||||||
|
#
|
||||||
|
|
||||||
|
call mtr.add_suppression("Next log extension: 2147483647. Remaining log filename extensions: 0.");
|
||||||
|
call mtr.add_suppression("Log filename extension number exhausted:");
|
||||||
|
call mtr.add_suppression("Can't generate a unique log-filename");
|
||||||
|
|
||||||
|
|
||||||
|
-- source include/have_log_bin.inc
|
||||||
|
RESET MASTER;
|
||||||
|
|
||||||
|
-- let $MYSQLD_DATADIR= `select @@datadir`
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
# check hitting maximum file name extension:
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
##########
|
||||||
|
# Prepare
|
||||||
|
##########
|
||||||
|
|
||||||
|
# 1. Stop master server
|
||||||
|
-- write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||||
|
wait
|
||||||
|
EOF
|
||||||
|
-- shutdown_server 10
|
||||||
|
-- source include/wait_until_disconnected.inc
|
||||||
|
|
||||||
|
# 2. Prepare log and index file
|
||||||
|
-- copy_file $MYSQLD_DATADIR/master-bin.index $MYSQLD_DATADIR/master-bin.index.orig
|
||||||
|
-- copy_file $MYSQLD_DATADIR/master-bin.000001 $MYSQLD_DATADIR/master-bin.2147483646
|
||||||
|
-- append_file $MYSQLD_DATADIR/master-bin.index
|
||||||
|
master-bin.2147483646
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# 3. Restart the server
|
||||||
|
-- append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||||
|
restart
|
||||||
|
EOF
|
||||||
|
-- enable_reconnect
|
||||||
|
-- source include/wait_until_connected_again.inc
|
||||||
|
|
||||||
|
###########
|
||||||
|
# Assertion
|
||||||
|
###########
|
||||||
|
|
||||||
|
# assertion: should throw warning
|
||||||
|
FLUSH LOGS;
|
||||||
|
|
||||||
|
##############
|
||||||
|
# Clean up
|
||||||
|
##############
|
||||||
|
|
||||||
|
# 1. Stop the server
|
||||||
|
-- write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||||
|
wait
|
||||||
|
EOF
|
||||||
|
-- shutdown_server 10
|
||||||
|
-- source include/wait_until_disconnected.inc
|
||||||
|
|
||||||
|
# 2. Undo changes to index and log files
|
||||||
|
-- remove_file $MYSQLD_DATADIR/master-bin.index
|
||||||
|
-- copy_file $MYSQLD_DATADIR/master-bin.index.orig $MYSQLD_DATADIR/master-bin.index
|
||||||
|
-- remove_file $MYSQLD_DATADIR/master-bin.index.orig
|
||||||
|
|
||||||
|
-- remove_file $MYSQLD_DATADIR/master-bin.2147483646
|
||||||
|
-- remove_file $MYSQLD_DATADIR/master-bin.2147483647
|
||||||
|
|
||||||
|
# 3. Restart the server
|
||||||
|
-- append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||||
|
restart
|
||||||
|
EOF
|
||||||
|
-- enable_reconnect
|
||||||
|
-- source include/wait_until_connected_again.inc
|
@ -30,7 +30,6 @@ source include/have_binlog_format_mixed_or_statement.inc;
|
|||||||
|
|
||||||
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||||
connect (master1,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
connect (master1,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||||
RESET MASTER;
|
|
||||||
|
|
||||||
create table foo (a int);
|
create table foo (a int);
|
||||||
|
|
||||||
|
@ -388,4 +388,72 @@ DELETE FROM t1 LIMIT 1;
|
|||||||
|
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
SET @@SESSION.SQL_MODE = @save_sql_mode;
|
SET @@SESSION.SQL_MODE = @save_sql_mode;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG#45827
|
||||||
|
# The test verifies if stmt that have more than one
|
||||||
|
# different tables to update with autoinc columns
|
||||||
|
# will produce unsafe warning
|
||||||
|
#
|
||||||
|
|
||||||
|
# Test case1: stmt that have more than one different tables
|
||||||
|
# to update with autoinc columns should produce
|
||||||
|
# unsafe warning when calling a function
|
||||||
|
CREATE TABLE t1 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||||
|
CREATE TABLE t2 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||||
|
|
||||||
|
# The purpose of this function is to insert into t1 so that the second
|
||||||
|
# column is auto_increment'ed.
|
||||||
|
DELIMITER |;
|
||||||
|
CREATE FUNCTION func_modify_t1 ()
|
||||||
|
RETURNS INT
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO t1 SET a = 1;
|
||||||
|
RETURN 0;
|
||||||
|
END|
|
||||||
|
DELIMITER ;|
|
||||||
|
--echo # The following statement causes auto-incrementation
|
||||||
|
--echo # of both t1 and t2. It is logged in statement format,
|
||||||
|
--echo # so it should produce unsafe warning.
|
||||||
|
INSERT INTO t2 SET a = func_modify_t1();
|
||||||
|
|
||||||
|
SET SESSION binlog_format = MIXED;
|
||||||
|
--echo # Check if the statement is logged in row format.
|
||||||
|
let $pos0_master= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||||
|
INSERT INTO t2 SET a = func_modify_t1();
|
||||||
|
eval SHOW BINLOG EVENTS FROM $pos0_master;
|
||||||
|
|
||||||
|
# clean up
|
||||||
|
DROP TABLE t1,t2;
|
||||||
|
DROP FUNCTION func_modify_t1;
|
||||||
|
|
||||||
|
# Test case2: stmt that have more than one different tables
|
||||||
|
# to update with autoinc columns should produce
|
||||||
|
# unsafe warning when invoking a trigger
|
||||||
|
SET SESSION binlog_format = STATEMENT;
|
||||||
|
CREATE TABLE t1 (a INT);
|
||||||
|
CREATE TABLE t2 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||||
|
CREATE TABLE t3 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||||
|
# The purpose of this function is to insert into t1 so that the second
|
||||||
|
# column is auto_increment'ed.
|
||||||
|
delimiter |;
|
||||||
|
create trigger tri_modify_two_tables before insert on t1 for each row begin
|
||||||
|
insert into t2(a) values(new.a);
|
||||||
|
insert into t3(a) values(new.a);
|
||||||
|
end |
|
||||||
|
delimiter ;|
|
||||||
|
--echo # The following statement causes auto-incrementation
|
||||||
|
--echo # of both t2 and t3. It is logged in statement format,
|
||||||
|
--echo # so it should produce unsafe warning
|
||||||
|
INSERT INTO t1 SET a = 1;
|
||||||
|
|
||||||
|
SET SESSION binlog_format = MIXED;
|
||||||
|
--echo # Check if the statement is logged in row format.
|
||||||
|
let $pos1_master= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||||
|
INSERT INTO t1 SET a = 2;
|
||||||
|
eval SHOW BINLOG EVENTS FROM $pos1_master;
|
||||||
|
|
||||||
|
# clean up
|
||||||
|
DROP TABLE t1,t2,t3;
|
||||||
|
|
||||||
--echo "End of tests"
|
--echo "End of tests"
|
||||||
|
@ -3,13 +3,6 @@
|
|||||||
!include rpl_1slave_base.cnf
|
!include rpl_1slave_base.cnf
|
||||||
!include include/default_client.cnf
|
!include include/default_client.cnf
|
||||||
|
|
||||||
[mysqld.2]
|
|
||||||
# Hardcode the host to 127.0.0.1 until running on more
|
[mysqld.2]
|
||||||
# than one host and it need to be masked
|
|
||||||
# master-host= @mysqld.1.#host
|
|
||||||
master-host= 127.0.0.1
|
|
||||||
master-port= @mysqld.1.port
|
|
||||||
master-password= @mysqld.1.#password
|
|
||||||
master-user= @mysqld.1.#user
|
|
||||||
master-connect-retry= 1
|
|
||||||
|
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
stop slave;
|
stop slave;
|
||||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||||
reset master;
|
reset master;
|
||||||
reset slave;
|
|
||||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||||
start slave;
|
|
||||||
stop slave;
|
|
||||||
grant replication slave on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';
|
grant replication slave on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';
|
||||||
grant replication slave on *.* to replicate@127.0.0.1 identified by 'aaaaaaaaaaaaaaab';
|
grant replication slave on *.* to replicate@127.0.0.1 identified by 'aaaaaaaaaaaaaaab';
|
||||||
start slave;
|
start slave;
|
||||||
|
@ -4,50 +4,8 @@ File Position Binlog_Do_DB Binlog_Ignore_DB
|
|||||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||||
reset slave;
|
reset slave;
|
||||||
SHOW SLAVE STATUS;
|
SHOW SLAVE STATUS;
|
||||||
change master to master_host='127.0.0.1';
|
|
||||||
SHOW SLAVE STATUS;
|
|
||||||
Slave_IO_State #
|
|
||||||
Master_Host 127.0.0.1
|
|
||||||
Master_User test
|
|
||||||
Master_Port 3306
|
|
||||||
Connect_Retry 7
|
|
||||||
Master_Log_File
|
|
||||||
Read_Master_Log_Pos #
|
|
||||||
Relay_Log_File #
|
|
||||||
Relay_Log_Pos #
|
|
||||||
Relay_Master_Log_File
|
|
||||||
Slave_IO_Running No
|
|
||||||
Slave_SQL_Running No
|
|
||||||
Replicate_Do_DB
|
|
||||||
Replicate_Ignore_DB
|
|
||||||
Replicate_Do_Table
|
|
||||||
Replicate_Ignore_Table #
|
|
||||||
Replicate_Wild_Do_Table
|
|
||||||
Replicate_Wild_Ignore_Table
|
|
||||||
Last_Errno 0
|
|
||||||
Last_Error
|
|
||||||
Skip_Counter 0
|
|
||||||
Exec_Master_Log_Pos #
|
|
||||||
Relay_Log_Space #
|
|
||||||
Until_Condition None
|
|
||||||
Until_Log_File
|
|
||||||
Until_Log_Pos 0
|
|
||||||
Master_SSL_Allowed No
|
|
||||||
Master_SSL_CA_File
|
|
||||||
Master_SSL_CA_Path
|
|
||||||
Master_SSL_Cert
|
|
||||||
Master_SSL_Cipher
|
|
||||||
Master_SSL_Key
|
|
||||||
Seconds_Behind_Master #
|
|
||||||
Master_SSL_Verify_Server_Cert No
|
|
||||||
Last_IO_Errno #
|
|
||||||
Last_IO_Error #
|
|
||||||
Last_SQL_Errno 0
|
|
||||||
Last_SQL_Error
|
|
||||||
Replicate_Ignore_Server_Ids
|
|
||||||
Master_Server_Id 0
|
|
||||||
change master to master_host='127.0.0.1',master_user='root',
|
change master to master_host='127.0.0.1',master_user='root',
|
||||||
master_password='',master_port=MASTER_PORT;
|
master_password='',master_port=MASTER_PORT, MASTER_CONNECT_RETRY=7;
|
||||||
SHOW SLAVE STATUS;
|
SHOW SLAVE STATUS;
|
||||||
Slave_IO_State #
|
Slave_IO_State #
|
||||||
Master_Host 127.0.0.1
|
Master_Host 127.0.0.1
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
reset master;
|
reset master;
|
||||||
call mtr.add_suppression("Failed during slave I/O thread initialization");
|
|
||||||
stop slave;
|
|
||||||
reset slave;
|
reset slave;
|
||||||
|
call mtr.add_suppression("Failed during slave I/O thread initialization");
|
||||||
SET GLOBAL debug="d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";
|
SET GLOBAL debug="d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";
|
||||||
start slave;
|
start slave;
|
||||||
show slave status;
|
show slave status;
|
||||||
|
34
mysql-test/suite/rpl/r/rpl_bug41902.result
Normal file
34
mysql-test/suite/rpl/r/rpl_bug41902.result
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
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;
|
||||||
|
SET @@debug="d,simulate_find_log_pos_error";
|
||||||
|
reset slave;
|
||||||
|
ERROR HY000: Target log not found in binlog index
|
||||||
|
show warnings;
|
||||||
|
Level Code Message
|
||||||
|
Error 1373 Target log not found in binlog index
|
||||||
|
Error 1371 Failed purging old relay logs: Failed during log reset
|
||||||
|
SET @@debug="";
|
||||||
|
reset slave;
|
||||||
|
change master to master_host='dummy';
|
||||||
|
SET @@debug="d,simulate_find_log_pos_error";
|
||||||
|
change master to master_host='dummy';
|
||||||
|
ERROR HY000: Target log not found in binlog index
|
||||||
|
SET @@debug="";
|
||||||
|
reset slave;
|
||||||
|
change master to master_host='dummy';
|
||||||
|
SET @@debug="d,simulate_find_log_pos_error";
|
||||||
|
reset master;
|
||||||
|
ERROR HY000: Target log not found in binlog index
|
||||||
|
SET @@debug="";
|
||||||
|
reset master;
|
||||||
|
SET @@debug="d,simulate_find_log_pos_error";
|
||||||
|
purge binary logs to 'master-bin.000001';
|
||||||
|
ERROR HY000: Target log not found in binlog index
|
||||||
|
SET @@debug="";
|
||||||
|
purge binary logs to 'master-bin.000001';
|
||||||
|
End of the tests
|
@ -1,11 +0,0 @@
|
|||||||
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;
|
|
||||||
SHOW SLAVE STATUS;
|
|
||||||
load table t1 from master;
|
|
||||||
ERROR 08S01: Error connecting to master: Master is not configured
|
|
||||||
load table t1 from master;
|
|
||||||
ERROR HY000: Error from master: 'Table 'test.t1' doesn't exist'
|
|
@ -4,9 +4,10 @@ reset master;
|
|||||||
reset slave;
|
reset slave;
|
||||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||||
start slave;
|
start slave;
|
||||||
|
call mtr.add_suppression("Slave I/O: .* failed with error: Lost connection to MySQL server at 'reading initial communication packet'");
|
||||||
|
call mtr.add_suppression("Slave I/O: Master command COM_REGISTER_SLAVE failed: failed registering on master, reconnecting to try again");
|
||||||
call mtr.add_suppression("Get master clock failed with error: ");
|
call mtr.add_suppression("Get master clock failed with error: ");
|
||||||
call mtr.add_suppression("Get master SERVER_ID failed with error: ");
|
call mtr.add_suppression("Get master SERVER_ID failed with error: ");
|
||||||
call mtr.add_suppression("Slave I/O: Master command COM_REGISTER_SLAVE failed: failed registering on master, reconnecting to try again");
|
|
||||||
call mtr.add_suppression("Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; .*");
|
call mtr.add_suppression("Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; .*");
|
||||||
SELECT IS_FREE_LOCK("debug_lock.before_get_UNIX_TIMESTAMP");
|
SELECT IS_FREE_LOCK("debug_lock.before_get_UNIX_TIMESTAMP");
|
||||||
IS_FREE_LOCK("debug_lock.before_get_UNIX_TIMESTAMP")
|
IS_FREE_LOCK("debug_lock.before_get_UNIX_TIMESTAMP")
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
reset master;
|
reset master;
|
||||||
set @restore_slave_net_timeout= @@global.slave_net_timeout;
|
set @restore_slave_net_timeout= @@global.slave_net_timeout;
|
||||||
set @@global.slave_net_timeout= 10;
|
set @@global.slave_net_timeout= 10;
|
||||||
Warnings:
|
|
||||||
Warning 1624 The currect value for master_heartbeat_period exceeds the new value of `slave_net_timeout' sec. A sensible value for the period should be less than the timeout.
|
|
||||||
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
|
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
|
||||||
show status like 'Slave_heartbeat_period';;
|
show status like 'Slave_heartbeat_period';;
|
||||||
Variable_name Slave_heartbeat_period
|
Variable_name Slave_heartbeat_period
|
||||||
@ -59,7 +57,7 @@ Slave_IO_State #
|
|||||||
Master_Host 127.0.0.1
|
Master_Host 127.0.0.1
|
||||||
Master_User root
|
Master_User root
|
||||||
Master_Port MASTER_PORT
|
Master_Port MASTER_PORT
|
||||||
Connect_Retry 1
|
Connect_Retry 60
|
||||||
Master_Log_File master-bin.000001
|
Master_Log_File master-bin.000001
|
||||||
Read_Master_Log_Pos 280
|
Read_Master_Log_Pos 280
|
||||||
Relay_Log_File #
|
Relay_Log_File #
|
||||||
@ -100,7 +98,7 @@ Slave_IO_State #
|
|||||||
Master_Host 127.0.0.1
|
Master_Host 127.0.0.1
|
||||||
Master_User root
|
Master_User root
|
||||||
Master_Port MASTER_PORT
|
Master_Port MASTER_PORT
|
||||||
Connect_Retry 1
|
Connect_Retry 60
|
||||||
Master_Log_File master-bin.000001
|
Master_Log_File master-bin.000001
|
||||||
Read_Master_Log_Pos 280
|
Read_Master_Log_Pos 280
|
||||||
Relay_Log_File #
|
Relay_Log_File #
|
||||||
|
@ -1,133 +0,0 @@
|
|||||||
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;
|
|
||||||
drop database if exists mysqltest2;
|
|
||||||
drop database if exists mysqltest3;
|
|
||||||
drop database if exists mysqltest;
|
|
||||||
drop database if exists mysqltest2;
|
|
||||||
drop database if exists mysqltest3;
|
|
||||||
create database mysqltest2;
|
|
||||||
create database mysqltest;
|
|
||||||
create database mysqltest2;
|
|
||||||
create table mysqltest2.foo (n int)ENGINE=MyISAM;
|
|
||||||
insert into mysqltest2.foo values(4);
|
|
||||||
create table mysqltest2.foo (n int)ENGINE=MyISAM;
|
|
||||||
insert into mysqltest2.foo values(5);
|
|
||||||
create table mysqltest.bar (m int)ENGINE=MyISAM;
|
|
||||||
insert into mysqltest.bar values(15);
|
|
||||||
select mysqltest2.foo.n,mysqltest.bar.m from mysqltest2.foo,mysqltest.bar;
|
|
||||||
n m
|
|
||||||
4 15
|
|
||||||
drop database mysqltest;
|
|
||||||
drop database if exists mysqltest2;
|
|
||||||
drop database mysqltest;
|
|
||||||
ERROR HY000: Can't drop database 'mysqltest'; database doesn't exist
|
|
||||||
drop database mysqltest2;
|
|
||||||
set sql_log_bin = 0;
|
|
||||||
create database mysqltest2;
|
|
||||||
create database mysqltest;
|
|
||||||
show databases like 'mysql%';
|
|
||||||
Database (mysql%)
|
|
||||||
mysql
|
|
||||||
mysqltest
|
|
||||||
mysqltest2
|
|
||||||
create table mysqltest2.t1(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
create table mysqltest2.t2(n int, s text)ENGINE=MyISAM;
|
|
||||||
insert into mysqltest2.t1 values (1, 'one'), (2, 'two'), (3, 'three');
|
|
||||||
insert into mysqltest2.t2 values (11, 'eleven'), (12, 'twelve'), (13, 'thirteen');
|
|
||||||
create table mysqltest.t1(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
create table mysqltest.t2(n int, s text)ENGINE=MyISAM;
|
|
||||||
insert into mysqltest.t1 values (1, 'one test'), (2, 'two test'), (3, 'three test');
|
|
||||||
insert into mysqltest.t2 values (11, 'eleven test'), (12, 'twelve test'),
|
|
||||||
(13, 'thirteen test');
|
|
||||||
set sql_log_bin = 1;
|
|
||||||
show databases like 'mysql%';
|
|
||||||
Database (mysql%)
|
|
||||||
mysql
|
|
||||||
create database mysqltest2;
|
|
||||||
create table mysqltest2.t1(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
insert into mysqltest2.t1 values (1, 'original foo.t1');
|
|
||||||
create table mysqltest2.t3(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
insert into mysqltest2.t3 values (1, 'original foo.t3');
|
|
||||||
create database mysqltest3;
|
|
||||||
create table mysqltest3.t1(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
insert into mysqltest3.t1 values (1, 'original foo2.t1');
|
|
||||||
create database mysqltest;
|
|
||||||
create table mysqltest.t1(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
insert into mysqltest.t1 values (1, 'original bar.t1');
|
|
||||||
create table mysqltest.t3(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
insert into mysqltest.t3 values (1, 'original bar.t3');
|
|
||||||
load data from master;
|
|
||||||
show databases like 'mysql%';
|
|
||||||
Database (mysql%)
|
|
||||||
mysql
|
|
||||||
mysqltest
|
|
||||||
mysqltest2
|
|
||||||
mysqltest3
|
|
||||||
use mysqltest2;
|
|
||||||
show tables;
|
|
||||||
Tables_in_mysqltest2
|
|
||||||
t1
|
|
||||||
t3
|
|
||||||
select * from t1;
|
|
||||||
n s
|
|
||||||
1 original foo.t1
|
|
||||||
use mysqltest3;
|
|
||||||
show tables;
|
|
||||||
Tables_in_mysqltest3
|
|
||||||
t1
|
|
||||||
select * from t1;
|
|
||||||
n s
|
|
||||||
1 original foo2.t1
|
|
||||||
use mysqltest;
|
|
||||||
show tables;
|
|
||||||
Tables_in_mysqltest
|
|
||||||
t1
|
|
||||||
t2
|
|
||||||
t3
|
|
||||||
select * from mysqltest.t1;
|
|
||||||
n s
|
|
||||||
1 one test
|
|
||||||
2 two test
|
|
||||||
3 three test
|
|
||||||
select * from mysqltest.t2;
|
|
||||||
n s
|
|
||||||
11 eleven test
|
|
||||||
12 twelve test
|
|
||||||
13 thirteen test
|
|
||||||
select * from mysqltest.t3;
|
|
||||||
n s
|
|
||||||
1 original bar.t3
|
|
||||||
insert into mysqltest.t1 values (4, 'four test');
|
|
||||||
select * from mysqltest.t1;
|
|
||||||
n s
|
|
||||||
1 one test
|
|
||||||
2 two test
|
|
||||||
3 three test
|
|
||||||
4 four test
|
|
||||||
stop slave;
|
|
||||||
reset slave;
|
|
||||||
load data from master;
|
|
||||||
start slave;
|
|
||||||
insert into mysqltest.t1 values (5, 'five bar');
|
|
||||||
select * from mysqltest.t1;
|
|
||||||
n s
|
|
||||||
1 one test
|
|
||||||
2 two test
|
|
||||||
3 three test
|
|
||||||
4 four test
|
|
||||||
5 five bar
|
|
||||||
load table mysqltest.t1 from master;
|
|
||||||
ERROR 42S01: Table 't1' already exists
|
|
||||||
drop table mysqltest.t1;
|
|
||||||
load table mysqltest.t1 from master;
|
|
||||||
load table bar.t1 from master;
|
|
||||||
ERROR HY000: Error from master: 'Table 'bar.t1' doesn't exist'
|
|
||||||
drop database mysqltest;
|
|
||||||
drop database mysqltest2;
|
|
||||||
drop database mysqltest2;
|
|
||||||
drop database mysqltest3;
|
|
@ -1,51 +0,0 @@
|
|||||||
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;
|
|
||||||
"******************** Test Requirment 1 *************"
|
|
||||||
SET SQL_LOG_BIN=0,timestamp=200006;
|
|
||||||
CREATE TABLE t1(t TIMESTAMP NOT NULL,a CHAR(1))ENGINE=MyISAM;
|
|
||||||
INSERT INTO t1 ( a) VALUE ('F');
|
|
||||||
select unix_timestamp(t) from t1;
|
|
||||||
unix_timestamp(t)
|
|
||||||
200006
|
|
||||||
load table t1 from master;
|
|
||||||
select unix_timestamp(t) from t1;
|
|
||||||
unix_timestamp(t)
|
|
||||||
200006
|
|
||||||
set SQL_LOG_BIN=1,timestamp=default;
|
|
||||||
drop table t1;
|
|
||||||
set SQL_LOG_BIN=0;
|
|
||||||
"******************** Test Requirment 2 *************"
|
|
||||||
CREATE TABLE t1 (a INT NOT NULL) ENGINE=MyISAM MAX_ROWS=4000 CHECKSUM=1;
|
|
||||||
INSERT INTO t1 VALUES (1);
|
|
||||||
load table t1 from master;
|
|
||||||
check table t1;
|
|
||||||
Table Op Msg_type Msg_text
|
|
||||||
test.t1 check status OK
|
|
||||||
drop table t1;
|
|
||||||
drop table t1;
|
|
||||||
set SQL_LOG_BIN=0;
|
|
||||||
create table t1 (word char(20) not null, index(word))ENGINE=MyISAM;
|
|
||||||
load data infile '../../std_data/words.dat' into table t1;
|
|
||||||
create table t2 (word char(20) not null)ENGINE=MyISAM;
|
|
||||||
load data infile '../../std_data/words.dat' into table t2;
|
|
||||||
create table t3 (word char(20) not null primary key)ENGINE=MyISAM;
|
|
||||||
load table t1 from master;
|
|
||||||
load table t2 from master;
|
|
||||||
load table t3 from master;
|
|
||||||
check table t1;
|
|
||||||
Table Op Msg_type Msg_text
|
|
||||||
test.t1 check status OK
|
|
||||||
select count(*) from t2;
|
|
||||||
count(*)
|
|
||||||
70
|
|
||||||
select count(*) from t3;
|
|
||||||
count(*)
|
|
||||||
0
|
|
||||||
set SQL_LOG_BIN=1;
|
|
||||||
drop table if exists t1,t2,t3;
|
|
||||||
create table t1(n int);
|
|
||||||
drop table t1;
|
|
@ -13,8 +13,8 @@ n
|
|||||||
2001
|
2001
|
||||||
2002
|
2002
|
||||||
show slave hosts;
|
show slave hosts;
|
||||||
Server_id Host Port Rpl_recovery_rank Master_id
|
Server_id Host Port Master_id
|
||||||
2 127.0.0.1 9999 0 1
|
2 127.0.0.1 9999 1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
stop slave;
|
stop slave;
|
||||||
create table t2(id int auto_increment primary key, created datetime);
|
create table t2(id int auto_increment primary key, created datetime);
|
||||||
|
@ -92,7 +92,7 @@ reset slave;
|
|||||||
SHOW SLAVE STATUS;
|
SHOW SLAVE STATUS;
|
||||||
Slave_IO_State #
|
Slave_IO_State #
|
||||||
Master_Host 127.0.0.1
|
Master_Host 127.0.0.1
|
||||||
Master_User root
|
Master_User test
|
||||||
Master_Port MASTER_PORT
|
Master_Port MASTER_PORT
|
||||||
Connect_Retry 1
|
Connect_Retry 1
|
||||||
Master_Log_File
|
Master_Log_File
|
||||||
@ -130,6 +130,7 @@ Last_SQL_Errno 0
|
|||||||
Last_SQL_Error
|
Last_SQL_Error
|
||||||
Replicate_Ignore_Server_Ids
|
Replicate_Ignore_Server_Ids
|
||||||
Master_Server_Id 1
|
Master_Server_Id 1
|
||||||
|
change master to master_user='root';
|
||||||
start slave;
|
start slave;
|
||||||
SHOW SLAVE STATUS;
|
SHOW SLAVE STATUS;
|
||||||
Slave_IO_State #
|
Slave_IO_State #
|
||||||
|
17
mysql-test/suite/rpl/r/rpl_show_slave_hosts.result
Normal file
17
mysql-test/suite/rpl/r/rpl_show_slave_hosts.result
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
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;
|
||||||
|
RESET SLAVE;
|
||||||
|
CHANGE MASTER TO master_host='127.0.0.1',master_port=MASTER_PORT,master_user='root';
|
||||||
|
START SLAVE IO_THREAD;
|
||||||
|
SHOW SLAVE HOSTS;
|
||||||
|
Server_id Host Port Master_id
|
||||||
|
3 slave2 DEFAULT_PORT 1
|
||||||
|
2 SLAVE_PORT 1
|
||||||
|
STOP SLAVE IO_THREAD;
|
||||||
|
SHOW SLAVE HOSTS;
|
||||||
|
Server_id Host Port Master_id
|
||||||
|
2 SLAVE_PORT 1
|
@ -191,14 +191,9 @@ begin
|
|||||||
return unix_timestamp();
|
return unix_timestamp();
|
||||||
end|
|
end|
|
||||||
ERROR HY000: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
|
ERROR HY000: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
|
||||||
set @old_log_bin_trust_routine_creators= @@global.log_bin_trust_routine_creators;
|
|
||||||
set @old_log_bin_trust_function_creators= @@global.log_bin_trust_function_creators;
|
set @old_log_bin_trust_function_creators= @@global.log_bin_trust_function_creators;
|
||||||
set global log_bin_trust_routine_creators=1;
|
|
||||||
Warnings:
|
|
||||||
Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 6.0. Please use '@@log_bin_trust_function_creators' instead
|
|
||||||
set global log_bin_trust_function_creators=0;
|
set global log_bin_trust_function_creators=0;
|
||||||
set global log_bin_trust_function_creators=1;
|
set global log_bin_trust_function_creators=1;
|
||||||
set @old_log_bin_trust_routine_creators= @@global.log_bin_trust_routine_creators;
|
|
||||||
set @old_log_bin_trust_function_creators= @@global.log_bin_trust_function_creators;
|
set @old_log_bin_trust_function_creators= @@global.log_bin_trust_function_creators;
|
||||||
set global log_bin_trust_function_creators=1;
|
set global log_bin_trust_function_creators=1;
|
||||||
create function fn2()
|
create function fn2()
|
||||||
@ -557,13 +552,7 @@ insert into t values (1);
|
|||||||
return 0;
|
return 0;
|
||||||
end
|
end
|
||||||
master-bin.000001 # Query # # use `mysqltest`; SELECT `mysqltest2`.`f1`()
|
master-bin.000001 # Query # # use `mysqltest`; SELECT `mysqltest2`.`f1`()
|
||||||
set @@global.log_bin_trust_routine_creators= @old_log_bin_trust_routine_creators;
|
|
||||||
Warnings:
|
|
||||||
Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 6.0. Please use '@@log_bin_trust_function_creators' instead
|
|
||||||
set @@global.log_bin_trust_function_creators= @old_log_bin_trust_function_creators;
|
set @@global.log_bin_trust_function_creators= @old_log_bin_trust_function_creators;
|
||||||
set @@global.log_bin_trust_routine_creators= @old_log_bin_trust_routine_creators;
|
|
||||||
Warnings:
|
|
||||||
Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 6.0. Please use '@@log_bin_trust_function_creators' instead
|
|
||||||
set @@global.log_bin_trust_function_creators= @old_log_bin_trust_function_creators;
|
set @@global.log_bin_trust_function_creators= @old_log_bin_trust_function_creators;
|
||||||
drop database mysqltest;
|
drop database mysqltest;
|
||||||
drop database mysqltest2;
|
drop database mysqltest2;
|
||||||
|
@ -92,7 +92,7 @@ reset slave;
|
|||||||
SHOW SLAVE STATUS;
|
SHOW SLAVE STATUS;
|
||||||
Slave_IO_State #
|
Slave_IO_State #
|
||||||
Master_Host 127.0.0.1
|
Master_Host 127.0.0.1
|
||||||
Master_User root
|
Master_User test
|
||||||
Master_Port MASTER_PORT
|
Master_Port MASTER_PORT
|
||||||
Connect_Retry 1
|
Connect_Retry 1
|
||||||
Master_Log_File
|
Master_Log_File
|
||||||
@ -130,6 +130,7 @@ Last_SQL_Errno 0
|
|||||||
Last_SQL_Error
|
Last_SQL_Error
|
||||||
Replicate_Ignore_Server_Ids
|
Replicate_Ignore_Server_Ids
|
||||||
Master_Server_Id 1
|
Master_Server_Id 1
|
||||||
|
change master to master_user='root';
|
||||||
start slave;
|
start slave;
|
||||||
SHOW SLAVE STATUS;
|
SHOW SLAVE STATUS;
|
||||||
Slave_IO_State #
|
Slave_IO_State #
|
||||||
|
@ -10,6 +10,5 @@
|
|||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
rpl_get_master_version_and_clock: # Bug#46931 2009-10-17 joro rpl.rpl_get_master_version_and_clock fails
|
|
||||||
rpl_cross_version : BUG#43913 2009-10-22 luis rpl_cross_version fails with symptom in described in bug report
|
rpl_cross_version : BUG#43913 2009-10-22 luis rpl_cross_version fails with symptom in described in bug report
|
||||||
rpl_spec_variables : BUG#47661 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux
|
rpl_spec_variables : BUG#47661 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux
|
||||||
|
@ -6,14 +6,10 @@ source include/master-slave.inc;
|
|||||||
create table t1 (n int not null auto_increment primary key);
|
create table t1 (n int not null auto_increment primary key);
|
||||||
insert into t1 values(NULL);
|
insert into t1 values(NULL);
|
||||||
insert into t1 values(2);
|
insert into t1 values(2);
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
select n from t1;
|
select n from t1;
|
||||||
connection master;
|
connection master;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
@ -4,7 +4,9 @@ create table t1 (n int);
|
|||||||
insert into t1 values(1);
|
insert into t1 values(1);
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
stop slave;
|
stop slave;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
start slave;
|
start slave;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
connection master;
|
connection master;
|
||||||
insert into t1 values(2);
|
insert into t1 values(2);
|
||||||
#let slave catch up
|
#let slave catch up
|
||||||
|
@ -9,9 +9,7 @@
|
|||||||
|
|
||||||
--source include/have_binlog_format_mixed_or_statement.inc
|
--source include/have_binlog_format_mixed_or_statement.inc
|
||||||
source include/master-slave.inc;
|
source include/master-slave.inc;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
connection master;
|
connection master;
|
||||||
|
|
||||||
create table t2(n int);
|
create table t2(n int);
|
||||||
@ -46,8 +44,6 @@ connection master2;
|
|||||||
# exist in this connection.
|
# exist in this connection.
|
||||||
|
|
||||||
drop table if exists t1,t2;
|
drop table if exists t1,t2;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
@ -1 +0,0 @@
|
|||||||
--skip-slave-start
|
|
0
mysql-test/suite/rpl/t/rpl000017-slave.sh
Executable file → Normal file
0
mysql-test/suite/rpl/t/rpl000017-slave.sh
Executable file → Normal file
@ -1,12 +1,23 @@
|
|||||||
|
# The test manually replaces the relay-log.info file with connection
|
||||||
|
# information which the slave then should pick up. However, to avoid
|
||||||
|
# overwriting the file, no CHANGE MASTER TO nor RESET SLAVE statements
|
||||||
|
# should be executed.
|
||||||
|
#
|
||||||
|
# Starting replication before granting a replication user privileges
|
||||||
|
# to replicate will cause the start slave to fail, so we shouldn't do
|
||||||
|
# that.
|
||||||
|
|
||||||
|
let $no_change_master = 1;
|
||||||
|
let $skip_slave_start = 1;
|
||||||
source include/master-slave.inc;
|
source include/master-slave.inc;
|
||||||
connection slave;
|
|
||||||
stop slave;
|
|
||||||
connection master;
|
connection master;
|
||||||
grant replication slave on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';
|
grant replication slave on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';
|
||||||
grant replication slave on *.* to replicate@127.0.0.1 identified by 'aaaaaaaaaaaaaaab';
|
grant replication slave on *.* to replicate@127.0.0.1 identified by 'aaaaaaaaaaaaaaab';
|
||||||
connection slave;
|
connection slave;
|
||||||
start slave;
|
start slave;
|
||||||
source include/wait_for_slave_to_start.inc;
|
source include/wait_for_slave_to_start.inc;
|
||||||
|
|
||||||
connection master;
|
connection master;
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
|
@ -1 +1 @@
|
|||||||
--server-id=22 --master-connect-retry=7
|
--server-id=22
|
||||||
|
@ -15,14 +15,12 @@ connection slave;
|
|||||||
reset slave;
|
reset slave;
|
||||||
source include/show_slave_status2.inc;
|
source include/show_slave_status2.inc;
|
||||||
|
|
||||||
change master to master_host='127.0.0.1';
|
|
||||||
# The following needs to be cleaned up when change master is fixed
|
|
||||||
source include/show_slave_status2.inc;
|
|
||||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||||
eval change master to master_host='127.0.0.1',master_user='root',
|
eval change master to master_host='127.0.0.1',master_user='root',
|
||||||
master_password='',master_port=$MASTER_MYPORT;
|
master_password='',master_port=$MASTER_MYPORT, MASTER_CONNECT_RETRY=7;
|
||||||
source include/show_slave_status2.inc;
|
source include/show_slave_status2.inc;
|
||||||
start slave;
|
start slave;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
sync_with_master;
|
sync_with_master;
|
||||||
source include/show_slave_status2.inc;
|
source include/show_slave_status2.inc;
|
||||||
connection master;
|
connection master;
|
||||||
|
@ -10,15 +10,11 @@ insert into mysqltest.t1 values (1,2);
|
|||||||
create table mysqltest.t2 (n int);
|
create table mysqltest.t2 (n int);
|
||||||
insert into mysqltest.t2 values (45);
|
insert into mysqltest.t2 values (45);
|
||||||
rename table mysqltest.t2 to mysqltest.t3, mysqltest.t1 to mysqltest.t2;
|
rename table mysqltest.t2 to mysqltest.t3, mysqltest.t1 to mysqltest.t2;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
select * from mysqltest.t2;
|
select * from mysqltest.t2;
|
||||||
select * from mysqltest.t3;
|
select * from mysqltest.t3;
|
||||||
connection master;
|
connection master;
|
||||||
drop database mysqltest;
|
drop database mysqltest;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
@ -51,9 +51,7 @@ CALL simpleproc3();
|
|||||||
|
|
||||||
select * from t1;
|
select * from t1;
|
||||||
|
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
use test1;
|
use test1;
|
||||||
select * from t1;
|
select * from t1;
|
||||||
|
@ -78,10 +78,8 @@ SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034 FROM test.t1;
|
|||||||
SELECT hex(bit1) FROM test.t1 ORDER BY bit1;
|
SELECT hex(bit1) FROM test.t1 ORDER BY bit1;
|
||||||
SELECT hex(bit2) from test.t1 ORDER BY bit2;
|
SELECT hex(bit2) from test.t1 ORDER BY bit2;
|
||||||
SELECT hex(bit3) from test.t1 ORDER BY bit3;
|
SELECT hex(bit3) from test.t1 ORDER BY bit3;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034 FROM test.t1;
|
SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034 FROM test.t1;
|
||||||
SELECT hex(bit1) FROM test.t1 ORDER BY bit1;
|
SELECT hex(bit1) FROM test.t1 ORDER BY bit1;
|
||||||
SELECT hex(bit2) from test.t1 ORDER BY bit2;
|
SELECT hex(bit2) from test.t1 ORDER BY bit2;
|
||||||
|
@ -76,10 +76,8 @@ SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034
|
|||||||
SELECT hex(bit1) from test.t1 ORDER BY bit1;
|
SELECT hex(bit1) from test.t1 ORDER BY bit1;
|
||||||
SELECT hex(bit2) from test.t1 ORDER BY bit2;
|
SELECT hex(bit2) from test.t1 ORDER BY bit2;
|
||||||
SELECT hex(bit3) from test.t1 ORDER BY bit3;
|
SELECT hex(bit3) from test.t1 ORDER BY bit3;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034
|
SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034
|
||||||
FROM test.t1
|
FROM test.t1
|
||||||
ORDER BY oSupp, sSuppD, GSuppDf, VNotSupp, x034;
|
ORDER BY oSupp, sSuppD, GSuppDf, VNotSupp, x034;
|
||||||
@ -100,10 +98,8 @@ UPDATE test.t3 SET a = 2 WHERE b = 0;
|
|||||||
|
|
||||||
SELECT a, hex(b) FROM test.t2 ORDER BY a,b;
|
SELECT a, hex(b) FROM test.t2 ORDER BY a,b;
|
||||||
SELECT * FROM test.t3 ORDER BY a,b;
|
SELECT * FROM test.t3 ORDER BY a,b;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
SELECT a, hex(b) FROM test.t2 ORDER BY a,b;
|
SELECT a, hex(b) FROM test.t2 ORDER BY a,b;
|
||||||
SELECT * FROM test.t3 ORDER BY a,b;
|
SELECT * FROM test.t3 ORDER BY a,b;
|
||||||
|
|
||||||
|
@ -8,23 +8,25 @@ source include/have_log_bin.inc;
|
|||||||
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||||
connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
|
connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
|
||||||
|
|
||||||
|
|
||||||
connection master;
|
connection master;
|
||||||
reset master;
|
reset master;
|
||||||
|
|
||||||
connection slave;
|
connection slave;
|
||||||
|
reset slave;
|
||||||
|
|
||||||
# Add suppression for expected warnings in slaves error log
|
# Add suppression for expected warnings in slaves error log
|
||||||
call mtr.add_suppression("Failed during slave I/O thread initialization");
|
call mtr.add_suppression("Failed during slave I/O thread initialization");
|
||||||
|
|
||||||
--disable_warnings
|
|
||||||
stop slave;
|
|
||||||
--enable_warnings
|
|
||||||
reset slave;
|
|
||||||
|
|
||||||
# Set debug flags on slave to force errors to occur
|
# Set debug flags on slave to force errors to occur
|
||||||
SET GLOBAL debug="d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";
|
SET GLOBAL debug="d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";
|
||||||
|
|
||||||
|
--disable_query_log
|
||||||
|
eval CHANGE MASTER TO MASTER_USER='root',
|
||||||
|
MASTER_CONNECT_RETRY=1,
|
||||||
|
MASTER_HOST='127.0.0.1',
|
||||||
|
MASTER_PORT=$MASTER_MYPORT;
|
||||||
|
--enable_query_log
|
||||||
|
|
||||||
start slave;
|
start slave;
|
||||||
|
|
||||||
connection master;
|
connection master;
|
||||||
|
1
mysql-test/suite/rpl/t/rpl_bug41902-slave.opt
Normal file
1
mysql-test/suite/rpl/t/rpl_bug41902-slave.opt
Normal file
@ -0,0 +1 @@
|
|||||||
|
--loose-debug=-d,simulate_find_log_pos_error
|
61
mysql-test/suite/rpl/t/rpl_bug41902.test
Normal file
61
mysql-test/suite/rpl/t/rpl_bug41902.test
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# Test for Bug #41902 MYSQL_BIN_LOG::reset_logs() doesn't call my_error()
|
||||||
|
# in face of an error
|
||||||
|
#
|
||||||
|
|
||||||
|
source include/have_debug.inc;
|
||||||
|
source include/master-slave.inc;
|
||||||
|
|
||||||
|
#
|
||||||
|
# test checks that
|
||||||
|
# a. there is no crash when find_log_pos() returns with an error
|
||||||
|
# that tests expect to receive;
|
||||||
|
# b. in the case of multiple error messages the first error message is
|
||||||
|
# reported to the user and others are available as warnings.
|
||||||
|
#
|
||||||
|
|
||||||
|
connection slave;
|
||||||
|
stop slave;
|
||||||
|
|
||||||
|
SET @@debug="d,simulate_find_log_pos_error";
|
||||||
|
|
||||||
|
--error ER_UNKNOWN_TARGET_BINLOG
|
||||||
|
reset slave;
|
||||||
|
show warnings;
|
||||||
|
|
||||||
|
SET @@debug="";
|
||||||
|
reset slave;
|
||||||
|
change master to master_host='dummy';
|
||||||
|
|
||||||
|
SET @@debug="d,simulate_find_log_pos_error";
|
||||||
|
|
||||||
|
--error ER_UNKNOWN_TARGET_BINLOG
|
||||||
|
change master to master_host='dummy';
|
||||||
|
|
||||||
|
SET @@debug="";
|
||||||
|
reset slave;
|
||||||
|
change master to master_host='dummy';
|
||||||
|
|
||||||
|
connection master;
|
||||||
|
SET @@debug="d,simulate_find_log_pos_error";
|
||||||
|
--error ER_UNKNOWN_TARGET_BINLOG
|
||||||
|
reset master;
|
||||||
|
|
||||||
|
SET @@debug="";
|
||||||
|
reset master;
|
||||||
|
|
||||||
|
SET @@debug="d,simulate_find_log_pos_error";
|
||||||
|
--error ER_UNKNOWN_TARGET_BINLOG
|
||||||
|
purge binary logs to 'master-bin.000001';
|
||||||
|
|
||||||
|
SET @@debug="";
|
||||||
|
purge binary logs to 'master-bin.000001';
|
||||||
|
|
||||||
|
--disable_query_log
|
||||||
|
call mtr.add_suppression("Failed to locate old binlog or relay log files");
|
||||||
|
call mtr.add_suppression("MYSQL_LOG::purge_logs was called with file ./master-bin.000001 not listed in the index");
|
||||||
|
connection slave;
|
||||||
|
call mtr.add_suppression("Failed to locate old binlog or relay log files");
|
||||||
|
call mtr.add_suppression("MYSQL_LOG::purge_logs was called with file ./master-bin.000001 not listed in the index");
|
||||||
|
--enable_query_log
|
||||||
|
|
||||||
|
--echo End of the tests
|
@ -28,9 +28,7 @@ sync_with_master;
|
|||||||
select * from t1;
|
select * from t1;
|
||||||
connection master;
|
connection master;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
|
||||||
|
@ -7,6 +7,9 @@
|
|||||||
#############################################################
|
#############################################################
|
||||||
--source include/have_innodb.inc
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
|
# Use wait_for_slave_to_(start|stop) for current connections
|
||||||
|
let $keep_connection= 1;
|
||||||
|
|
||||||
# Set up circular ring and new names for servers
|
# Set up circular ring and new names for servers
|
||||||
--echo *** Set up circular ring by schema A->B->C->D->A ***
|
--echo *** Set up circular ring by schema A->B->C->D->A ***
|
||||||
--source include/circular_rpl_for_4_hosts_init.inc
|
--source include/circular_rpl_for_4_hosts_init.inc
|
||||||
|
@ -16,6 +16,7 @@ DROP TABLE IF EXISTS t1;
|
|||||||
--echo *** Create "wider" table on slave ***
|
--echo *** Create "wider" table on slave ***
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
STOP SLAVE;
|
STOP SLAVE;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
RESET SLAVE;
|
RESET SLAVE;
|
||||||
|
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
@ -69,6 +70,7 @@ RESET MASTER;
|
|||||||
--echo *** Start replication ***
|
--echo *** Start replication ***
|
||||||
connection slave;
|
connection slave;
|
||||||
START SLAVE;
|
START SLAVE;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
|
|
||||||
--echo *** Insert data on master and display it. ***
|
--echo *** Insert data on master and display it. ***
|
||||||
connection master;
|
connection master;
|
||||||
|
@ -8,9 +8,7 @@ connection master;
|
|||||||
delete from mysql.user where user=_binary'rpl_do_grant';
|
delete from mysql.user where user=_binary'rpl_do_grant';
|
||||||
delete from mysql.db where user=_binary'rpl_do_grant';
|
delete from mysql.db where user=_binary'rpl_do_grant';
|
||||||
flush privileges;
|
flush privileges;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
# if these DELETE did nothing on the master, we need to do them manually on the
|
# if these DELETE did nothing on the master, we need to do them manually on the
|
||||||
# slave.
|
# slave.
|
||||||
delete from mysql.user where user=_binary'rpl_ignore_grant';
|
delete from mysql.user where user=_binary'rpl_ignore_grant';
|
||||||
@ -21,17 +19,13 @@ flush privileges;
|
|||||||
connection master;
|
connection master;
|
||||||
grant select on *.* to rpl_do_grant@localhost;
|
grant select on *.* to rpl_do_grant@localhost;
|
||||||
grant drop on test.* to rpl_do_grant@localhost;
|
grant drop on test.* to rpl_do_grant@localhost;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
show grants for rpl_do_grant@localhost;
|
show grants for rpl_do_grant@localhost;
|
||||||
|
|
||||||
# test replication of SET PASSWORD
|
# test replication of SET PASSWORD
|
||||||
connection master;
|
connection master;
|
||||||
set password for rpl_do_grant@localhost=password("does it work?");
|
set password for rpl_do_grant@localhost=password("does it work?");
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
select password<>_binary'' from mysql.user where user=_binary'rpl_do_grant';
|
select password<>_binary'' from mysql.user where user=_binary'rpl_do_grant';
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -44,9 +38,7 @@ select password<>'' from mysql.user where user='rpl_do_grant';
|
|||||||
set sql_mode='ANSI_QUOTES';
|
set sql_mode='ANSI_QUOTES';
|
||||||
set password for rpl_do_grant@localhost=password('does it work?');
|
set password for rpl_do_grant@localhost=password('does it work?');
|
||||||
set sql_mode='';
|
set sql_mode='';
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
select password<>'' from mysql.user where user='rpl_do_grant';
|
select password<>'' from mysql.user where user='rpl_do_grant';
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,10 +7,6 @@ drop table if exists t1, t2;
|
|||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
--error 1051
|
--error 1051
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,9 +20,7 @@ drop view v1, not_exist_view;
|
|||||||
--error 1146
|
--error 1146
|
||||||
select * from v1;
|
select * from v1;
|
||||||
drop view v2, v3;
|
drop view v2, v3;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
--error 1146
|
--error 1146
|
||||||
select * from v1;
|
select * from v1;
|
||||||
--error 1146
|
--error 1146
|
||||||
|
@ -22,6 +22,7 @@ connection master;
|
|||||||
eval change master to master_host="127.0.0.1",master_port=$SLAVE_MYPORT,master_user="root";
|
eval change master to master_host="127.0.0.1",master_port=$SLAVE_MYPORT,master_user="root";
|
||||||
|
|
||||||
start slave;
|
start slave;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
|
|
||||||
# now we test it
|
# now we test it
|
||||||
|
|
||||||
@ -38,12 +39,11 @@ sync_with_master;
|
|||||||
# log-slave-updates and circul repl
|
# log-slave-updates and circul repl
|
||||||
#
|
#
|
||||||
stop slave;
|
stop slave;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
|
|
||||||
create table t2 (n int); # create one ignored event
|
create table t2 (n int); # create one ignored event
|
||||||
|
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
connection slave;
|
connection slave;
|
||||||
|
|
||||||
@ -85,6 +85,7 @@ start slave until master_log_file="slave-bin.000001",master_log_pos=663;
|
|||||||
select * from t3;
|
select * from t3;
|
||||||
|
|
||||||
start slave;
|
start slave;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
|
|
||||||
# BUG#13023 is that Exec_master_log_pos may stay too low "forever":
|
# BUG#13023 is that Exec_master_log_pos may stay too low "forever":
|
||||||
|
|
||||||
@ -94,9 +95,7 @@ create table t4 (n int); # create 3 ignored events
|
|||||||
create table t5 (n int);
|
create table t5 (n int);
|
||||||
create table t6 (n int);
|
create table t6 (n int);
|
||||||
|
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
connection slave;
|
connection slave;
|
||||||
|
|
||||||
@ -114,11 +113,10 @@ show tables;
|
|||||||
# cleanup
|
# cleanup
|
||||||
|
|
||||||
stop slave;
|
stop slave;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
reset slave;
|
reset slave;
|
||||||
drop table t1,t2,t3,t4,t5,t6;
|
drop table t1,t2,t3,t4,t5,t6;
|
||||||
|
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
@ -1 +0,0 @@
|
|||||||
--force-restart
|
|
@ -1,14 +0,0 @@
|
|||||||
source include/master-slave.inc;
|
|
||||||
|
|
||||||
source include/show_slave_status.inc;
|
|
||||||
|
|
||||||
#
|
|
||||||
# Load table should not succeed on the master as this is not a slave
|
|
||||||
#
|
|
||||||
--error 1218
|
|
||||||
load table t1 from master;
|
|
||||||
connection slave;
|
|
||||||
--error 1188
|
|
||||||
load table t1 from master;
|
|
||||||
|
|
||||||
# End of 4.1 tests
|
|
@ -14,19 +14,15 @@ create table t4 (a int primary key);
|
|||||||
--error 1022, ER_DUP_ENTRY
|
--error 1022, ER_DUP_ENTRY
|
||||||
insert into t1 values (1),(1);
|
insert into t1 values (1),(1);
|
||||||
insert into t4 values (1),(2);
|
insert into t4 values (1),(2);
|
||||||
save_master_pos;
|
|
||||||
connection slave;
|
|
||||||
# as the t1 table is ignored on the slave, the slave should be able to sync
|
# as the t1 table is ignored on the slave, the slave should be able to sync
|
||||||
sync_with_master;
|
sync_slave_with_master;
|
||||||
# check that the table has been ignored, because otherwise the test is nonsense
|
# check that the table has been ignored, because otherwise the test is nonsense
|
||||||
show tables like 't1';
|
show tables like 't1';
|
||||||
show tables like 't4';
|
show tables like 't4';
|
||||||
SELECT * FROM test.t4 ORDER BY a;
|
SELECT * FROM test.t4 ORDER BY a;
|
||||||
connection master;
|
connection master;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
# Now test that even critical errors (connection killed)
|
# Now test that even critical errors (connection killed)
|
||||||
# are ignored if rules allow it.
|
# are ignored if rules allow it.
|
||||||
@ -53,15 +49,11 @@ connection master;
|
|||||||
--error 0,1317,2013
|
--error 0,1317,2013
|
||||||
reap;
|
reap;
|
||||||
connection master1;
|
connection master1;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
SELECT * FROM test.t4 ORDER BY a;
|
SELECT * FROM test.t4 ORDER BY a;
|
||||||
|
|
||||||
connection master1;
|
connection master1;
|
||||||
DROP TABLE test.t4;
|
DROP TABLE test.t4;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
# Adding comment for force manual merge 5.0 -> wl1012. delete me if needed
|
# Adding comment for force manual merge 5.0 -> wl1012. delete me if needed
|
||||||
|
0
mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh
Executable file → Normal file
0
mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh
Executable file → Normal file
0
mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh
Executable file → Normal file
0
mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh
Executable file → Normal file
@ -1,6 +1,8 @@
|
|||||||
# Testing if "flush logs" command bouncing resulting in logs created in a loop
|
# Testing if "flush logs" command bouncing resulting in logs created in a loop
|
||||||
# in case of bi-directional replication
|
# in case of bi-directional replication
|
||||||
-- source include/master-slave.inc
|
-- source include/master-slave.inc
|
||||||
|
# Use wait_for_slave_to_(start|stop) for current connections
|
||||||
|
let $keep_connection= 1;
|
||||||
|
|
||||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR/
|
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR/
|
||||||
@ -9,18 +11,20 @@ show variables like 'relay_log%';
|
|||||||
connection slave;
|
connection slave;
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
stop slave;
|
stop slave;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||||
eval change master to master_host='127.0.0.1',master_user='root',
|
eval change master to master_host='127.0.0.1',master_user='root',
|
||||||
master_password='',master_port=$MASTER_MYPORT;
|
master_password='',master_port=$MASTER_MYPORT;
|
||||||
start slave;
|
start slave;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
#
|
#
|
||||||
# Start replication slave -> master
|
# Start replication slave -> master
|
||||||
#
|
#
|
||||||
connection master;
|
connection master;
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
stop slave;
|
stop slave;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||||
eval change master to master_host='127.0.0.1',master_user='root',
|
eval change master to master_host='127.0.0.1',master_user='root',
|
||||||
|
@ -34,12 +34,14 @@ SELECT * FROM t1;
|
|||||||
|
|
||||||
# restart replication for the next testcase
|
# restart replication for the next testcase
|
||||||
stop slave;
|
stop slave;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
reset slave;
|
reset slave;
|
||||||
connection master;
|
connection master;
|
||||||
reset master;
|
reset master;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
connection slave;
|
connection slave;
|
||||||
start slave;
|
start slave;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
|
|
||||||
# testcase with INSERT SELECT
|
# testcase with INSERT SELECT
|
||||||
connection master;
|
connection master;
|
||||||
|
@ -1,181 +0,0 @@
|
|||||||
# This one assumes we are ignoring updates on tables in database mysqltest2,
|
|
||||||
# but doing the ones in database mysqltest
|
|
||||||
#################################################################
|
|
||||||
# Change Author: JBM
|
|
||||||
# Change Date: 2006-02-02
|
|
||||||
# Change: Added ENGINE=MyISAM
|
|
||||||
# Reason: LOAD from master is only supported by MyISAM
|
|
||||||
#################################################################
|
|
||||||
|
|
||||||
source include/master-slave.inc;
|
|
||||||
--disable_warnings
|
|
||||||
drop database if exists mysqltest;
|
|
||||||
drop database if exists mysqltest2;
|
|
||||||
drop database if exists mysqltest3;
|
|
||||||
connection slave;
|
|
||||||
drop database if exists mysqltest;
|
|
||||||
drop database if exists mysqltest2;
|
|
||||||
drop database if exists mysqltest3;
|
|
||||||
connection master;
|
|
||||||
create database mysqltest2;
|
|
||||||
create database mysqltest;
|
|
||||||
--enable_warnings
|
|
||||||
|
|
||||||
save_master_pos;
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
create database mysqltest2;
|
|
||||||
create table mysqltest2.foo (n int)ENGINE=MyISAM;
|
|
||||||
insert into mysqltest2.foo values(4);
|
|
||||||
connection master;
|
|
||||||
create table mysqltest2.foo (n int)ENGINE=MyISAM;
|
|
||||||
insert into mysqltest2.foo values(5);
|
|
||||||
create table mysqltest.bar (m int)ENGINE=MyISAM;
|
|
||||||
insert into mysqltest.bar values(15);
|
|
||||||
save_master_pos;
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
select mysqltest2.foo.n,mysqltest.bar.m from mysqltest2.foo,mysqltest.bar;
|
|
||||||
connection master;
|
|
||||||
drop database mysqltest;
|
|
||||||
drop database if exists mysqltest2;
|
|
||||||
save_master_pos;
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
--error 1008
|
|
||||||
drop database mysqltest;
|
|
||||||
drop database mysqltest2;
|
|
||||||
|
|
||||||
# Now let's test load data from master
|
|
||||||
|
|
||||||
# First create some databases and tables on the master
|
|
||||||
|
|
||||||
connection master;
|
|
||||||
set sql_log_bin = 0;
|
|
||||||
create database mysqltest2;
|
|
||||||
create database mysqltest;
|
|
||||||
show databases like 'mysql%';
|
|
||||||
create table mysqltest2.t1(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
create table mysqltest2.t2(n int, s text)ENGINE=MyISAM;
|
|
||||||
insert into mysqltest2.t1 values (1, 'one'), (2, 'two'), (3, 'three');
|
|
||||||
insert into mysqltest2.t2 values (11, 'eleven'), (12, 'twelve'), (13, 'thirteen');
|
|
||||||
|
|
||||||
create table mysqltest.t1(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
create table mysqltest.t2(n int, s text)ENGINE=MyISAM;
|
|
||||||
insert into mysqltest.t1 values (1, 'one test'), (2, 'two test'), (3, 'three test');
|
|
||||||
insert into mysqltest.t2 values (11, 'eleven test'), (12, 'twelve test'),
|
|
||||||
(13, 'thirteen test');
|
|
||||||
set sql_log_bin = 1;
|
|
||||||
save_master_pos;
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
# This should show that the slave is empty at this point
|
|
||||||
show databases like 'mysql%';
|
|
||||||
# Create mysqltest2 and mysqltest3 on slave; we expect that LOAD DATA FROM
|
|
||||||
# MASTER will neither touch database mysqltest nor mysqltest3
|
|
||||||
create database mysqltest2;
|
|
||||||
create table mysqltest2.t1(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
insert into mysqltest2.t1 values (1, 'original foo.t1');
|
|
||||||
create table mysqltest2.t3(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
insert into mysqltest2.t3 values (1, 'original foo.t3');
|
|
||||||
create database mysqltest3;
|
|
||||||
create table mysqltest3.t1(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
insert into mysqltest3.t1 values (1, 'original foo2.t1');
|
|
||||||
|
|
||||||
# Create mysqltest, and mysqltest.t1, to check that it gets replaced,
|
|
||||||
# and mysqltest.t3 to check that it is not touched (there is no
|
|
||||||
# mysqltest.t3 on master)
|
|
||||||
create database mysqltest;
|
|
||||||
create table mysqltest.t1(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
insert into mysqltest.t1 values (1, 'original bar.t1');
|
|
||||||
create table mysqltest.t3(n int, s char(20))ENGINE=MyISAM;
|
|
||||||
insert into mysqltest.t3 values (1, 'original bar.t3');
|
|
||||||
|
|
||||||
load data from master;
|
|
||||||
|
|
||||||
# Now let's check if we have the right tables and the right data in them
|
|
||||||
show databases like 'mysql%';
|
|
||||||
use mysqltest2;
|
|
||||||
|
|
||||||
# LOAD DATA FROM MASTER uses only replicate_*_db rules to decide which
|
|
||||||
# databases have to be copied. So it thinks "mysqltest" has to be
|
|
||||||
# copied. Before 4.0.16 it would first drop "mysqltest", then create
|
|
||||||
# "mysqltest". This "drop" is a bug; in that case t3 would disappear. So
|
|
||||||
# here the effect of this bug (BUG#1248) would be to leave an empty
|
|
||||||
# "mysqltest" on the slave.
|
|
||||||
|
|
||||||
show tables; # should be t1 & t3
|
|
||||||
select * from t1; # should be slave's original
|
|
||||||
use mysqltest3;
|
|
||||||
show tables; # should be t1
|
|
||||||
select * from t1; # should be slave's original
|
|
||||||
use mysqltest;
|
|
||||||
show tables; # should contain master's copied t1&t2, slave's original t3
|
|
||||||
select * from mysqltest.t1;
|
|
||||||
select * from mysqltest.t2;
|
|
||||||
select * from mysqltest.t3;
|
|
||||||
|
|
||||||
# Now let's see if replication works
|
|
||||||
connection master;
|
|
||||||
insert into mysqltest.t1 values (4, 'four test');
|
|
||||||
save_master_pos;
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
select * from mysqltest.t1;
|
|
||||||
|
|
||||||
# Check that LOAD DATA FROM MASTER is able to create master.info
|
|
||||||
# if needed (if RESET SLAVE was used before), before writing to it (BUG#2922).
|
|
||||||
|
|
||||||
stop slave;
|
|
||||||
reset slave;
|
|
||||||
load data from master;
|
|
||||||
start slave;
|
|
||||||
# see if replication coordinates were restored fine
|
|
||||||
connection master;
|
|
||||||
insert into mysqltest.t1 values (5, 'five bar');
|
|
||||||
save_master_pos;
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
select * from mysqltest.t1;
|
|
||||||
|
|
||||||
# Check that LOAD DATA FROM MASTER reports the error if it can't drop a
|
|
||||||
# table to be overwritten.
|
|
||||||
# DISABLED FOR NOW AS chmod IS NOT PORTABLE ON NON-UNIX
|
|
||||||
# insert into mysqltest.t1 values(10, 'should be there');
|
|
||||||
# flush tables;
|
|
||||||
let $MYSQLD_SLAVE_DATADIR= `select @@datadir`;
|
|
||||||
# system chmod 500 $MYSQLD_SLAVE_DATADIR/mysqltest/;
|
|
||||||
# --error 6
|
|
||||||
# load data from master; # should fail (errno 13)
|
|
||||||
# system chmod 700 $MYSQLD_SLAVE_DATADIR/mysqltest/;
|
|
||||||
# select * from mysqltest.t1; # should contain the row (10, ...)
|
|
||||||
|
|
||||||
|
|
||||||
# Check that LOAD TABLE FROM MASTER fails if the table exists on slave
|
|
||||||
--error 1050
|
|
||||||
load table mysqltest.t1 from master;
|
|
||||||
drop table mysqltest.t1;
|
|
||||||
load table mysqltest.t1 from master;
|
|
||||||
|
|
||||||
# Check what happens when requestion not existing table
|
|
||||||
#
|
|
||||||
--error 1188
|
|
||||||
load table bar.t1 from master;
|
|
||||||
|
|
||||||
# as LOAD DATA FROM MASTER failed it did not restart slave threads
|
|
||||||
# DISABLED FOR NOW
|
|
||||||
# start slave;
|
|
||||||
|
|
||||||
# Now time for cleanup
|
|
||||||
connection master;
|
|
||||||
drop database mysqltest;
|
|
||||||
drop database mysqltest2;
|
|
||||||
save_master_pos;
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
# These have to be dropped on slave because they are not replicated
|
|
||||||
drop database mysqltest2;
|
|
||||||
drop database mysqltest3;
|
|
||||||
|
|
||||||
# End of 4.1 tests
|
|
@ -1,98 +0,0 @@
|
|||||||
###########################################################
|
|
||||||
# Change Author: JBM
|
|
||||||
# Change Date: 2006-2-2
|
|
||||||
# Change: Added ENGINE=$engine_type for first create table
|
|
||||||
# Reason: Only MyISAM supports load from master no need to
|
|
||||||
# run test case for other engines, in addition test will
|
|
||||||
# fail if other engines are set as default engine
|
|
||||||
###########################################################
|
|
||||||
# Change Author: JBM
|
|
||||||
# Change Date: 2006-2-3
|
|
||||||
# Change: removed ENGINE=$engine_type for first create table
|
|
||||||
# and renamed test file to rpl_load_table_from_master.test.
|
|
||||||
# In addition added test requirements.
|
|
||||||
# Reason: Request from review.
|
|
||||||
############################################################
|
|
||||||
# REQUIREMENT TEST 1:
|
|
||||||
# LOAD TABLE FROM MASTER must work with a forced timestamp.
|
|
||||||
############################################################
|
|
||||||
#
|
|
||||||
# Test forced timestamp
|
|
||||||
#
|
|
||||||
-- source include/master-slave.inc
|
|
||||||
|
|
||||||
-- echo "******************** Test Requirment 1 *************"
|
|
||||||
|
|
||||||
# Don't log table creating to the slave as we want to test LOAD TABLE
|
|
||||||
SET SQL_LOG_BIN=0,timestamp=200006;
|
|
||||||
eval CREATE TABLE t1(t TIMESTAMP NOT NULL,a CHAR(1))ENGINE=MyISAM;
|
|
||||||
INSERT INTO t1 ( a) VALUE ('F');
|
|
||||||
select unix_timestamp(t) from t1;
|
|
||||||
connection slave;
|
|
||||||
load table t1 from master;
|
|
||||||
select unix_timestamp(t) from t1;
|
|
||||||
|
|
||||||
# Delete the created table on master and slave
|
|
||||||
connection master;
|
|
||||||
set SQL_LOG_BIN=1,timestamp=default;
|
|
||||||
drop table t1;
|
|
||||||
save_master_pos;
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
connection master;
|
|
||||||
|
|
||||||
#
|
|
||||||
# Test copying table with checksum
|
|
||||||
#
|
|
||||||
|
|
||||||
# Don't log table creating to the slave as we want to test LOAD TABLE
|
|
||||||
set SQL_LOG_BIN=0;
|
|
||||||
|
|
||||||
#######################################################
|
|
||||||
# REQUIREMENTi TEST 2:
|
|
||||||
#LOAD TABLE FROM MASTER must work with table checksum
|
|
||||||
#######################################################
|
|
||||||
-- echo "******************** Test Requirment 2 *************"
|
|
||||||
|
|
||||||
eval CREATE TABLE t1 (a INT NOT NULL) ENGINE=MyISAM MAX_ROWS=4000 CHECKSUM=1;
|
|
||||||
INSERT INTO t1 VALUES (1);
|
|
||||||
save_master_pos;
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
load table t1 from master;
|
|
||||||
check table t1;
|
|
||||||
drop table t1;
|
|
||||||
connection master;
|
|
||||||
drop table t1;
|
|
||||||
save_master_pos;
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
connection master;
|
|
||||||
set SQL_LOG_BIN=0;
|
|
||||||
create table t1 (word char(20) not null, index(word))ENGINE=MyISAM;
|
|
||||||
load data infile '../../std_data/words.dat' into table t1;
|
|
||||||
create table t2 (word char(20) not null)ENGINE=MyISAM;
|
|
||||||
load data infile '../../std_data/words.dat' into table t2;
|
|
||||||
create table t3 (word char(20) not null primary key)ENGINE=MyISAM;
|
|
||||||
connection slave;
|
|
||||||
load table t1 from master;
|
|
||||||
load table t2 from master;
|
|
||||||
load table t3 from master;
|
|
||||||
check table t1;
|
|
||||||
select count(*) from t2;
|
|
||||||
select count(*) from t3;
|
|
||||||
connection master;
|
|
||||||
set SQL_LOG_BIN=1;
|
|
||||||
drop table if exists t1,t2,t3;
|
|
||||||
save_master_pos;
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
create table t1(n int);
|
|
||||||
drop table t1;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# End of 4.1 tests
|
|
@ -23,9 +23,7 @@ load data infile '../../std_data/loaddata6.dat' into table t1 character set koi8
|
|||||||
|
|
||||||
select hex(a) from t1;
|
select hex(a) from t1;
|
||||||
|
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
select hex(a) from t1;
|
select hex(a) from t1;
|
||||||
connection master;
|
connection master;
|
||||||
|
@ -16,7 +16,7 @@ connection master;
|
|||||||
LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE t1;
|
LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE t1;
|
||||||
|
|
||||||
connection slave;
|
connection slave;
|
||||||
wait_for_slave_to_stop;
|
--source include/wait_for_slave_sql_to_stop.inc
|
||||||
source include/show_slave_status.inc;
|
source include/show_slave_status.inc;
|
||||||
|
|
||||||
connection slave;
|
connection slave;
|
||||||
|
@ -28,9 +28,7 @@ LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE mysqltest.t1;
|
|||||||
SELECT COUNT(*) FROM mysqltest.t1;
|
SELECT COUNT(*) FROM mysqltest.t1;
|
||||||
|
|
||||||
# Now lets check the slave to see what we have :-)
|
# Now lets check the slave to see what we have :-)
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
SHOW DATABASES;
|
SHOW DATABASES;
|
||||||
|
|
||||||
|
@ -16,9 +16,7 @@ load data infile '../../std_data/rpl_loaddata.dat' into table test.t1;
|
|||||||
|
|
||||||
# Test logging on slave;
|
# Test logging on slave;
|
||||||
|
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
select count(*) from test.t1; # check that LOAD was replicated
|
select count(*) from test.t1; # check that LOAD was replicated
|
||||||
source include/show_binlog_events.inc;
|
source include/show_binlog_events.inc;
|
||||||
|
|
||||||
|
@ -27,15 +27,11 @@ truncate table t1;
|
|||||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||||
eval load data local infile '$MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' into table t1;
|
eval load data local infile '$MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' into table t1;
|
||||||
--remove_file $MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile
|
--remove_file $MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
select a,count(*) from t1 group by a;
|
select a,count(*) from t1 group by a;
|
||||||
connection master;
|
connection master;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
# See if master_pos_wait(,,timeout)
|
# See if master_pos_wait(,,timeout)
|
||||||
# Terminates with "timeout expired" (-1)
|
# Terminates with "timeout expired" (-1)
|
||||||
source include/master-slave.inc;
|
source include/master-slave.inc;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
# Ask for a master log that has certainly not been reached yet
|
# Ask for a master log that has certainly not been reached yet
|
||||||
# timeout= 2 seconds
|
# timeout= 2 seconds
|
||||||
select master_pos_wait('master-bin.999999',0,2);
|
select master_pos_wait('master-bin.999999',0,2);
|
||||||
|
0
mysql-test/suite/rpl/t/rpl_misc_functions-slave.sh
Executable file → Normal file
0
mysql-test/suite/rpl/t/rpl_misc_functions-slave.sh
Executable file → Normal file
@ -18,6 +18,7 @@ show slave hosts;
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
stop slave;
|
stop slave;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
connection master;
|
connection master;
|
||||||
|
|
||||||
# Test replication of timestamp
|
# Test replication of timestamp
|
||||||
@ -35,6 +36,7 @@ create table t5 select * from t4;
|
|||||||
save_master_pos;
|
save_master_pos;
|
||||||
connection slave;
|
connection slave;
|
||||||
start slave;
|
start slave;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
sync_with_master;
|
sync_with_master;
|
||||||
select * from t2;
|
select * from t2;
|
||||||
show create table t3;
|
show create table t3;
|
||||||
|
@ -19,8 +19,6 @@ select * from t2;
|
|||||||
|
|
||||||
connection master;
|
connection master;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
@ -27,11 +27,9 @@ SELECT * FROM a;
|
|||||||
insert into a values(2),(3);
|
insert into a values(2),(3);
|
||||||
delete alias FROM a alias where alias.i=2;
|
delete alias FROM a alias where alias.i=2;
|
||||||
select * from a;
|
select * from a;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
|
|
||||||
use mysqltest_to;
|
use mysqltest_to;
|
||||||
sync_with_master;
|
|
||||||
select * from a;
|
select * from a;
|
||||||
|
|
||||||
# BUG#3461
|
# BUG#3461
|
||||||
|
@ -47,8 +47,7 @@ sync_with_master; # won't work if slave SQL thread stopped
|
|||||||
|
|
||||||
connection master; # cleanup
|
connection master; # cleanup
|
||||||
drop table t1;
|
drop table t1;
|
||||||
connection slave;
|
sync_slave_with_master;
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
# If the machine is so fast that slave syncs before OPTIMIZE
|
# If the machine is so fast that slave syncs before OPTIMIZE
|
||||||
# starts, this test wil demonstrate nothing but will pass.
|
# starts, this test wil demonstrate nothing but will pass.
|
||||||
|
@ -38,20 +38,15 @@ select @@net_buffer_length, @@max_allowed_packet;
|
|||||||
create table `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
|
create table `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
|
||||||
|
|
||||||
INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1023');
|
INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1023');
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
eval select count(*) from `$db`.`t1` /* must be 1 */;
|
eval select count(*) from `$db`.`t1` /* must be 1 */;
|
||||||
|
|
||||||
SHOW STATUS LIKE 'Slave_running';
|
SHOW STATUS LIKE 'Slave_running';
|
||||||
select * from information_schema.session_status where variable_name= 'SLAVE_RUNNING';
|
select * from information_schema.session_status where variable_name= 'SLAVE_RUNNING';
|
||||||
connection master;
|
connection master;
|
||||||
eval drop database $db;
|
eval drop database $db;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
|
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug #23755: Replicated event larger that max_allowed_packet infinitely re-transmits
|
# Bug #23755: Replicated event larger that max_allowed_packet infinitely re-transmits
|
||||||
|
@ -6,9 +6,7 @@
|
|||||||
###########################################################
|
###########################################################
|
||||||
source include/master-slave.inc;
|
source include/master-slave.inc;
|
||||||
|
|
||||||
#save_master_pos;
|
#sync_slave_with_master;
|
||||||
#connection slave;
|
|
||||||
#sync_with_master;
|
|
||||||
#reset master;
|
#reset master;
|
||||||
#connection master;
|
#connection master;
|
||||||
|
|
||||||
@ -30,20 +28,16 @@ prepare stmt2 from @var2;
|
|||||||
set @var1='from-master-3';
|
set @var1='from-master-3';
|
||||||
execute stmt2 using @var1;
|
execute stmt2 using @var1;
|
||||||
|
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
SELECT * FROM t1 ORDER BY n;
|
SELECT * FROM t1 ORDER BY n;
|
||||||
|
|
||||||
connection master;
|
connection master;
|
||||||
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
stop slave;
|
stop slave;
|
||||||
|
source include/wait_for_slave_to_stop.inc;
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -102,13 +96,12 @@ use mysqltest1;
|
|||||||
EXECUTE stmt_d_1;
|
EXECUTE stmt_d_1;
|
||||||
|
|
||||||
--echo
|
--echo
|
||||||
--save_master_pos
|
--sync_slave_with_master
|
||||||
|
|
||||||
|
|
||||||
--echo
|
--echo
|
||||||
--echo # Connection: slave
|
--echo # Connection: slave
|
||||||
--echo
|
--echo
|
||||||
--connection slave
|
|
||||||
--sync_with_master
|
|
||||||
|
|
||||||
--echo
|
--echo
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
@ -125,13 +118,12 @@ DROP DATABASE mysqltest1;
|
|||||||
use test;
|
use test;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--echo
|
--echo
|
||||||
--save_master_pos
|
--sync_slave_with_master
|
||||||
|
|
||||||
|
|
||||||
--echo
|
--echo
|
||||||
--echo # Connection: slave
|
--echo # Connection: slave
|
||||||
--echo
|
--echo
|
||||||
--connection slave
|
|
||||||
--sync_with_master
|
|
||||||
|
|
||||||
--echo
|
--echo
|
||||||
STOP SLAVE;
|
STOP SLAVE;
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
source include/master-slave.inc;
|
source include/master-slave.inc;
|
||||||
connection slave;
|
connection slave;
|
||||||
stop slave;
|
stop slave;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
connection master;
|
connection master;
|
||||||
# This will generate a master's binlog > 10 bytes
|
# This will generate a master's binlog > 10 bytes
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
|
@ -18,18 +18,14 @@ insert into t1 values(15),(16),(17);
|
|||||||
update t1 set m=20 where m=16;
|
update t1 set m=20 where m=16;
|
||||||
delete from t1 where m=17;
|
delete from t1 where m=17;
|
||||||
create table t11 select * from t1;
|
create table t11 select * from t1;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
select * from t1 ORDER BY m;
|
select * from t1 ORDER BY m;
|
||||||
select * from t2;
|
select * from t2;
|
||||||
--error 1146
|
--error 1146
|
||||||
select * from t11;
|
select * from t11;
|
||||||
connection master;
|
connection master;
|
||||||
drop table if exists t1,t2,t11;
|
drop table if exists t1,t2,t11;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
# show slave status, just to see of it prints replicate-do-table
|
# show slave status, just to see of it prints replicate-do-table
|
||||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||||
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
|
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
|
||||||
|
0
mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh
Executable file → Normal file
0
mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh
Executable file → Normal file
@ -56,6 +56,7 @@ connection master;
|
|||||||
reset master;
|
reset master;
|
||||||
connection slave;
|
connection slave;
|
||||||
start slave;
|
start slave;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
connection master;
|
connection master;
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -100,6 +101,7 @@ connection slave;
|
|||||||
#restart slave skipping one event
|
#restart slave skipping one event
|
||||||
set global sql_slave_skip_counter=1;
|
set global sql_slave_skip_counter=1;
|
||||||
start slave;
|
start slave;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
|
|
||||||
connection master;
|
connection master;
|
||||||
|
|
||||||
@ -161,9 +163,7 @@ select count(*) from t3 where n >= 4;
|
|||||||
create table t4 select * from temp_table;
|
create table t4 select * from temp_table;
|
||||||
source include/show_binary_logs.inc;
|
source include/show_binary_logs.inc;
|
||||||
source include/show_master_status.inc;
|
source include/show_master_status.inc;
|
||||||
save_master_pos;
|
sync_slave_with_master;
|
||||||
connection slave;
|
|
||||||
sync_with_master;
|
|
||||||
select * from t4;
|
select * from t4;
|
||||||
|
|
||||||
source include/show_slave_status2.inc;
|
source include/show_slave_status2.inc;
|
||||||
|
@ -25,8 +25,10 @@ sync_slave_with_master;
|
|||||||
--disable_query_log
|
--disable_query_log
|
||||||
set @storage_engine = @@global.storage_engine;
|
set @storage_engine = @@global.storage_engine;
|
||||||
STOP SLAVE;
|
STOP SLAVE;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
SET GLOBAL storage_engine=memory;
|
SET GLOBAL storage_engine=memory;
|
||||||
START SLAVE;
|
START SLAVE;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
|
|
||||||
--source include/reset_master_and_slave.inc
|
--source include/reset_master_and_slave.inc
|
||||||
@ -129,8 +131,10 @@ DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
# Here we reset the value of the default storage engine
|
# Here we reset the value of the default storage engine
|
||||||
STOP SLAVE;
|
STOP SLAVE;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
SET GLOBAL storage_engine=@storage_engine;
|
SET GLOBAL storage_engine=@storage_engine;
|
||||||
START SLAVE;
|
START SLAVE;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
--enable_ps_protocol
|
--enable_ps_protocol
|
||||||
|
|
||||||
# BUG#22864 (Rollback following CREATE ... SELECT discards 'CREATE
|
# BUG#22864 (Rollback following CREATE ... SELECT discards 'CREATE
|
||||||
@ -138,11 +142,13 @@ START SLAVE;
|
|||||||
--echo ================ BUG#22864 ================
|
--echo ================ BUG#22864 ================
|
||||||
connection slave;
|
connection slave;
|
||||||
STOP SLAVE;
|
STOP SLAVE;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
RESET SLAVE;
|
RESET SLAVE;
|
||||||
connection master;
|
connection master;
|
||||||
RESET MASTER;
|
RESET MASTER;
|
||||||
connection slave;
|
connection slave;
|
||||||
START SLAVE;
|
START SLAVE;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
connection master;
|
connection master;
|
||||||
SET AUTOCOMMIT=0;
|
SET AUTOCOMMIT=0;
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
@ -190,6 +196,7 @@ sync_slave_with_master;
|
|||||||
# Some tests with temporary tables
|
# Some tests with temporary tables
|
||||||
connection slave;
|
connection slave;
|
||||||
STOP SLAVE;
|
STOP SLAVE;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
RESET SLAVE;
|
RESET SLAVE;
|
||||||
|
|
||||||
connection master;
|
connection master;
|
||||||
@ -197,6 +204,7 @@ RESET MASTER;
|
|||||||
|
|
||||||
connection slave;
|
connection slave;
|
||||||
START SLAVE;
|
START SLAVE;
|
||||||
|
--source include/wait_for_slave_to_start.inc
|
||||||
|
|
||||||
connection master;
|
connection master;
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
|
@ -116,16 +116,14 @@ sync_slave_with_master;
|
|||||||
#(the server was started with skip-slave-start)
|
#(the server was started with skip-slave-start)
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
stop slave;
|
stop slave;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
--require r/slave-stopped.result
|
|
||||||
show status like 'Slave_running';
|
|
||||||
connection master;
|
connection master;
|
||||||
reset master;
|
reset master;
|
||||||
connection slave;
|
connection slave;
|
||||||
reset slave;
|
reset slave;
|
||||||
start slave;
|
start slave;
|
||||||
--require r/slave-running.result
|
--source include/wait_for_slave_to_start.inc
|
||||||
show status like 'Slave_running';
|
|
||||||
connection master;
|
connection master;
|
||||||
|
|
||||||
# We should be clean at this point, now we will run in the file from above.
|
# We should be clean at this point, now we will run in the file from above.
|
||||||
@ -164,7 +162,7 @@ remove_file $MYSQLTEST_VARDIR/tmp/master.sql;
|
|||||||
|
|
||||||
|
|
||||||
# this test for position option
|
# this test for position option
|
||||||
# By setting this position to 417, we should only get the create of t3
|
# By setting this position to 416, we should only get the create of t3
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
select "--- Test 2 position test --" as "";
|
select "--- Test 2 position test --" as "";
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
@ -181,9 +179,7 @@ select "--- Test 3 First Remote test --" as "";
|
|||||||
|
|
||||||
# This is broken now
|
# This is broken now
|
||||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --stop-position=570 --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
|
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --stop-position=569 --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
|
||||||
|
|
||||||
# This part is disabled due to bug #17654
|
|
||||||
|
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
select "--- Test 4 Second Remote test --" as "";
|
select "--- Test 4 Second Remote test --" as "";
|
||||||
@ -206,16 +202,14 @@ sync_slave_with_master;
|
|||||||
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
stop slave;
|
stop slave;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
--require r/slave-stopped.result
|
|
||||||
show status like 'Slave_running';
|
|
||||||
connection master;
|
connection master;
|
||||||
reset master;
|
reset master;
|
||||||
connection slave;
|
connection slave;
|
||||||
reset slave;
|
reset slave;
|
||||||
start slave;
|
start slave;
|
||||||
--require r/slave-running.result
|
--source include/wait_for_slave_to_start.inc
|
||||||
show status like 'Slave_running';
|
|
||||||
connection master;
|
connection master;
|
||||||
|
|
||||||
# We should be clean at this point, now we will run in the file from above.
|
# We should be clean at this point, now we will run in the file from above.
|
||||||
@ -272,7 +266,7 @@ let $MYSQLD_DATADIR= `select @@datadir;`;
|
|||||||
select "--- Test 7 reading stdin w/position --" as "";
|
select "--- Test 7 reading stdin w/position --" as "";
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||||
--exec $MYSQL_BINLOG --short-form --position=417 --stop-position=569 - < $MYSQLD_DATADIR/master-bin.000001
|
--exec $MYSQL_BINLOG --short-form --position=417 --stop-position=570 - < $MYSQLD_DATADIR/master-bin.000001
|
||||||
|
|
||||||
# Bug#16217 (mysql client did not know how not switch its internal charset)
|
# Bug#16217 (mysql client did not know how not switch its internal charset)
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
@ -285,16 +279,14 @@ sync_slave_with_master;
|
|||||||
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
stop slave;
|
stop slave;
|
||||||
|
--source include/wait_for_slave_to_stop.inc
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
--require r/slave-stopped.result
|
|
||||||
show status like 'Slave_running';
|
|
||||||
connection master;
|
connection master;
|
||||||
reset master;
|
reset master;
|
||||||
connection slave;
|
connection slave;
|
||||||
reset slave;
|
reset slave;
|
||||||
start slave;
|
start slave;
|
||||||
--require r/slave-running.result
|
--source include/wait_for_slave_to_start.inc
|
||||||
show status like 'Slave_running';
|
|
||||||
connection master;
|
connection master;
|
||||||
|
|
||||||
create table t4 (f text character set utf8);
|
create table t4 (f text character set utf8);
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user