summaryrefslogtreecommitdiff
path: root/sql/sql_repl.cc
diff options
context:
space:
mode:
authorunknown <sasha@mysql.sashanet.com>2001-06-26 17:02:33 -0600
committerunknown <sasha@mysql.sashanet.com>2001-06-26 17:02:33 -0600
commitf21b39fd1f2d1505250cf87a2159f943629c89b4 (patch)
tree68843be68cdb392645cde55e6ce4669ce7b98c67 /sql/sql_repl.cc
parent237b4bed6046e39a7118b834db6952964712eb7a (diff)
downloadmariadb-git-f21b39fd1f2d1505250cf87a2159f943629c89b4.tar.gz
--do-test option in mysql-test-run - will do only tests that match the pattern
updated rotate event to set new position along with the new log mysql-test/mysql-test-run.sh: added --do-test mysql-test/r/rpl_log.result: update for new rotate event format sql/log_event.cc: rotate event now supports forcing a new position, not just the log sql/log_event.h: clean-up of rotate event, support for position force with rotate event sql/slave.cc: accept position setting from rotate event sql/sql_repl.cc: updates to fake_rotate_event() for the new format
Diffstat (limited to 'sql/sql_repl.cc')
-rw-r--r--sql/sql_repl.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc
index 435319fe6e0..0c835ee4e57 100644
--- a/sql/sql_repl.cc
+++ b/sql/sql_repl.cc
@@ -62,7 +62,7 @@ void end_slave_list()
static int fake_rotate_event(NET* net, String* packet, char* log_file_name,
const char**errmsg)
{
- char header[LOG_EVENT_HEADER_LEN];
+ char header[LOG_EVENT_HEADER_LEN], buf[ROTATE_HEADER_LEN];
memset(header, 0, 4); // when does not matter
header[EVENT_TYPE_OFFSET] = ROTATE_EVENT;
char* p = strrchr(log_file_name, FN_LIBCHAR);
@@ -73,12 +73,14 @@ static int fake_rotate_event(NET* net, String* packet, char* log_file_name,
p = log_file_name;
uint ident_len = (uint) strlen(p);
- ulong event_len = ident_len + sizeof(header);
+ ulong event_len = ident_len + ROTATE_EVENT_OVERHEAD;
int4store(header + SERVER_ID_OFFSET, server_id);
int4store(header + EVENT_LEN_OFFSET, event_len);
int2store(header + FLAGS_OFFSET, 0);
int4store(header + LOG_SEQ_OFFSET, 0);
packet->append(header, sizeof(header));
+ int8store(buf, 4); // tell slave to skip magic number
+ packet->append(buf, ROTATE_HEADER_LEN);
packet->append(p,ident_len);
if(my_net_write(net, (char*)packet->ptr(), packet->length()))
{