summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <sasha@mysql.sashanet.com>2001-02-14 21:23:20 -0700
committerunknown <sasha@mysql.sashanet.com>2001-02-14 21:23:20 -0700
commit9a17a41ed8b2778db19878e58bdbe3dc36534d9a (patch)
tree8c9fde5b17283d8c928db454a2edb39c8a20c79e
parent0a4ce964b49214ce0acf9353bf58d9c7380eb83d (diff)
downloadmariadb-git-9a17a41ed8b2778db19878e58bdbe3dc36534d9a.tar.gz
fixed bug in timestamp replication
mysql-test/r/rpl000002.result: test timestamp replication mysql-test/t/rpl000002.test: test timestamp replication
-rw-r--r--mysql-test/r/rpl000002.result4
-rw-r--r--mysql-test/t/rpl000002.test19
-rw-r--r--sql/slave.cc3
3 files changed, 24 insertions, 2 deletions
diff --git a/mysql-test/r/rpl000002.result b/mysql-test/r/rpl000002.result
index 5b34f36bd05..a68ef517708 100644
--- a/mysql-test/r/rpl000002.result
+++ b/mysql-test/r/rpl000002.result
@@ -2,3 +2,7 @@ n
2000
2001
2002
+id created
+1 1970-01-01 06:25:45
+id created
+1 1970-01-01 06:25:45
diff --git a/mysql-test/t/rpl000002.test b/mysql-test/t/rpl000002.test
index c982bd54b8c..0c490e6316d 100644
--- a/mysql-test/t/rpl000002.test
+++ b/mysql-test/t/rpl000002.test
@@ -9,9 +9,26 @@ save_master_pos;
connection slave;
use test;
sync_with_master;
-@r/rpl000002.result select * from t1;
+select * from t1;
connection master;
drop table t1;
save_master_pos;
connection slave;
sync_with_master;
+slave stop;
+connection master;
+drop table if exists t2;
+create table t2(id int auto_increment primary key, created datetime);
+set timestamp=12345;
+insert into t2 set created=now();
+select * from t2;
+save_master_pos;
+connection slave;
+slave start;
+sync_with_master;
+select * from t2;
+connection master;
+drop table t2;
+save_master_pos;
+connection slave;
+sync_with_master;
diff --git a/sql/slave.cc b/sql/slave.cc
index c05b3478de0..8b765eca277 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -857,7 +857,8 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len)
thd->server_id = ev->server_id; // use the original server id for logging
thd->set_time(); // time the query
- ev->when = time(NULL);
+ if(!ev->when)
+ ev->when = time(NULL);
switch(type_code) {
case QUERY_EVENT: