Loading client/mysqlbinlog.cc +20 −10 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ static const char *load_default_groups[]= { "mysqlbinlog","client",0 }; void sql_print_error(const char *format, ...); static bool one_database=0, to_last_remote_log= 0, disable_log_bin= 0; static bool opt_hexdump= 0; static const char* database= 0; static my_bool force_opt= 0, short_form= 0, remote_opt= 0; static ulonglong offset = 0; Loading Loading @@ -523,11 +524,14 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev, if (!short_form) fprintf(result_file, "# at %s\n",llstr(pos,ll_buff)); /* Set pos to 0 if hexdump is disabled */ pos= (opt_hexdump ? pos : 0); switch (ev_type) { case QUERY_EVENT: if (check_database(((Query_log_event*)ev)->db)) goto end; ev->print(result_file, short_form, last_event_info); ev->print(result_file, short_form, pos, last_event_info); break; case CREATE_FILE_EVENT: { Loading @@ -547,7 +551,8 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev, filename and use LOCAL), prepared in the 'case EXEC_LOAD_EVENT' below. */ ce->print(result_file, short_form, last_event_info, TRUE); ce->print(result_file, short_form, pos, last_event_info, TRUE); // If this binlog is not 3.23 ; why this test?? if (description_event->binlog_version >= 3) { Loading @@ -558,13 +563,13 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev, break; } case APPEND_BLOCK_EVENT: ev->print(result_file, short_form, last_event_info); ev->print(result_file, short_form, pos, last_event_info); if (load_processor.process((Append_block_log_event*) ev)) break; // Error break; case EXEC_LOAD_EVENT: { ev->print(result_file, short_form, last_event_info); ev->print(result_file, short_form, pos, last_event_info); Execute_load_log_event *exv= (Execute_load_log_event*)ev; Create_file_log_event *ce= load_processor.grab_event(exv->file_id); /* Loading @@ -574,7 +579,7 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev, */ if (ce) { ce->print(result_file, short_form, last_event_info, TRUE); ce->print(result_file, short_form, pos, last_event_info, TRUE); my_free((char*)ce->fname,MYF(MY_WME)); delete ce; } Loading @@ -586,7 +591,7 @@ Create_file event for file_id: %u\n",exv->file_id); case FORMAT_DESCRIPTION_EVENT: delete description_event; description_event= (Format_description_log_event*) ev; ev->print(result_file, short_form, last_event_info); ev->print(result_file, short_form, pos, last_event_info); /* We don't want this event to be deleted now, so let's hide it (I (Guilhem) should later see if this triggers a non-serious Valgrind Loading @@ -596,7 +601,7 @@ Create_file event for file_id: %u\n",exv->file_id); ev= 0; break; case BEGIN_LOAD_QUERY_EVENT: ev->print(result_file, short_form, last_event_info); ev->print(result_file, short_form, pos, last_event_info); load_processor.process((Begin_load_query_log_event*) ev); break; case EXECUTE_LOAD_QUERY_EVENT: Loading @@ -613,7 +618,7 @@ Create_file event for file_id: %u\n",exv->file_id); if (fname) { exlq->print(result_file, short_form, last_event_info, fname); exlq->print(result_file, short_form, pos, last_event_info, fname); my_free(fname, MYF(MY_WME)); } else Loading @@ -622,7 +627,7 @@ Begin_load_query event for file_id: %u\n", exlq->file_id); break; } default: ev->print(result_file, short_form, last_event_info); ev->print(result_file, short_form, pos, last_event_info); } } Loading Loading @@ -669,6 +674,8 @@ static struct my_option my_long_options[] = 0, 0}, {"help", '?', "Display this help and exit.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"hexdump", 'H', "Augment output with hexadecimal and ascii data dump.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"host", 'h', "Get the binlog from server.", (gptr*) &host, (gptr*) &host, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"offset", 'o', "Skip the first N entries.", (gptr*) &offset, (gptr*) &offset, Loading Loading @@ -848,6 +855,9 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), case 'd': one_database = 1; break; case 'H': opt_hexdump= 1; break; case 'p': if (argument) { Loading sql/log_event.cc +98 −36 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ #include "mysql_priv.h" #include "slave.h" #include <my_dir.h> #else #include <ctype.h> /* For isalnum() */ #endif /* MYSQL_CLIENT */ #define log_cs &my_charset_latin1 Loading Loading @@ -881,14 +883,57 @@ Log_event* Log_event::read_log_event(const char* buf, uint event_len, Log_event::print_header() */ void Log_event::print_header(FILE* file) void Log_event::print_header(FILE* file, my_off_t start_pos) { char llbuff[22]; fputc('#', file); print_timestamp(file); fprintf(file, " server id %d end_log_pos %s ", server_id, llstr(log_pos,llbuff)); if (start_pos) { fprintf(file, "\n"); unsigned char *ptr= (unsigned char*)temp_buf; my_off_t i; char position[8+1] = {0}; char b[3+1] = {0}; char hex_string[16*3+1+1] = {0}; char char_string[16+1] = {0}; for (i= 0; i < (log_pos-start_pos); i++, ptr++) { if (i % 16 == 0) snprintf(position, sizeof(position), "%.8x", (unsigned int) (start_pos+i)); snprintf(b, sizeof(b), "%02X ", *ptr); strncat(hex_string, b, sizeof(hex_string)-strlen(hex_string)-1); snprintf(b, sizeof(b), "%c", isalnum(*ptr) ? *ptr : '.'); strncat(char_string, b, sizeof(char_string)-strlen(char_string)-1); if (i % 16 == 15) { fprintf(file, "# %8.8s %-48.48s |%16s|\n", position, hex_string, char_string); hex_string[0] = 0; char_string[0] = 0; } else if (i % 8 == 7) { /* Middle space */ strncat(hex_string, " ", sizeof(hex_string)-strlen(hex_string)-1); } } if (strlen(hex_string)) { printf("# %8.8s %-48.48s |%s|\n# ", position, hex_string, char_string); } } } /* Log_event::print_timestamp() Loading Loading @@ -1373,6 +1418,7 @@ Query_log_event::Query_log_event(const char* buf, uint event_len, #ifdef MYSQL_CLIENT void Query_log_event::print_query_header(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { // TODO: print the catalog ?? Loading @@ -1382,7 +1428,7 @@ void Query_log_event::print_query_header(FILE* file, bool short_form, if (!short_form) { print_header(file); print_header(file, start_pos); fprintf(file, "\t%s\tthread_id=%lu\texec_time=%lu\terror_code=%d\n", get_type_str(), (ulong) thread_id, (ulong) exec_time, error_code); } Loading Loading @@ -1503,10 +1549,10 @@ void Query_log_event::print_query_header(FILE* file, bool short_form, } void Query_log_event::print(FILE* file, bool short_form, void Query_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { print_query_header(file, short_form, last_event_info); print_query_header(file, short_form, start_pos, last_event_info); my_fwrite(file, (byte*) query, q_len, MYF(MY_NABP | MY_WME)); fputs(";\n", file); } Loading Loading @@ -1804,11 +1850,12 @@ void Start_log_event_v3::pack_info(Protocol *protocol) */ #ifdef MYSQL_CLIENT void Start_log_event_v3::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Start_log_event_v3::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (!short_form) { print_header(file); print_header(file, start_pos); fprintf(file, "\tStart: binlog v %d, server v %s created ", binlog_version, server_version); print_timestamp(file); Loading Loading @@ -2532,19 +2579,20 @@ int Load_log_event::copy_log_event(const char *buf, ulong event_len, */ #ifdef MYSQL_CLIENT void Load_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Load_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { print(file, short_form, last_event_info, 0); print(file, short_form, start_pos, last_event_info, 0); } void Load_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info, bool commented) void Load_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, bool commented) { DBUG_ENTER("Load_log_event::print"); if (!short_form) { print_header(file); print_header(file, start_pos); fprintf(file, "\tQuery\tthread_id=%ld\texec_time=%ld\n", thread_id, exec_time); } Loading Loading @@ -2949,13 +2997,14 @@ void Rotate_log_event::pack_info(Protocol *protocol) */ #ifdef MYSQL_CLIENT void Rotate_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Rotate_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { char buf[22]; if (short_form) return; print_header(file); print_header(file, start_pos); fprintf(file, "\tRotate to "); if (new_log_ident) my_fwrite(file, (byte*) new_log_ident, (uint)ident_len, Loading Loading @@ -3151,7 +3200,7 @@ bool Intvar_log_event::write(IO_CACHE* file) */ #ifdef MYSQL_CLIENT void Intvar_log_event::print(FILE* file, bool short_form, void Intvar_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { char llbuff[22]; Loading @@ -3160,7 +3209,7 @@ void Intvar_log_event::print(FILE* file, bool short_form, if (!short_form) { print_header(file); print_header(file, start_pos); fprintf(file, "\tIntvar\n"); } Loading Loading @@ -3241,12 +3290,13 @@ bool Rand_log_event::write(IO_CACHE* file) #ifdef MYSQL_CLIENT void Rand_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Rand_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { char llbuff[22],llbuff2[22]; if (!short_form) { print_header(file); print_header(file, start_pos); fprintf(file, "\tRand\n"); } fprintf(file, "SET @@RAND_SEED1=%s, @@RAND_SEED2=%s;\n", Loading Loading @@ -3311,14 +3361,15 @@ bool Xid_log_event::write(IO_CACHE* file) #ifdef MYSQL_CLIENT void Xid_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Xid_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (!short_form) { char buf[64]; longlong10_to_str(xid, buf, 10); print_header(file); print_header(file, start_pos); fprintf(file, "\tXid = %s\n", buf); fflush(file); } Loading Loading @@ -3509,11 +3560,12 @@ bool User_var_log_event::write(IO_CACHE* file) */ #ifdef MYSQL_CLIENT void User_var_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void User_var_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (!short_form) { print_header(file); print_header(file, start_pos); fprintf(file, "\tUser_var\n"); } Loading Loading @@ -3684,11 +3736,12 @@ int User_var_log_event::exec_event(struct st_relay_log_info* rli) #ifdef HAVE_REPLICATION #ifdef MYSQL_CLIENT void Unknown_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Unknown_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (short_form) return; print_header(file); print_header(file, start_pos); fputc('\n', file); fprintf(file, "# %s", "Unknown event\n"); } Loading Loading @@ -3755,12 +3808,13 @@ Slave_log_event::~Slave_log_event() #ifdef MYSQL_CLIENT void Slave_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Slave_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { char llbuff[22]; if (short_form) return; print_header(file); print_header(file, start_pos); fputc('\n', file); fprintf(file, "\ Slave: master_host: '%s' master_port: %d master_log: '%s' master_pos: %s\n", Loading Loading @@ -3840,12 +3894,13 @@ int Slave_log_event::exec_event(struct st_relay_log_info* rli) */ #ifdef MYSQL_CLIENT void Stop_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Stop_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (short_form) return; print_header(file); print_header(file, start_pos); fprintf(file, "\tStop\n"); fflush(file); } Loading Loading @@ -4019,19 +4074,20 @@ Create_file_log_event::Create_file_log_event(const char* buf, uint len, */ #ifdef MYSQL_CLIENT void Create_file_log_event::print(FILE* file, bool short_form, void Create_file_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, bool enable_local) { if (short_form) { if (enable_local && check_fname_outside_temp_buf()) Load_log_event::print(file, 1, last_event_info); Load_log_event::print(file, 1, start_pos, last_event_info); return; } if (enable_local) { Load_log_event::print(file, short_form, last_event_info, !check_fname_outside_temp_buf()); Load_log_event::print(file, short_form, start_pos, last_event_info, !check_fname_outside_temp_buf()); /* That one is for "file_id: etc" below: in mysqlbinlog we want the #, in SHOW BINLOG EVENTS we don't. Loading @@ -4044,9 +4100,10 @@ void Create_file_log_event::print(FILE* file, bool short_form, void Create_file_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { print(file,short_form,last_event_info,0); print(file, short_form, start_pos, last_event_info, 0); } #endif /* MYSQL_CLIENT */ Loading Loading @@ -4207,11 +4264,12 @@ bool Append_block_log_event::write(IO_CACHE* file) #ifdef MYSQL_CLIENT void Append_block_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (short_form) return; print_header(file); print_header(file, start_pos); fputc('\n', file); fprintf(file, "#%s: file_id: %d block_len: %d\n", get_type_str(), file_id, block_len); Loading Loading @@ -4351,11 +4409,12 @@ bool Delete_file_log_event::write(IO_CACHE* file) #ifdef MYSQL_CLIENT void Delete_file_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (short_form) return; print_header(file); print_header(file, start_pos); fputc('\n', file); fprintf(file, "#Delete_file: file_id=%u\n", file_id); } Loading Loading @@ -4447,11 +4506,12 @@ bool Execute_load_log_event::write(IO_CACHE* file) #ifdef MYSQL_CLIENT void Execute_load_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (short_form) return; print_header(file); print_header(file, start_pos); fputc('\n', file); fprintf(file, "#Exec_load: file_id=%d\n", file_id); Loading Loading @@ -4659,17 +4719,19 @@ Execute_load_query_log_event::write_post_header_for_derived(IO_CACHE* file) #ifdef MYSQL_CLIENT void Execute_load_query_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { print(file, short_form, last_event_info, 0); print(file, short_form, start_pos, last_event_info, 0); } void Execute_load_query_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, const char *local_fname) { print_query_header(file, short_form, last_event_info); print_query_header(file, short_form, start_pos, last_event_info); if (local_fname) { Loading sql/log_event.h +45 −24 Original line number Diff line number Diff line Loading @@ -589,9 +589,10 @@ class Log_event static Log_event* read_log_event(IO_CACHE* file, const Format_description_log_event *description_event); /* print*() functions are used by mysqlbinlog */ virtual void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0) = 0; virtual void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0) = 0; void print_timestamp(FILE* file, time_t *ts = 0); void print_header(FILE* file); void print_header(FILE* file, my_off_t start_pos= 0); #endif static void *operator new(size_t size) Loading Loading @@ -751,8 +752,11 @@ class Query_log_event: public Log_event uint32 q_len_arg); #endif /* HAVE_REPLICATION */ #else void print_query_header(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print_query_header(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Query_log_event(const char* buf, uint event_len, Loading Loading @@ -806,7 +810,8 @@ class Slave_log_event: public Log_event void pack_info(Protocol* protocol); int exec_event(struct st_relay_log_info* rli); #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Slave_log_event(const char* buf, uint event_len); Loading Loading @@ -894,8 +899,10 @@ class Load_log_event: public Log_event bool use_rli_only_for_errors); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info = 0); void print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info, bool commented); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info = 0); void print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, bool commented); #endif /* Loading Loading @@ -984,7 +991,8 @@ class Start_log_event_v3: public Log_event #endif /* HAVE_REPLICATION */ #else Start_log_event_v3() {} void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Start_log_event_v3(const char* buf, Loading Loading @@ -1079,7 +1087,8 @@ class Intvar_log_event: public Log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Intvar_log_event(const char* buf, const Format_description_log_event* description_event); Loading Loading @@ -1120,7 +1129,8 @@ class Rand_log_event: public Log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Rand_log_event(const char* buf, const Format_description_log_event* description_event); Loading Loading @@ -1157,7 +1167,8 @@ class Xid_log_event: public Log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Xid_log_event(const char* buf, const Format_description_log_event* description_event); Loading Loading @@ -1199,7 +1210,8 @@ class User_var_log_event: public Log_event void pack_info(Protocol* protocol); int exec_event(struct st_relay_log_info* rli); #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif User_var_log_event(const char* buf, const Format_description_log_event* description_event); Loading @@ -1225,7 +1237,8 @@ class Stop_log_event: public Log_event {} int exec_event(struct st_relay_log_info* rli); #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Stop_log_event(const char* buf, const Format_description_log_event* description_event): Loading Loading @@ -1264,7 +1277,8 @@ class Rotate_log_event: public Log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Rotate_log_event(const char* buf, uint event_len, Loading Loading @@ -1317,8 +1331,10 @@ class Create_file_log_event: public Load_log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info, bool enable_local); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, bool enable_local); #endif Create_file_log_event(const char* buf, uint event_len, Loading Loading @@ -1385,7 +1401,8 @@ class Append_block_log_event: public Log_event virtual int get_create_or_append() const; #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Append_block_log_event(const char* buf, uint event_len, Loading Loading @@ -1420,8 +1437,10 @@ class Delete_file_log_event: public Log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info, bool enable_local); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, bool enable_local); #endif Delete_file_log_event(const char* buf, uint event_len, Loading Loading @@ -1456,7 +1475,8 @@ class Execute_load_log_event: public Log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Execute_load_log_event(const char* buf, uint event_len, Loading Loading @@ -1541,11 +1561,11 @@ class Execute_load_query_log_event: public Query_log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); /* Prints the query as LOAD DATA LOCAL and with rewritten filename */ void print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info, const char *local_fname); void print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, const char *local_fname); #endif Execute_load_query_log_event(const char* buf, uint event_len, const Format_description_log_event *description_event); Loading Loading @@ -1574,7 +1594,8 @@ class Unknown_log_event: public Log_event Log_event(buf, description_event) {} ~Unknown_log_event() {} void print(FILE* file, bool short_form= 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); Log_event_type get_type_code() { return UNKNOWN_EVENT;} bool is_valid() const { return 1; } }; Loading Loading
client/mysqlbinlog.cc +20 −10 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ static const char *load_default_groups[]= { "mysqlbinlog","client",0 }; void sql_print_error(const char *format, ...); static bool one_database=0, to_last_remote_log= 0, disable_log_bin= 0; static bool opt_hexdump= 0; static const char* database= 0; static my_bool force_opt= 0, short_form= 0, remote_opt= 0; static ulonglong offset = 0; Loading Loading @@ -523,11 +524,14 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev, if (!short_form) fprintf(result_file, "# at %s\n",llstr(pos,ll_buff)); /* Set pos to 0 if hexdump is disabled */ pos= (opt_hexdump ? pos : 0); switch (ev_type) { case QUERY_EVENT: if (check_database(((Query_log_event*)ev)->db)) goto end; ev->print(result_file, short_form, last_event_info); ev->print(result_file, short_form, pos, last_event_info); break; case CREATE_FILE_EVENT: { Loading @@ -547,7 +551,8 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev, filename and use LOCAL), prepared in the 'case EXEC_LOAD_EVENT' below. */ ce->print(result_file, short_form, last_event_info, TRUE); ce->print(result_file, short_form, pos, last_event_info, TRUE); // If this binlog is not 3.23 ; why this test?? if (description_event->binlog_version >= 3) { Loading @@ -558,13 +563,13 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev, break; } case APPEND_BLOCK_EVENT: ev->print(result_file, short_form, last_event_info); ev->print(result_file, short_form, pos, last_event_info); if (load_processor.process((Append_block_log_event*) ev)) break; // Error break; case EXEC_LOAD_EVENT: { ev->print(result_file, short_form, last_event_info); ev->print(result_file, short_form, pos, last_event_info); Execute_load_log_event *exv= (Execute_load_log_event*)ev; Create_file_log_event *ce= load_processor.grab_event(exv->file_id); /* Loading @@ -574,7 +579,7 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev, */ if (ce) { ce->print(result_file, short_form, last_event_info, TRUE); ce->print(result_file, short_form, pos, last_event_info, TRUE); my_free((char*)ce->fname,MYF(MY_WME)); delete ce; } Loading @@ -586,7 +591,7 @@ Create_file event for file_id: %u\n",exv->file_id); case FORMAT_DESCRIPTION_EVENT: delete description_event; description_event= (Format_description_log_event*) ev; ev->print(result_file, short_form, last_event_info); ev->print(result_file, short_form, pos, last_event_info); /* We don't want this event to be deleted now, so let's hide it (I (Guilhem) should later see if this triggers a non-serious Valgrind Loading @@ -596,7 +601,7 @@ Create_file event for file_id: %u\n",exv->file_id); ev= 0; break; case BEGIN_LOAD_QUERY_EVENT: ev->print(result_file, short_form, last_event_info); ev->print(result_file, short_form, pos, last_event_info); load_processor.process((Begin_load_query_log_event*) ev); break; case EXECUTE_LOAD_QUERY_EVENT: Loading @@ -613,7 +618,7 @@ Create_file event for file_id: %u\n",exv->file_id); if (fname) { exlq->print(result_file, short_form, last_event_info, fname); exlq->print(result_file, short_form, pos, last_event_info, fname); my_free(fname, MYF(MY_WME)); } else Loading @@ -622,7 +627,7 @@ Begin_load_query event for file_id: %u\n", exlq->file_id); break; } default: ev->print(result_file, short_form, last_event_info); ev->print(result_file, short_form, pos, last_event_info); } } Loading Loading @@ -669,6 +674,8 @@ static struct my_option my_long_options[] = 0, 0}, {"help", '?', "Display this help and exit.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"hexdump", 'H', "Augment output with hexadecimal and ascii data dump.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"host", 'h', "Get the binlog from server.", (gptr*) &host, (gptr*) &host, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"offset", 'o', "Skip the first N entries.", (gptr*) &offset, (gptr*) &offset, Loading Loading @@ -848,6 +855,9 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), case 'd': one_database = 1; break; case 'H': opt_hexdump= 1; break; case 'p': if (argument) { Loading
sql/log_event.cc +98 −36 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ #include "mysql_priv.h" #include "slave.h" #include <my_dir.h> #else #include <ctype.h> /* For isalnum() */ #endif /* MYSQL_CLIENT */ #define log_cs &my_charset_latin1 Loading Loading @@ -881,14 +883,57 @@ Log_event* Log_event::read_log_event(const char* buf, uint event_len, Log_event::print_header() */ void Log_event::print_header(FILE* file) void Log_event::print_header(FILE* file, my_off_t start_pos) { char llbuff[22]; fputc('#', file); print_timestamp(file); fprintf(file, " server id %d end_log_pos %s ", server_id, llstr(log_pos,llbuff)); if (start_pos) { fprintf(file, "\n"); unsigned char *ptr= (unsigned char*)temp_buf; my_off_t i; char position[8+1] = {0}; char b[3+1] = {0}; char hex_string[16*3+1+1] = {0}; char char_string[16+1] = {0}; for (i= 0; i < (log_pos-start_pos); i++, ptr++) { if (i % 16 == 0) snprintf(position, sizeof(position), "%.8x", (unsigned int) (start_pos+i)); snprintf(b, sizeof(b), "%02X ", *ptr); strncat(hex_string, b, sizeof(hex_string)-strlen(hex_string)-1); snprintf(b, sizeof(b), "%c", isalnum(*ptr) ? *ptr : '.'); strncat(char_string, b, sizeof(char_string)-strlen(char_string)-1); if (i % 16 == 15) { fprintf(file, "# %8.8s %-48.48s |%16s|\n", position, hex_string, char_string); hex_string[0] = 0; char_string[0] = 0; } else if (i % 8 == 7) { /* Middle space */ strncat(hex_string, " ", sizeof(hex_string)-strlen(hex_string)-1); } } if (strlen(hex_string)) { printf("# %8.8s %-48.48s |%s|\n# ", position, hex_string, char_string); } } } /* Log_event::print_timestamp() Loading Loading @@ -1373,6 +1418,7 @@ Query_log_event::Query_log_event(const char* buf, uint event_len, #ifdef MYSQL_CLIENT void Query_log_event::print_query_header(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { // TODO: print the catalog ?? Loading @@ -1382,7 +1428,7 @@ void Query_log_event::print_query_header(FILE* file, bool short_form, if (!short_form) { print_header(file); print_header(file, start_pos); fprintf(file, "\t%s\tthread_id=%lu\texec_time=%lu\terror_code=%d\n", get_type_str(), (ulong) thread_id, (ulong) exec_time, error_code); } Loading Loading @@ -1503,10 +1549,10 @@ void Query_log_event::print_query_header(FILE* file, bool short_form, } void Query_log_event::print(FILE* file, bool short_form, void Query_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { print_query_header(file, short_form, last_event_info); print_query_header(file, short_form, start_pos, last_event_info); my_fwrite(file, (byte*) query, q_len, MYF(MY_NABP | MY_WME)); fputs(";\n", file); } Loading Loading @@ -1804,11 +1850,12 @@ void Start_log_event_v3::pack_info(Protocol *protocol) */ #ifdef MYSQL_CLIENT void Start_log_event_v3::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Start_log_event_v3::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (!short_form) { print_header(file); print_header(file, start_pos); fprintf(file, "\tStart: binlog v %d, server v %s created ", binlog_version, server_version); print_timestamp(file); Loading Loading @@ -2532,19 +2579,20 @@ int Load_log_event::copy_log_event(const char *buf, ulong event_len, */ #ifdef MYSQL_CLIENT void Load_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Load_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { print(file, short_form, last_event_info, 0); print(file, short_form, start_pos, last_event_info, 0); } void Load_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info, bool commented) void Load_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, bool commented) { DBUG_ENTER("Load_log_event::print"); if (!short_form) { print_header(file); print_header(file, start_pos); fprintf(file, "\tQuery\tthread_id=%ld\texec_time=%ld\n", thread_id, exec_time); } Loading Loading @@ -2949,13 +2997,14 @@ void Rotate_log_event::pack_info(Protocol *protocol) */ #ifdef MYSQL_CLIENT void Rotate_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Rotate_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { char buf[22]; if (short_form) return; print_header(file); print_header(file, start_pos); fprintf(file, "\tRotate to "); if (new_log_ident) my_fwrite(file, (byte*) new_log_ident, (uint)ident_len, Loading Loading @@ -3151,7 +3200,7 @@ bool Intvar_log_event::write(IO_CACHE* file) */ #ifdef MYSQL_CLIENT void Intvar_log_event::print(FILE* file, bool short_form, void Intvar_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { char llbuff[22]; Loading @@ -3160,7 +3209,7 @@ void Intvar_log_event::print(FILE* file, bool short_form, if (!short_form) { print_header(file); print_header(file, start_pos); fprintf(file, "\tIntvar\n"); } Loading Loading @@ -3241,12 +3290,13 @@ bool Rand_log_event::write(IO_CACHE* file) #ifdef MYSQL_CLIENT void Rand_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Rand_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { char llbuff[22],llbuff2[22]; if (!short_form) { print_header(file); print_header(file, start_pos); fprintf(file, "\tRand\n"); } fprintf(file, "SET @@RAND_SEED1=%s, @@RAND_SEED2=%s;\n", Loading Loading @@ -3311,14 +3361,15 @@ bool Xid_log_event::write(IO_CACHE* file) #ifdef MYSQL_CLIENT void Xid_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Xid_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (!short_form) { char buf[64]; longlong10_to_str(xid, buf, 10); print_header(file); print_header(file, start_pos); fprintf(file, "\tXid = %s\n", buf); fflush(file); } Loading Loading @@ -3509,11 +3560,12 @@ bool User_var_log_event::write(IO_CACHE* file) */ #ifdef MYSQL_CLIENT void User_var_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void User_var_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (!short_form) { print_header(file); print_header(file, start_pos); fprintf(file, "\tUser_var\n"); } Loading Loading @@ -3684,11 +3736,12 @@ int User_var_log_event::exec_event(struct st_relay_log_info* rli) #ifdef HAVE_REPLICATION #ifdef MYSQL_CLIENT void Unknown_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Unknown_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (short_form) return; print_header(file); print_header(file, start_pos); fputc('\n', file); fprintf(file, "# %s", "Unknown event\n"); } Loading Loading @@ -3755,12 +3808,13 @@ Slave_log_event::~Slave_log_event() #ifdef MYSQL_CLIENT void Slave_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Slave_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { char llbuff[22]; if (short_form) return; print_header(file); print_header(file, start_pos); fputc('\n', file); fprintf(file, "\ Slave: master_host: '%s' master_port: %d master_log: '%s' master_pos: %s\n", Loading Loading @@ -3840,12 +3894,13 @@ int Slave_log_event::exec_event(struct st_relay_log_info* rli) */ #ifdef MYSQL_CLIENT void Stop_log_event::print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info) void Stop_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (short_form) return; print_header(file); print_header(file, start_pos); fprintf(file, "\tStop\n"); fflush(file); } Loading Loading @@ -4019,19 +4074,20 @@ Create_file_log_event::Create_file_log_event(const char* buf, uint len, */ #ifdef MYSQL_CLIENT void Create_file_log_event::print(FILE* file, bool short_form, void Create_file_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, bool enable_local) { if (short_form) { if (enable_local && check_fname_outside_temp_buf()) Load_log_event::print(file, 1, last_event_info); Load_log_event::print(file, 1, start_pos, last_event_info); return; } if (enable_local) { Load_log_event::print(file, short_form, last_event_info, !check_fname_outside_temp_buf()); Load_log_event::print(file, short_form, start_pos, last_event_info, !check_fname_outside_temp_buf()); /* That one is for "file_id: etc" below: in mysqlbinlog we want the #, in SHOW BINLOG EVENTS we don't. Loading @@ -4044,9 +4100,10 @@ void Create_file_log_event::print(FILE* file, bool short_form, void Create_file_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { print(file,short_form,last_event_info,0); print(file, short_form, start_pos, last_event_info, 0); } #endif /* MYSQL_CLIENT */ Loading Loading @@ -4207,11 +4264,12 @@ bool Append_block_log_event::write(IO_CACHE* file) #ifdef MYSQL_CLIENT void Append_block_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (short_form) return; print_header(file); print_header(file, start_pos); fputc('\n', file); fprintf(file, "#%s: file_id: %d block_len: %d\n", get_type_str(), file_id, block_len); Loading Loading @@ -4351,11 +4409,12 @@ bool Delete_file_log_event::write(IO_CACHE* file) #ifdef MYSQL_CLIENT void Delete_file_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (short_form) return; print_header(file); print_header(file, start_pos); fputc('\n', file); fprintf(file, "#Delete_file: file_id=%u\n", file_id); } Loading Loading @@ -4447,11 +4506,12 @@ bool Execute_load_log_event::write(IO_CACHE* file) #ifdef MYSQL_CLIENT void Execute_load_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { if (short_form) return; print_header(file); print_header(file, start_pos); fputc('\n', file); fprintf(file, "#Exec_load: file_id=%d\n", file_id); Loading Loading @@ -4659,17 +4719,19 @@ Execute_load_query_log_event::write_post_header_for_derived(IO_CACHE* file) #ifdef MYSQL_CLIENT void Execute_load_query_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info) { print(file, short_form, last_event_info, 0); print(file, short_form, start_pos, last_event_info, 0); } void Execute_load_query_log_event::print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, const char *local_fname) { print_query_header(file, short_form, last_event_info); print_query_header(file, short_form, start_pos, last_event_info); if (local_fname) { Loading
sql/log_event.h +45 −24 Original line number Diff line number Diff line Loading @@ -589,9 +589,10 @@ class Log_event static Log_event* read_log_event(IO_CACHE* file, const Format_description_log_event *description_event); /* print*() functions are used by mysqlbinlog */ virtual void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0) = 0; virtual void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0) = 0; void print_timestamp(FILE* file, time_t *ts = 0); void print_header(FILE* file); void print_header(FILE* file, my_off_t start_pos= 0); #endif static void *operator new(size_t size) Loading Loading @@ -751,8 +752,11 @@ class Query_log_event: public Log_event uint32 q_len_arg); #endif /* HAVE_REPLICATION */ #else void print_query_header(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print_query_header(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Query_log_event(const char* buf, uint event_len, Loading Loading @@ -806,7 +810,8 @@ class Slave_log_event: public Log_event void pack_info(Protocol* protocol); int exec_event(struct st_relay_log_info* rli); #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Slave_log_event(const char* buf, uint event_len); Loading Loading @@ -894,8 +899,10 @@ class Load_log_event: public Log_event bool use_rli_only_for_errors); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info = 0); void print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info, bool commented); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info = 0); void print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, bool commented); #endif /* Loading Loading @@ -984,7 +991,8 @@ class Start_log_event_v3: public Log_event #endif /* HAVE_REPLICATION */ #else Start_log_event_v3() {} void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Start_log_event_v3(const char* buf, Loading Loading @@ -1079,7 +1087,8 @@ class Intvar_log_event: public Log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Intvar_log_event(const char* buf, const Format_description_log_event* description_event); Loading Loading @@ -1120,7 +1129,8 @@ class Rand_log_event: public Log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Rand_log_event(const char* buf, const Format_description_log_event* description_event); Loading Loading @@ -1157,7 +1167,8 @@ class Xid_log_event: public Log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Xid_log_event(const char* buf, const Format_description_log_event* description_event); Loading Loading @@ -1199,7 +1210,8 @@ class User_var_log_event: public Log_event void pack_info(Protocol* protocol); int exec_event(struct st_relay_log_info* rli); #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif User_var_log_event(const char* buf, const Format_description_log_event* description_event); Loading @@ -1225,7 +1237,8 @@ class Stop_log_event: public Log_event {} int exec_event(struct st_relay_log_info* rli); #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Stop_log_event(const char* buf, const Format_description_log_event* description_event): Loading Loading @@ -1264,7 +1277,8 @@ class Rotate_log_event: public Log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Rotate_log_event(const char* buf, uint event_len, Loading Loading @@ -1317,8 +1331,10 @@ class Create_file_log_event: public Load_log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info, bool enable_local); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, bool enable_local); #endif Create_file_log_event(const char* buf, uint event_len, Loading Loading @@ -1385,7 +1401,8 @@ class Append_block_log_event: public Log_event virtual int get_create_or_append() const; #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Append_block_log_event(const char* buf, uint event_len, Loading Loading @@ -1420,8 +1437,10 @@ class Delete_file_log_event: public Log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info, bool enable_local); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, bool enable_local); #endif Delete_file_log_event(const char* buf, uint event_len, Loading Loading @@ -1456,7 +1475,8 @@ class Execute_load_log_event: public Log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); #endif Execute_load_log_event(const char* buf, uint event_len, Loading Loading @@ -1541,11 +1561,11 @@ class Execute_load_query_log_event: public Query_log_event int exec_event(struct st_relay_log_info* rli); #endif /* HAVE_REPLICATION */ #else void print(FILE* file, bool short_form = 0, void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); /* Prints the query as LOAD DATA LOCAL and with rewritten filename */ void print(FILE* file, bool short_form, LAST_EVENT_INFO* last_event_info, const char *local_fname); void print(FILE* file, bool short_form, my_off_t start_pos, LAST_EVENT_INFO* last_event_info, const char *local_fname); #endif Execute_load_query_log_event(const char* buf, uint event_len, const Format_description_log_event *description_event); Loading Loading @@ -1574,7 +1594,8 @@ class Unknown_log_event: public Log_event Log_event(buf, description_event) {} ~Unknown_log_event() {} void print(FILE* file, bool short_form= 0, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0, LAST_EVENT_INFO* last_event_info= 0); Log_event_type get_type_code() { return UNKNOWN_EVENT;} bool is_valid() const { return 1; } }; Loading