summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <sasha@mysql.sashanet.com>2001-01-24 09:15:34 -0700
committerunknown <sasha@mysql.sashanet.com>2001-01-24 09:15:34 -0700
commit262a9e41e164b1ddbb1763622bf5617d3685f74a (patch)
tree389b1cade6be60d713c322e9f923adb3578a60d6 /mysql-test
parent32250dfcedc1aad01da5ba7658fed1398737bedd (diff)
downloadmariadb-git-262a9e41e164b1ddbb1763622bf5617d3685f74a.tar.gz
Added last_errno and last_error to show slave status
slave will skip the first SQL_SLAVE_SKIP_COUNTER events on start - this is needed to recover from broken replication when the next log event(s) should just be skipped. Rotate binlogs when max_binlog_size is reached include/my_sys.h: added my_snprintf() include/mysqld_error.h: more error messages mysql-test/r/rpl000014.result: updated results for new SHOW SLAVE STATUS format mysql-test/r/rpl000015.result: update for SHOW SLAVE STATUS mysql-test/r/rpl000016.result: update for additions to the test mysql-test/t/rpl000016.test: test max_binlog_size and slave_skip_counter mysys/my_vsnprintf.c: added my_snprintf() sql/gen_lex_hash.cc: old values could not do it sql/lex.h: updates for SQL_SLAVE_SKIP_COUNTER sql/log.cc: rotate binlogs when max_binlog_size is reached sql/mysqld.cc: added max_binlog_size sql/share/czech/errmsg.txt: new errors sql/share/danish/errmsg.txt: new errors sql/share/dutch/errmsg.txt: new errors sql/share/english/errmsg.txt: new errors sql/share/estonian/errmsg.txt: new errors sql/share/french/errmsg.txt: new errors sql/share/german/errmsg.txt: new errors sql/share/greek/errmsg.txt: new errors sql/share/hungarian/errmsg.txt: new errors sql/share/italian/errmsg.txt: new errors sql/share/japanese/errmsg.txt: new errors sql/share/korean/errmsg.txt: new errors sql/share/norwegian-ny/errmsg.txt: new errors sql/share/norwegian/errmsg.txt: new errors sql/share/polish/errmsg.txt: new errors sql/share/portuguese/errmsg.txt: new errors sql/share/romanian/errmsg.txt: new errors sql/share/russian/errmsg.txt: new errors, translated untranslated messages sql/share/slovak/errmsg.txt: new errors sql/share/spanish/errmsg.txt: new errors sql/share/swedish/errmsg.txt: new errors sql/slave.cc: updates for slave_skip_counter and extension to show slave status sql/slave.h: slave_skip_counter sql/sql_repl.cc: use error messages from errmsg.txt sql/sql_yacc.yy: skip_slave_counter
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/rpl000014.result16
-rw-r--r--mysql-test/r/rpl000015.result16
-rw-r--r--mysql-test/r/rpl000016.result19
-rw-r--r--mysql-test/t/rpl000016-master.opt1
-rw-r--r--mysql-test/t/rpl000016.test42
5 files changed, 70 insertions, 24 deletions
diff --git a/mysql-test/r/rpl000014.result b/mysql-test/r/rpl000014.result
index 9e45b9c10a3..d2cb8ee5436 100644
--- a/mysql-test/r/rpl000014.result
+++ b/mysql-test/r/rpl000014.result
@@ -1,13 +1,13 @@
File Position Binlog_do_db Binlog_ignore_db
master-bin.001 73
-Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
-127.0.0.1 root 9306 1 master-bin.001 73 Yes
-Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
-127.0.0.1 root 9306 1 master-bin.001 73 No
-Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
-127.0.0.1 root 9306 1 master-bin.001 73 Yes
-Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
-127.0.0.1 root 9306 1 master-bin.001 173 Yes
+Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
+127.0.0.1 root 9306 1 master-bin.001 73 Yes 0 0
+Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
+127.0.0.1 root 9306 1 master-bin.001 73 No 0 0
+Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
+127.0.0.1 root 9306 1 master-bin.001 73 Yes 0 0
+Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
+127.0.0.1 root 9306 1 master-bin.001 173 Yes 0 0
File Position Binlog_do_db Binlog_ignore_db
master-bin.001 73
n
diff --git a/mysql-test/r/rpl000015.result b/mysql-test/r/rpl000015.result
index 59a1a21be17..5899d76c82f 100644
--- a/mysql-test/r/rpl000015.result
+++ b/mysql-test/r/rpl000015.result
@@ -1,13 +1,13 @@
File Position Binlog_do_db Binlog_ignore_db
master-bin.001 73
-Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
- 0 0 0 No
-Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
-127.0.0.1 test 3306 60 4 No
-Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
-127.0.0.1 root 9306 60 4 No
-Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
-127.0.0.1 root 9306 60 master-bin.001 73 Yes
+Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
+ 0 0 0 No 0 0
+Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
+127.0.0.1 test 3306 60 4 No 0 0
+Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
+127.0.0.1 root 9306 60 4 No 0 0
+Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
+127.0.0.1 root 9306 60 master-bin.001 73 Yes 0 0
n
10
45
diff --git a/mysql-test/r/rpl000016.result b/mysql-test/r/rpl000016.result
index ae5b83a4a85..96e36475c92 100644
--- a/mysql-test/r/rpl000016.result
+++ b/mysql-test/r/rpl000016.result
@@ -1,5 +1,5 @@
-Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
-127.0.0.1 root 9306 60 master-bin.001 216 Yes
+Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
+127.0.0.1 root 9306 60 master-bin.001 216 Yes 0 0
s
Could not break slave
Tried hard
@@ -7,12 +7,21 @@ Log_name
master-bin.001
master-bin.002
master-bin.003
+Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
+127.0.0.1 root 9306 60 master-bin.003 129 Yes 1062 error 'Duplicate entry '1234' for key 1' on query 'insert into t2 values(1234)' 0
Log_name
master-bin.003
-Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
-127.0.0.1 root 9306 60 master-bin.003 128 Yes
+Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter
+127.0.0.1 root 9306 60 master-bin.003 184 Yes 0 0
m
34
+65
67
123
-65
+1234
+Log_name
+master-bin.003
+master-bin.004
+master-bin.005
+count(*)
+100
diff --git a/mysql-test/t/rpl000016-master.opt b/mysql-test/t/rpl000016-master.opt
new file mode 100644
index 00000000000..f27601e0d7d
--- /dev/null
+++ b/mysql-test/t/rpl000016-master.opt
@@ -0,0 +1 @@
+-O max_binlog_size=2048
diff --git a/mysql-test/t/rpl000016.test b/mysql-test/t/rpl000016.test
index 44a011cff27..e0e035a4ae0 100644
--- a/mysql-test/t/rpl000016.test
+++ b/mysql-test/t/rpl000016.test
@@ -26,14 +26,33 @@ select * from t1;
connection master;
flush logs;
drop table if exists t2;
-create table t2(m int);
+create table t2(m int not null primary key);
insert into t2 values (34),(67),(123);
+save_master_pos;
flush logs;
show master logs;
+#now lets make some duplicate key mess and see if we can recover from it
+#first insert a value on the slave
+connection slave;
+sync_with_master;
+insert into t2 values(1234);
+#same value on the master
+connection master;
+save_master_pos;
+insert into t2 values(1234);
+connection slave;
+sync_with_master;
+#the slave may have already stopped, so we ignore the error
+!slave stop;
+#restart slave skipping one event
+set sql_slave_skip_counter=1;
+slave start;
+connection master;
save_master_pos;
#let slave catch up
connection slave;
sync_with_master;
+show slave status;
connection master;
purge master logs to 'master-bin.003';
show master logs;
@@ -43,6 +62,23 @@ connection slave;
sync_with_master;
show slave status;
select * from t2;
-drop table if exists t1,t2;
connection master;
-drop table if exists t1,t2;
+let $1=100;
+drop table if exists t3;
+create table t3 (n int);
+while ($1)
+{
+ insert into t3 values(4);
+ dec $1;
+}
+show master logs;
+save_master_pos;
+connection slave;
+sync_with_master;
+select count(*) from t3 where n = 4;
+#clean up
+connection master;
+drop table if exists t1,t2,t3;
+save_master_pos;
+connection slave;
+sync_with_master;