summaryrefslogtreecommitdiff
path: root/sql/rpl_rli.cc
diff options
context:
space:
mode:
authorunknown <aelkin/elkin@koti.dsl.inet.fi>2007-10-13 23:12:50 +0300
committerunknown <aelkin/elkin@koti.dsl.inet.fi>2007-10-13 23:12:50 +0300
commitbf9eb0f0d71f741d1ab9ff5375892d93b53c01d4 (patch)
treeadc8c2380bbdfc9ef9c087786ffc2ac0c79073c0 /sql/rpl_rli.cc
parent1408095a117b3ebd7dab604a9f0d67a476f48aa4 (diff)
downloadmariadb-git-bf9eb0f0d71f741d1ab9ff5375892d93b53c01d4.tar.gz
manual merge for bug_29136, bug#29309.
mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test: manual merge from 5.0 mysql-test/r/innodb.result: results changed mysql-test/r/multi_update.result: results changed mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result: manual merge: results re-recorded mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result: results changed mysql-test/suite/manual/r/rpl_replication_delay.result: results recorded for 5.1 mysql-test/t/innodb.test: removing bug27716 regression test as one exists in binlog suite already. mysql-test/t/multi_update.test: manual merge plus refining for execution in both binlog_format. sql/log_event.cc: bloody manual merge; the fact that an event is artificial is encode with setting timestamp argument to zero. rli's last_master_timestamp won't be updated in stmt_done in such case. sql/rpl_rli.cc: simulation and the real fixing code. Don't update last_master_timestamp with zero. sql/sql_delete.cc: manual merge
Diffstat (limited to 'sql/rpl_rli.cc')
-rw-r--r--sql/rpl_rli.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/sql/rpl_rli.cc b/sql/rpl_rli.cc
index 867d55a60a3..15d7d97affd 100644
--- a/sql/rpl_rli.cc
+++ b/sql/rpl_rli.cc
@@ -1082,6 +1082,9 @@ bool Relay_log_info::cached_charset_compare(char *charset) const
void Relay_log_info::stmt_done(my_off_t event_master_log_pos,
time_t event_creation_time)
{
+#ifndef DBUG_OFF
+ extern uint debug_not_change_ts_if_art_event;
+#endif
clear_flag(IN_STMT);
/*
@@ -1121,7 +1124,12 @@ void Relay_log_info::stmt_done(my_off_t event_master_log_pos,
is that value may take some time to display in
Seconds_Behind_Master - not critical).
*/
- last_master_timestamp= event_creation_time;
+#ifndef DBUG_OFF
+ if (!(event_creation_time == 0 && debug_not_change_ts_if_art_event > 0))
+#else
+ if (event_creation_time != 0)
+#endif
+ last_master_timestamp= event_creation_time;
}
}