mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
--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
This commit is contained in:
@@ -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()))
|
||||
{
|
||||
|
Reference in New Issue
Block a user