summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormkindahl@dl145h.mysql.com <>2008-03-14 18:18:14 +0100
committermkindahl@dl145h.mysql.com <>2008-03-14 18:18:14 +0100
commitf48aa05fd06b891798286da7b2f5833c119b655e (patch)
treea7792ee5f3dab44ef0178aa204d12bd04fc98616
parent38b406cec8ce9bc4ab00b5c849b1154030d9fca1 (diff)
parentc5fefc688c72f6bc76aa27f23468e885744c7537 (diff)
downloadmariadb-git-f48aa05fd06b891798286da7b2f5833c119b655e.tar.gz
Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
-rw-r--r--mysql-test/extra/rpl_tests/rpl_loaddata.test7
-rw-r--r--mysql-test/extra/rpl_tests/rpl_log.test2
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_master_pos_wait.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_skip_error.result62
-rw-r--r--mysql-test/suite/rpl/t/rpl_master_pos_wait.test11
-rw-r--r--mysql-test/suite/rpl/t/rpl_skip_error.test30
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_status.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporary.test5
-rw-r--r--sql/rpl_rli.cc2
10 files changed, 107 insertions, 26 deletions
diff --git a/mysql-test/extra/rpl_tests/rpl_loaddata.test b/mysql-test/extra/rpl_tests/rpl_loaddata.test
index bb6afd73034..8f32ee674f8 100644
--- a/mysql-test/extra/rpl_tests/rpl_loaddata.test
+++ b/mysql-test/extra/rpl_tests/rpl_loaddata.test
@@ -39,13 +39,6 @@ sync_with_master;
select * from t1;
select * from t3;
-# We want to be sure that LOAD DATA is in the slave's binlog.
-# But we can't simply read this binlog, because as the slave has not been
-# restarted for this test, the file_id is uncertain (would cause test
-# failures). So instead, we test if the binlog looks long enough to
-# contain LOAD DATA. Since 5.0.3 we assume that binlog of 1292 is ok.
-# If LOAD DATA was not logged, the binlog would be shorter.
-show master status;
connection master;
diff --git a/mysql-test/extra/rpl_tests/rpl_log.test b/mysql-test/extra/rpl_tests/rpl_log.test
index a5db4dfab4d..078d3d4557d 100644
--- a/mysql-test/extra/rpl_tests/rpl_log.test
+++ b/mysql-test/extra/rpl_tests/rpl_log.test
@@ -148,5 +148,5 @@ drop table t1;
# End of 4.1 tests
-sync_with_master;
+sync_slave_with_master;
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata.result b/mysql-test/suite/rpl/r/rpl_loaddata.result
index b9bd2a22fd0..070c50db3d5 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata.result
@@ -26,9 +26,6 @@ day id category name
2003-02-22 2461 b a a a @ %  ' " a
2003-03-22 2161 c asdf
2003-03-22 2416 a bbbbb
-show master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-slave-bin.000001 1280
drop table t1;
drop table t2;
drop table t3;
diff --git a/mysql-test/suite/rpl/r/rpl_master_pos_wait.result b/mysql-test/suite/rpl/r/rpl_master_pos_wait.result
index ab9b8cdad9d..edcae6e7506 100644
--- a/mysql-test/suite/rpl/r/rpl_master_pos_wait.result
+++ b/mysql-test/suite/rpl/r/rpl_master_pos_wait.result
@@ -16,3 +16,9 @@ select master_pos_wait('master-bin.999999',0);
stop slave sql_thread;
master_pos_wait('master-bin.999999',0)
NULL
+"*** must be empty ***"
+show slave status;
+"*** must be NULL ***"
+select master_pos_wait('foo', 98);
+master_pos_wait('foo', 98)
+NULL
diff --git a/mysql-test/suite/rpl/r/rpl_skip_error.result b/mysql-test/suite/rpl/r/rpl_skip_error.result
index 0421df81b42..b90d8113e8e 100644
--- a/mysql-test/suite/rpl/r/rpl_skip_error.result
+++ b/mysql-test/suite/rpl/r/rpl_skip_error.result
@@ -13,18 +13,18 @@ insert into t1 values (1);
insert into t1 values (1);
insert into t1 values (2),(3);
[on slave]
-select * from t1 ORDER BY n;
+select * from t1 order by n;
n
1
2
3
==== Test With sql_mode=strict_trans_tables ====
-insert into t1 values (7), (8);
+insert into t1 values (7),(8);
[on master]
set sql_mode=strict_trans_tables;
insert into t1 values (7), (8), (9);
[on slave]
-select * from t1;
+select * from t1 order by n;
n
1
2
@@ -72,3 +72,59 @@ Last_SQL_Errno 0
Last_SQL_Error
==== Clean Up ====
drop table t1;
+create table t1(a int primary key);
+insert into t1 values (1),(2);
+delete from t1 where @@server_id=1;
+Warnings:
+Warning 1592 Statement is not safe to log in statement format.
+set sql_mode=strict_trans_tables;
+insert into t1 values (7), (8), (9);
+[on slave]
+select * from t1;
+a
+1
+2
+7
+8
+9
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MASTER_PORT
+Connect_Retry 1
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos #
+Relay_Log_File #
+Relay_Log_Pos #
+Relay_Master_Log_File master-bin.000001
+Slave_IO_Running Yes
+Slave_SQL_Running Yes
+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
+==== Clean Up ====
+drop table t1;
diff --git a/mysql-test/suite/rpl/t/rpl_master_pos_wait.test b/mysql-test/suite/rpl/t/rpl_master_pos_wait.test
index 893c8746efc..2f7b18ae04b 100644
--- a/mysql-test/suite/rpl/t/rpl_master_pos_wait.test
+++ b/mysql-test/suite/rpl/t/rpl_master_pos_wait.test
@@ -15,4 +15,15 @@ stop slave sql_thread;
connection slave;
reap;
+#
+# bug#26622 MASTER_POS_WAIT does not work as documented
+#
+
+connection master;
+echo "*** must be empty ***";
+query_vertical show slave status;
+
+echo "*** must be NULL ***";
+select master_pos_wait('foo', 98);
+
# End of 4.1 tests
diff --git a/mysql-test/suite/rpl/t/rpl_skip_error.test b/mysql-test/suite/rpl/t/rpl_skip_error.test
index 8129cdec25a..cac797d3797 100644
--- a/mysql-test/suite/rpl/t/rpl_skip_error.test
+++ b/mysql-test/suite/rpl/t/rpl_skip_error.test
@@ -18,7 +18,7 @@
# bug in this test: BUG#30594: rpl.rpl_skip_error is nondeterministic
source include/master-slave.inc;
-source include/have_binlog_format_mixed_or_statement.inc;
+source include/have_binlog_format_statement.inc;
--echo ==== Test Without sql_mode=strict_trans_tables ====
@@ -37,17 +37,34 @@ insert into t1 values (1);
# These should work fine
insert into t1 values (2),(3);
---echo [on slave]
sync_slave_with_master;
-select * from t1 ORDER BY n;
-
+--echo [on slave]
+select * from t1 order by n;
--echo ==== Test With sql_mode=strict_trans_tables ====
+insert into t1 values (7),(8);
+--echo [on master]
+connection master;
+set sql_mode=strict_trans_tables;
+insert into t1 values (7), (8), (9);
+--echo [on slave]
+sync_slave_with_master;
+select * from t1 order by n;
+source include/show_slave_status2.inc;
-insert into t1 values (7), (8);
+--echo ==== Clean Up ====
+connection master;
+drop table t1;
+sync_slave_with_master;
+# End of 4.1 tests
---echo [on master]
+#
+# #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists
+#
connection master;
+create table t1(a int primary key);
+insert into t1 values (1),(2);
+delete from t1 where @@server_id=1;
set sql_mode=strict_trans_tables;
insert into t1 values (7), (8), (9);
@@ -62,5 +79,4 @@ source include/show_slave_status2.inc;
connection master;
drop table t1;
sync_slave_with_master;
-
# End of 5.0 tests
diff --git a/mysql-test/suite/rpl/t/rpl_slave_status.test b/mysql-test/suite/rpl/t/rpl_slave_status.test
index d07cf13dcf4..0b1644ab8a0 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_status.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_status.test
@@ -50,9 +50,10 @@ show slave status;
connection slave;
drop table t1;
delete from mysql.user where user='rpl';
+# cleanup: slave io thread has been stopped "irrecoverably"
+# so we clean up mess manually
+
connection master;
drop table t1;
-# end of test case for BUG#10780
-
# end of 4.1 tests
diff --git a/mysql-test/suite/rpl/t/rpl_temporary.test b/mysql-test/suite/rpl/t/rpl_temporary.test
index 6619f4518b9..44f901bdae7 100644
--- a/mysql-test/suite/rpl/t/rpl_temporary.test
+++ b/mysql-test/suite/rpl/t/rpl_temporary.test
@@ -132,7 +132,7 @@ drop table t1,t2;
# don't get any memory leaks for this
create temporary table t3 (f int);
-sync_with_master;
+sync_slave_with_master;
# The server will now close done
@@ -143,7 +143,8 @@ sync_with_master;
connection master;
create temporary table t4 (f int);
create table t5 (f int);
-sync_with_master;
+sync_slave_with_master;
+connection master;
# find dumper's $id
select id from information_schema.processlist where command='Binlog Dump' into @id;
kill @id; # to stimulate reconnection by slave w/o timeout
diff --git a/sql/rpl_rli.cc b/sql/rpl_rli.cc
index 03f790b934f..bd8246b066f 100644
--- a/sql/rpl_rli.cc
+++ b/sql/rpl_rli.cc
@@ -615,7 +615,7 @@ int Relay_log_info::wait_for_pos(THD* thd, String* log_name,
DBUG_ENTER("Relay_log_info::wait_for_pos");
if (!inited)
- DBUG_RETURN(-1);
+ DBUG_RETURN(-2);
DBUG_PRINT("enter",("log_name: '%s' log_pos: %lu timeout: %lu",
log_name->c_ptr(), (ulong) log_pos, (ulong) timeout));