summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/r/rpl_alter.result4
-rw-r--r--mysql-test/t/rpl_alter.test21
-rw-r--r--sql/sql_base.cc1
3 files changed, 26 insertions, 0 deletions
diff --git a/mysql-test/r/rpl_alter.result b/mysql-test/r/rpl_alter.result
new file mode 100644
index 00000000000..7883e725e3a
--- /dev/null
+++ b/mysql-test/r/rpl_alter.result
@@ -0,0 +1,4 @@
+n m
+1 2
+n
+45
diff --git a/mysql-test/t/rpl_alter.test b/mysql-test/t/rpl_alter.test
new file mode 100644
index 00000000000..a65605f703e
--- /dev/null
+++ b/mysql-test/t/rpl_alter.test
@@ -0,0 +1,21 @@
+source include/master-slave.inc;
+connection master;
+use test;
+drop database if exists d1;
+create database d1;
+create table d1.t1 ( n int);
+alter table d1.t1 add m int;
+insert into d1.t1 values (1,2);
+create table d1.t2 (n int);
+insert into d1.t2 values (45);
+rename table d1.t2 to d1.t3, d1.t1 to d1.t2;
+save_master_pos;
+connection slave;
+sync_with_master;
+select * from d1.t2;
+select * from d1.t3;
+connection master;
+drop database d1;
+save_master_pos;
+connection slave;
+sync_with_master;
diff --git a/sql/sql_base.cc b/sql/sql_base.cc
index e4a797efaaf..ee8c1097fb2 100644
--- a/sql/sql_base.cc
+++ b/sql/sql_base.cc
@@ -546,6 +546,7 @@ void close_temporary_tables(THD *thd)
*--end = 0; // Remove last ','
thd->query_length = (uint)(end-query);
Query_log_event qinfo(thd, query);
+ qinfo.error_code=0;
mysql_bin_log.write(&qinfo);
thd->query_length = save_query_len;
}