Commit e040920f authored by unknown's avatar unknown

mysqlbinlog --hexdump patch 4:

Rename last_event_info to print_event_info to better reflect the new semantics


client/mysqlbinlog.cc:
  Rename last_event_info to print_event_info
sql/log_event.cc:
  Rename last_event_info to print_event_info
sql/log_event.h:
  Rename last_event_info to print_event_info
parent 92291753
...@@ -490,13 +490,13 @@ static bool check_database(const char *log_dbname) ...@@ -490,13 +490,13 @@ static bool check_database(const char *log_dbname)
int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev, int process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
my_off_t pos) my_off_t pos)
{ {
char ll_buff[21]; char ll_buff[21];
Log_event_type ev_type= ev->get_type_code(); Log_event_type ev_type= ev->get_type_code();
DBUG_ENTER("process_event"); DBUG_ENTER("process_event");
last_event_info->short_form= short_form; print_event_info->short_form= short_form;
/* /*
Format events are not concerned by --offset and such, we always need to Format events are not concerned by --offset and such, we always need to
...@@ -526,15 +526,15 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev, ...@@ -526,15 +526,15 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev,
fprintf(result_file, "# at %s\n",llstr(pos,ll_buff)); fprintf(result_file, "# at %s\n",llstr(pos,ll_buff));
if (!opt_hexdump) if (!opt_hexdump)
last_event_info->hexdump_from= 0; /* Disabled */ print_event_info->hexdump_from= 0; /* Disabled */
else else
last_event_info->hexdump_from= pos; print_event_info->hexdump_from= pos;
switch (ev_type) { switch (ev_type) {
case QUERY_EVENT: case QUERY_EVENT:
if (check_database(((Query_log_event*)ev)->db)) if (check_database(((Query_log_event*)ev)->db))
goto end; goto end;
ev->print(result_file, last_event_info); ev->print(result_file, print_event_info);
break; break;
case CREATE_FILE_EVENT: case CREATE_FILE_EVENT:
{ {
...@@ -554,7 +554,7 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev, ...@@ -554,7 +554,7 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev,
filename and use LOCAL), prepared in the 'case EXEC_LOAD_EVENT' filename and use LOCAL), prepared in the 'case EXEC_LOAD_EVENT'
below. below.
*/ */
ce->print(result_file, last_event_info, TRUE); ce->print(result_file, print_event_info, TRUE);
// If this binlog is not 3.23 ; why this test?? // If this binlog is not 3.23 ; why this test??
if (description_event->binlog_version >= 3) if (description_event->binlog_version >= 3)
...@@ -566,13 +566,13 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev, ...@@ -566,13 +566,13 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev,
break; break;
} }
case APPEND_BLOCK_EVENT: case APPEND_BLOCK_EVENT:
ev->print(result_file, last_event_info); ev->print(result_file, print_event_info);
if (load_processor.process((Append_block_log_event*) ev)) if (load_processor.process((Append_block_log_event*) ev))
break; // Error break; // Error
break; break;
case EXEC_LOAD_EVENT: case EXEC_LOAD_EVENT:
{ {
ev->print(result_file, last_event_info); ev->print(result_file, print_event_info);
Execute_load_log_event *exv= (Execute_load_log_event*)ev; Execute_load_log_event *exv= (Execute_load_log_event*)ev;
Create_file_log_event *ce= load_processor.grab_event(exv->file_id); Create_file_log_event *ce= load_processor.grab_event(exv->file_id);
/* /*
...@@ -582,7 +582,7 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev, ...@@ -582,7 +582,7 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev,
*/ */
if (ce) if (ce)
{ {
ce->print(result_file, last_event_info, TRUE); ce->print(result_file, print_event_info, TRUE);
my_free((char*)ce->fname,MYF(MY_WME)); my_free((char*)ce->fname,MYF(MY_WME));
delete ce; delete ce;
} }
...@@ -594,8 +594,8 @@ Create_file event for file_id: %u\n",exv->file_id); ...@@ -594,8 +594,8 @@ Create_file event for file_id: %u\n",exv->file_id);
case FORMAT_DESCRIPTION_EVENT: case FORMAT_DESCRIPTION_EVENT:
delete description_event; delete description_event;
description_event= (Format_description_log_event*) ev; description_event= (Format_description_log_event*) ev;
last_event_info->common_header_len= description_event->common_header_len; print_event_info->common_header_len= description_event->common_header_len;
ev->print(result_file, last_event_info); ev->print(result_file, print_event_info);
/* /*
We don't want this event to be deleted now, so let's hide it (I 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 (Guilhem) should later see if this triggers a non-serious Valgrind
...@@ -605,7 +605,7 @@ Create_file event for file_id: %u\n",exv->file_id); ...@@ -605,7 +605,7 @@ Create_file event for file_id: %u\n",exv->file_id);
ev= 0; ev= 0;
break; break;
case BEGIN_LOAD_QUERY_EVENT: case BEGIN_LOAD_QUERY_EVENT:
ev->print(result_file, last_event_info); ev->print(result_file, print_event_info);
load_processor.process((Begin_load_query_log_event*) ev); load_processor.process((Begin_load_query_log_event*) ev);
break; break;
case EXECUTE_LOAD_QUERY_EVENT: case EXECUTE_LOAD_QUERY_EVENT:
...@@ -622,7 +622,7 @@ Create_file event for file_id: %u\n",exv->file_id); ...@@ -622,7 +622,7 @@ Create_file event for file_id: %u\n",exv->file_id);
if (fname) if (fname)
{ {
exlq->print(result_file, last_event_info, fname); exlq->print(result_file, print_event_info, fname);
my_free(fname, MYF(MY_WME)); my_free(fname, MYF(MY_WME));
} }
else else
...@@ -631,7 +631,7 @@ Begin_load_query event for file_id: %u\n", exlq->file_id); ...@@ -631,7 +631,7 @@ Begin_load_query event for file_id: %u\n", exlq->file_id);
break; break;
} }
default: default:
ev->print(result_file, last_event_info); ev->print(result_file, print_event_info);
} }
} }
...@@ -1014,7 +1014,7 @@ static int dump_remote_log_entries(const char* logname) ...@@ -1014,7 +1014,7 @@ static int dump_remote_log_entries(const char* logname)
{ {
char buf[128]; char buf[128];
LAST_EVENT_INFO last_event_info; PRINT_EVENT_INFO print_event_info;
uint len, logname_len; uint len, logname_len;
NET* net; NET* net;
int error= 0; int error= 0;
...@@ -1136,7 +1136,7 @@ could be out of memory"); ...@@ -1136,7 +1136,7 @@ could be out of memory");
len= 1; // fake Rotate, so don't increment old_off len= 1; // fake Rotate, so don't increment old_off
} }
} }
if ((error= process_event(&last_event_info,ev,old_off))) if ((error= process_event(&print_event_info, ev, old_off)))
{ {
error= ((error < 0) ? 0 : 1); error= ((error < 0) ? 0 : 1);
goto err; goto err;
...@@ -1155,7 +1155,7 @@ could be out of memory"); ...@@ -1155,7 +1155,7 @@ could be out of memory");
goto err; goto err;
} }
if ((error= process_event(&last_event_info,ev,old_off))) if ((error= process_event(&print_event_info, ev, old_off)))
{ {
my_close(file,MYF(MY_WME)); my_close(file,MYF(MY_WME));
error= ((error < 0) ? 0 : 1); error= ((error < 0) ? 0 : 1);
...@@ -1284,7 +1284,7 @@ static int dump_local_log_entries(const char* logname) ...@@ -1284,7 +1284,7 @@ static int dump_local_log_entries(const char* logname)
{ {
File fd = -1; File fd = -1;
IO_CACHE cache,*file= &cache; IO_CACHE cache,*file= &cache;
LAST_EVENT_INFO last_event_info; PRINT_EVENT_INFO print_event_info;
byte tmp_buff[BIN_LOG_HEADER_SIZE]; byte tmp_buff[BIN_LOG_HEADER_SIZE];
int error= 0; int error= 0;
...@@ -1356,7 +1356,7 @@ static int dump_local_log_entries(const char* logname) ...@@ -1356,7 +1356,7 @@ static int dump_local_log_entries(const char* logname)
// file->error == 0 means EOF, that's OK, we break in this case // file->error == 0 means EOF, that's OK, we break in this case
break; break;
} }
if ((error= process_event(&last_event_info,ev,old_off))) if ((error= process_event(&print_event_info, ev, old_off)))
{ {
if (error < 0) if (error < 0)
error= 0; error= 0;
......
This diff is collapsed.
...@@ -453,16 +453,21 @@ struct st_relay_log_info; ...@@ -453,16 +453,21 @@ struct st_relay_log_info;
/* /*
A structure for mysqlbinlog to know how to print events A structure for mysqlbinlog to know how to print events
This structure is passed to the event's print() methods so that only This structure is passed to the event's print() methods,
the necessary USE and SET commands are printed. Last db, flags2,
sql_mode etc are stored here. There are two types of settings stored here:
1. Last db, flags2, sql_mode etc comes from the last printed event.
The structure also contain other information on how to print the They are stored so that only the necessary USE and SET commands
events, e.g. short_form, hexdump_from. are printed.
2. Other information on how to print the events, e.g. short_form,
hexdump_from. These are not dependent on the last event.
*/ */
typedef struct st_last_event_info typedef struct st_print_event_info
{ {
/* Old settings for database, sql_mode etc */ /*
Settings for database, sql_mode etc that comes from the last event
that was printed.
*/
// TODO: have the last catalog here ?? // TODO: have the last catalog here ??
char db[FN_REFLEN+1]; // TODO: make this a LEX_STRING when thd->db is char db[FN_REFLEN+1]; // TODO: make this a LEX_STRING when thd->db is
bool flags2_inited; bool flags2_inited;
...@@ -473,12 +478,12 @@ typedef struct st_last_event_info ...@@ -473,12 +478,12 @@ typedef struct st_last_event_info
bool charset_inited; bool charset_inited;
char charset[6]; // 3 variables, each of them storable in 2 bytes char charset[6]; // 3 variables, each of them storable in 2 bytes
char time_zone_str[MAX_TIME_ZONE_NAME_LENGTH]; char time_zone_str[MAX_TIME_ZONE_NAME_LENGTH];
st_last_event_info() st_print_event_info()
:flags2_inited(0), sql_mode_inited(0), :flags2_inited(0), sql_mode_inited(0),
auto_increment_increment(1),auto_increment_offset(1), charset_inited(0) auto_increment_increment(1),auto_increment_offset(1), charset_inited(0)
{ {
/* /*
Currently we only use static LAST_EVENT_INFO objects, so zeroed at Currently we only use static PRINT_EVENT_INFO objects, so zeroed at
program's startup, but these explicit bzero() is for the day someone program's startup, but these explicit bzero() is for the day someone
creates dynamic instances. creates dynamic instances.
*/ */
...@@ -492,7 +497,7 @@ typedef struct st_last_event_info ...@@ -492,7 +497,7 @@ typedef struct st_last_event_info
my_off_t hexdump_from; my_off_t hexdump_from;
uint8 common_header_len; uint8 common_header_len;
} LAST_EVENT_INFO; } PRINT_EVENT_INFO;
#endif #endif
...@@ -601,9 +606,9 @@ class Log_event ...@@ -601,9 +606,9 @@ class Log_event
static Log_event* read_log_event(IO_CACHE* file, static Log_event* read_log_event(IO_CACHE* file,
const Format_description_log_event *description_event); const Format_description_log_event *description_event);
/* print*() functions are used by mysqlbinlog */ /* print*() functions are used by mysqlbinlog */
virtual void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0) = 0; virtual void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0) = 0;
void print_timestamp(FILE* file, time_t *ts = 0); void print_timestamp(FILE* file, time_t *ts = 0);
void print_header(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print_header(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
#endif #endif
static void *operator new(size_t size) static void *operator new(size_t size)
...@@ -763,8 +768,8 @@ class Query_log_event: public Log_event ...@@ -763,8 +768,8 @@ class Query_log_event: public Log_event
uint32 q_len_arg); uint32 q_len_arg);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print_query_header(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print_query_header(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
#endif #endif
Query_log_event(const char* buf, uint event_len, Query_log_event(const char* buf, uint event_len,
...@@ -818,7 +823,7 @@ class Slave_log_event: public Log_event ...@@ -818,7 +823,7 @@ class Slave_log_event: public Log_event
void pack_info(Protocol* protocol); void pack_info(Protocol* protocol);
int exec_event(struct st_relay_log_info* rli); int exec_event(struct st_relay_log_info* rli);
#else #else
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
#endif #endif
Slave_log_event(const char* buf, uint event_len); Slave_log_event(const char* buf, uint event_len);
...@@ -906,8 +911,8 @@ class Load_log_event: public Log_event ...@@ -906,8 +911,8 @@ class Load_log_event: public Log_event
bool use_rli_only_for_errors); bool use_rli_only_for_errors);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, LAST_EVENT_INFO* last_event_info = 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info = 0);
void print(FILE* file, LAST_EVENT_INFO* last_event_info, bool commented); void print(FILE* file, PRINT_EVENT_INFO* print_event_info, bool commented);
#endif #endif
/* /*
...@@ -996,7 +1001,7 @@ class Start_log_event_v3: public Log_event ...@@ -996,7 +1001,7 @@ class Start_log_event_v3: public Log_event
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
Start_log_event_v3() {} Start_log_event_v3() {}
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
#endif #endif
Start_log_event_v3(const char* buf, Start_log_event_v3(const char* buf,
...@@ -1091,7 +1096,7 @@ class Intvar_log_event: public Log_event ...@@ -1091,7 +1096,7 @@ class Intvar_log_event: public Log_event
int exec_event(struct st_relay_log_info* rli); int exec_event(struct st_relay_log_info* rli);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
#endif #endif
Intvar_log_event(const char* buf, const Format_description_log_event* description_event); Intvar_log_event(const char* buf, const Format_description_log_event* description_event);
...@@ -1132,7 +1137,7 @@ class Rand_log_event: public Log_event ...@@ -1132,7 +1137,7 @@ class Rand_log_event: public Log_event
int exec_event(struct st_relay_log_info* rli); int exec_event(struct st_relay_log_info* rli);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
#endif #endif
Rand_log_event(const char* buf, const Format_description_log_event* description_event); Rand_log_event(const char* buf, const Format_description_log_event* description_event);
...@@ -1169,7 +1174,7 @@ class Xid_log_event: public Log_event ...@@ -1169,7 +1174,7 @@ class Xid_log_event: public Log_event
int exec_event(struct st_relay_log_info* rli); int exec_event(struct st_relay_log_info* rli);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
#endif #endif
Xid_log_event(const char* buf, const Format_description_log_event* description_event); Xid_log_event(const char* buf, const Format_description_log_event* description_event);
...@@ -1211,7 +1216,7 @@ class User_var_log_event: public Log_event ...@@ -1211,7 +1216,7 @@ class User_var_log_event: public Log_event
void pack_info(Protocol* protocol); void pack_info(Protocol* protocol);
int exec_event(struct st_relay_log_info* rli); int exec_event(struct st_relay_log_info* rli);
#else #else
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
#endif #endif
User_var_log_event(const char* buf, const Format_description_log_event* description_event); User_var_log_event(const char* buf, const Format_description_log_event* description_event);
...@@ -1237,7 +1242,7 @@ class Stop_log_event: public Log_event ...@@ -1237,7 +1242,7 @@ class Stop_log_event: public Log_event
{} {}
int exec_event(struct st_relay_log_info* rli); int exec_event(struct st_relay_log_info* rli);
#else #else
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
#endif #endif
Stop_log_event(const char* buf, const Format_description_log_event* description_event): Stop_log_event(const char* buf, const Format_description_log_event* description_event):
...@@ -1276,7 +1281,7 @@ class Rotate_log_event: public Log_event ...@@ -1276,7 +1281,7 @@ class Rotate_log_event: public Log_event
int exec_event(struct st_relay_log_info* rli); int exec_event(struct st_relay_log_info* rli);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
#endif #endif
Rotate_log_event(const char* buf, uint event_len, Rotate_log_event(const char* buf, uint event_len,
...@@ -1329,8 +1334,8 @@ class Create_file_log_event: public Load_log_event ...@@ -1329,8 +1334,8 @@ class Create_file_log_event: public Load_log_event
int exec_event(struct st_relay_log_info* rli); int exec_event(struct st_relay_log_info* rli);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
void print(FILE* file, LAST_EVENT_INFO* last_event_info, bool enable_local); void print(FILE* file, PRINT_EVENT_INFO* print_event_info, bool enable_local);
#endif #endif
Create_file_log_event(const char* buf, uint event_len, Create_file_log_event(const char* buf, uint event_len,
...@@ -1397,7 +1402,7 @@ class Append_block_log_event: public Log_event ...@@ -1397,7 +1402,7 @@ class Append_block_log_event: public Log_event
virtual int get_create_or_append() const; virtual int get_create_or_append() const;
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
#endif #endif
Append_block_log_event(const char* buf, uint event_len, Append_block_log_event(const char* buf, uint event_len,
...@@ -1432,8 +1437,8 @@ class Delete_file_log_event: public Log_event ...@@ -1432,8 +1437,8 @@ class Delete_file_log_event: public Log_event
int exec_event(struct st_relay_log_info* rli); int exec_event(struct st_relay_log_info* rli);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
void print(FILE* file, LAST_EVENT_INFO* last_event_info, bool enable_local); void print(FILE* file, PRINT_EVENT_INFO* print_event_info, bool enable_local);
#endif #endif
Delete_file_log_event(const char* buf, uint event_len, Delete_file_log_event(const char* buf, uint event_len,
...@@ -1468,7 +1473,7 @@ class Execute_load_log_event: public Log_event ...@@ -1468,7 +1473,7 @@ class Execute_load_log_event: public Log_event
int exec_event(struct st_relay_log_info* rli); int exec_event(struct st_relay_log_info* rli);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
#endif #endif
Execute_load_log_event(const char* buf, uint event_len, Execute_load_log_event(const char* buf, uint event_len,
...@@ -1553,9 +1558,9 @@ class Execute_load_query_log_event: public Query_log_event ...@@ -1553,9 +1558,9 @@ class Execute_load_query_log_event: public Query_log_event
int exec_event(struct st_relay_log_info* rli); int exec_event(struct st_relay_log_info* rli);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
/* Prints the query as LOAD DATA LOCAL and with rewritten filename */ /* Prints the query as LOAD DATA LOCAL and with rewritten filename */
void print(FILE* file, LAST_EVENT_INFO* last_event_info, void print(FILE* file, PRINT_EVENT_INFO* print_event_info,
const char *local_fname); const char *local_fname);
#endif #endif
Execute_load_query_log_event(const char* buf, uint event_len, Execute_load_query_log_event(const char* buf, uint event_len,
...@@ -1585,7 +1590,7 @@ class Unknown_log_event: public Log_event ...@@ -1585,7 +1590,7 @@ class Unknown_log_event: public Log_event
Log_event(buf, description_event) Log_event(buf, description_event)
{} {}
~Unknown_log_event() {} ~Unknown_log_event() {}
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0); void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
Log_event_type get_type_code() { return UNKNOWN_EVENT;} Log_event_type get_type_code() { return UNKNOWN_EVENT;}
bool is_valid() const { return 1; } bool is_valid() const { return 1; }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment