mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
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
This commit is contained in:
@@ -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)
|
||||
{
|
||||
char ll_buff[21];
|
||||
Log_event_type ev_type= ev->get_type_code();
|
||||
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
|
||||
@@ -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));
|
||||
|
||||
if (!opt_hexdump)
|
||||
last_event_info->hexdump_from= 0; /* Disabled */
|
||||
print_event_info->hexdump_from= 0; /* Disabled */
|
||||
else
|
||||
last_event_info->hexdump_from= pos;
|
||||
print_event_info->hexdump_from= pos;
|
||||
|
||||
switch (ev_type) {
|
||||
case QUERY_EVENT:
|
||||
if (check_database(((Query_log_event*)ev)->db))
|
||||
goto end;
|
||||
ev->print(result_file, last_event_info);
|
||||
ev->print(result_file, print_event_info);
|
||||
break;
|
||||
case CREATE_FILE_EVENT:
|
||||
{
|
||||
@@ -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'
|
||||
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 (description_event->binlog_version >= 3)
|
||||
@@ -566,13 +566,13 @@ int process_event(LAST_EVENT_INFO *last_event_info, Log_event *ev,
|
||||
break;
|
||||
}
|
||||
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))
|
||||
break; // Error
|
||||
break;
|
||||
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;
|
||||
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,
|
||||
*/
|
||||
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));
|
||||
delete ce;
|
||||
}
|
||||
@@ -594,8 +594,8 @@ 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;
|
||||
last_event_info->common_header_len= description_event->common_header_len;
|
||||
ev->print(result_file, last_event_info);
|
||||
print_event_info->common_header_len= description_event->common_header_len;
|
||||
ev->print(result_file, print_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
|
||||
@@ -605,7 +605,7 @@ Create_file event for file_id: %u\n",exv->file_id);
|
||||
ev= 0;
|
||||
break;
|
||||
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);
|
||||
break;
|
||||
case EXECUTE_LOAD_QUERY_EVENT:
|
||||
@@ -622,7 +622,7 @@ Create_file event for file_id: %u\n",exv->file_id);
|
||||
|
||||
if (fname)
|
||||
{
|
||||
exlq->print(result_file, last_event_info, fname);
|
||||
exlq->print(result_file, print_event_info, fname);
|
||||
my_free(fname, MYF(MY_WME));
|
||||
}
|
||||
else
|
||||
@@ -631,7 +631,7 @@ Begin_load_query event for file_id: %u\n", exlq->file_id);
|
||||
break;
|
||||
}
|
||||
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)
|
||||
|
||||
{
|
||||
char buf[128];
|
||||
LAST_EVENT_INFO last_event_info;
|
||||
PRINT_EVENT_INFO print_event_info;
|
||||
uint len, logname_len;
|
||||
NET* net;
|
||||
int error= 0;
|
||||
@@ -1136,7 +1136,7 @@ could be out of memory");
|
||||
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);
|
||||
goto err;
|
||||
@@ -1155,7 +1155,7 @@ could be out of memory");
|
||||
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));
|
||||
error= ((error < 0) ? 0 : 1);
|
||||
@@ -1284,7 +1284,7 @@ static int dump_local_log_entries(const char* logname)
|
||||
{
|
||||
File fd = -1;
|
||||
IO_CACHE cache,*file= &cache;
|
||||
LAST_EVENT_INFO last_event_info;
|
||||
PRINT_EVENT_INFO print_event_info;
|
||||
byte tmp_buff[BIN_LOG_HEADER_SIZE];
|
||||
int error= 0;
|
||||
|
||||
@@ -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
|
||||
break;
|
||||
}
|
||||
if ((error= process_event(&last_event_info,ev,old_off)))
|
||||
if ((error= process_event(&print_event_info, ev, old_off)))
|
||||
{
|
||||
if (error < 0)
|
||||
error= 0;
|
||||
|
170
sql/log_event.cc
170
sql/log_event.cc
@@ -875,10 +875,10 @@ Log_event* Log_event::read_log_event(const char* buf, uint event_len,
|
||||
Log_event::print_header()
|
||||
*/
|
||||
|
||||
void Log_event::print_header(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
void Log_event::print_header(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
char llbuff[22];
|
||||
my_off_t hexdump_from= last_event_info->hexdump_from;
|
||||
my_off_t hexdump_from= print_event_info->hexdump_from;
|
||||
|
||||
fputc('#', file);
|
||||
print_timestamp(file);
|
||||
@@ -886,7 +886,7 @@ void Log_event::print_header(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
llstr(log_pos,llbuff));
|
||||
|
||||
/* mysqlbinlog --hexdump */
|
||||
if (last_event_info->hexdump_from)
|
||||
if (print_event_info->hexdump_from)
|
||||
{
|
||||
fprintf(file, "\n");
|
||||
uchar *ptr= (uchar*)temp_buf;
|
||||
@@ -899,7 +899,7 @@ void Log_event::print_header(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
char *c, char_string[16+1]= {0};
|
||||
|
||||
/* Pretty-print event common header if header is exactly 19 bytes */
|
||||
if (last_event_info->common_header_len == 19)
|
||||
if (print_event_info->common_header_len == LOG_EVENT_MINIMAL_HEADER_LEN)
|
||||
{
|
||||
fprintf(file, "# Position Timestamp Type Master ID "
|
||||
"Size Master Pos Flags \n");
|
||||
@@ -1428,24 +1428,24 @@ Query_log_event::Query_log_event(const char* buf, uint event_len,
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void Query_log_event::print_query_header(FILE* file,
|
||||
LAST_EVENT_INFO* last_event_info)
|
||||
PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
// TODO: print the catalog ??
|
||||
char buff[40],*end; // Enough for SET TIMESTAMP
|
||||
bool different_db= 1;
|
||||
uint32 tmp;
|
||||
|
||||
if (!last_event_info->short_form)
|
||||
if (!print_event_info->short_form)
|
||||
{
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
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);
|
||||
}
|
||||
|
||||
if (!(flags & LOG_EVENT_SUPPRESS_USE_F) && db)
|
||||
{
|
||||
if (different_db= memcmp(last_event_info->db, db, db_len + 1))
|
||||
memcpy(last_event_info->db, db, db_len + 1);
|
||||
if (different_db= memcmp(print_event_info->db, db, db_len + 1))
|
||||
memcpy(print_event_info->db, db, db_len + 1);
|
||||
if (db[0] && different_db)
|
||||
fprintf(file, "use %s;\n", db);
|
||||
}
|
||||
@@ -1465,12 +1465,12 @@ void Query_log_event::print_query_header(FILE* file,
|
||||
if (likely(flags2_inited)) /* likely as this will mainly read 5.0 logs */
|
||||
{
|
||||
/* tmp is a bitmask of bits which have changed. */
|
||||
if (likely(last_event_info->flags2_inited))
|
||||
if (likely(print_event_info->flags2_inited))
|
||||
/* All bits which have changed */
|
||||
tmp= (last_event_info->flags2) ^ flags2;
|
||||
tmp= (print_event_info->flags2) ^ flags2;
|
||||
else /* that's the first Query event we read */
|
||||
{
|
||||
last_event_info->flags2_inited= 1;
|
||||
print_event_info->flags2_inited= 1;
|
||||
tmp= ~((uint32)0); /* all bits have changed */
|
||||
}
|
||||
|
||||
@@ -1485,7 +1485,7 @@ void Query_log_event::print_query_header(FILE* file,
|
||||
print_set_option(file, tmp, OPTION_RELAXED_UNIQUE_CHECKS, ~flags2,
|
||||
"@@session.unique_checks", &need_comma);
|
||||
fprintf(file,";\n");
|
||||
last_event_info->flags2= flags2;
|
||||
print_event_info->flags2= flags2;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1504,37 +1504,37 @@ void Query_log_event::print_query_header(FILE* file,
|
||||
|
||||
if (likely(sql_mode_inited))
|
||||
{
|
||||
if (unlikely(!last_event_info->sql_mode_inited)) /* first Query event */
|
||||
if (unlikely(!print_event_info->sql_mode_inited)) /* first Query event */
|
||||
{
|
||||
last_event_info->sql_mode_inited= 1;
|
||||
print_event_info->sql_mode_inited= 1;
|
||||
/* force a difference to force write */
|
||||
last_event_info->sql_mode= ~sql_mode;
|
||||
print_event_info->sql_mode= ~sql_mode;
|
||||
}
|
||||
if (unlikely(last_event_info->sql_mode != sql_mode))
|
||||
if (unlikely(print_event_info->sql_mode != sql_mode))
|
||||
{
|
||||
fprintf(file,"SET @@session.sql_mode=%lu;\n",(ulong)sql_mode);
|
||||
last_event_info->sql_mode= sql_mode;
|
||||
print_event_info->sql_mode= sql_mode;
|
||||
}
|
||||
}
|
||||
if (last_event_info->auto_increment_increment != auto_increment_increment ||
|
||||
last_event_info->auto_increment_offset != auto_increment_offset)
|
||||
if (print_event_info->auto_increment_increment != auto_increment_increment ||
|
||||
print_event_info->auto_increment_offset != auto_increment_offset)
|
||||
{
|
||||
fprintf(file,"SET @@session.auto_increment_increment=%lu, @@session.auto_increment_offset=%lu;\n",
|
||||
auto_increment_increment,auto_increment_offset);
|
||||
last_event_info->auto_increment_increment= auto_increment_increment;
|
||||
last_event_info->auto_increment_offset= auto_increment_offset;
|
||||
print_event_info->auto_increment_increment= auto_increment_increment;
|
||||
print_event_info->auto_increment_offset= auto_increment_offset;
|
||||
}
|
||||
|
||||
/* TODO: print the catalog when we feature SET CATALOG */
|
||||
|
||||
if (likely(charset_inited))
|
||||
{
|
||||
if (unlikely(!last_event_info->charset_inited)) /* first Query event */
|
||||
if (unlikely(!print_event_info->charset_inited)) /* first Query event */
|
||||
{
|
||||
last_event_info->charset_inited= 1;
|
||||
last_event_info->charset[0]= ~charset[0]; // force a difference to force write
|
||||
print_event_info->charset_inited= 1;
|
||||
print_event_info->charset[0]= ~charset[0]; // force a difference to force write
|
||||
}
|
||||
if (unlikely(bcmp(last_event_info->charset, charset, 6)))
|
||||
if (unlikely(bcmp(print_event_info->charset, charset, 6)))
|
||||
{
|
||||
fprintf(file,"SET "
|
||||
"@@session.character_set_client=%d,"
|
||||
@@ -1544,23 +1544,23 @@ void Query_log_event::print_query_header(FILE* file,
|
||||
uint2korr(charset),
|
||||
uint2korr(charset+2),
|
||||
uint2korr(charset+4));
|
||||
memcpy(last_event_info->charset, charset, 6);
|
||||
memcpy(print_event_info->charset, charset, 6);
|
||||
}
|
||||
}
|
||||
if (time_zone_len)
|
||||
{
|
||||
if (bcmp(last_event_info->time_zone_str, time_zone_str, time_zone_len+1))
|
||||
if (bcmp(print_event_info->time_zone_str, time_zone_str, time_zone_len+1))
|
||||
{
|
||||
fprintf(file,"SET @@session.time_zone='%s';\n", time_zone_str);
|
||||
memcpy(last_event_info->time_zone_str, time_zone_str, time_zone_len+1);
|
||||
memcpy(print_event_info->time_zone_str, time_zone_str, time_zone_len+1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Query_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
void Query_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
print_query_header(file, last_event_info);
|
||||
print_query_header(file, print_event_info);
|
||||
my_fwrite(file, (byte*) query, q_len, MYF(MY_NABP | MY_WME));
|
||||
fputs(";\n", file);
|
||||
}
|
||||
@@ -1858,11 +1858,11 @@ void Start_log_event_v3::pack_info(Protocol *protocol)
|
||||
*/
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void Start_log_event_v3::print(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
void Start_log_event_v3::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
if (!last_event_info->short_form)
|
||||
if (!print_event_info->short_form)
|
||||
{
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
fprintf(file, "\tStart: binlog v %d, server v %s created ", binlog_version,
|
||||
server_version);
|
||||
print_timestamp(file);
|
||||
@@ -2586,19 +2586,19 @@ int Load_log_event::copy_log_event(const char *buf, ulong event_len,
|
||||
*/
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void Load_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
void Load_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
print(file, last_event_info, 0);
|
||||
print(file, print_event_info, 0);
|
||||
}
|
||||
|
||||
|
||||
void Load_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info,
|
||||
void Load_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info,
|
||||
bool commented)
|
||||
{
|
||||
DBUG_ENTER("Load_log_event::print");
|
||||
if (!last_event_info->short_form)
|
||||
if (!print_event_info->short_form)
|
||||
{
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
fprintf(file, "\tQuery\tthread_id=%ld\texec_time=%ld\n",
|
||||
thread_id, exec_time);
|
||||
}
|
||||
@@ -2612,9 +2612,9 @@ void Load_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info,
|
||||
But if commented, the "use" is going to be commented so we should not
|
||||
update the last_db.
|
||||
*/
|
||||
if ((different_db= memcmp(last_event_info->db, db, db_len + 1)) &&
|
||||
if ((different_db= memcmp(print_event_info->db, db, db_len + 1)) &&
|
||||
!commented)
|
||||
memcpy(last_event_info->db, db, db_len + 1);
|
||||
memcpy(print_event_info->db, db, db_len + 1);
|
||||
}
|
||||
|
||||
if (db && db[0] && different_db)
|
||||
@@ -3003,13 +3003,13 @@ void Rotate_log_event::pack_info(Protocol *protocol)
|
||||
*/
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void Rotate_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
void Rotate_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
char buf[22];
|
||||
|
||||
if (last_event_info->short_form)
|
||||
if (print_event_info->short_form)
|
||||
return;
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
fprintf(file, "\tRotate to ");
|
||||
if (new_log_ident)
|
||||
my_fwrite(file, (byte*) new_log_ident, (uint)ident_len,
|
||||
@@ -3205,15 +3205,15 @@ bool Intvar_log_event::write(IO_CACHE* file)
|
||||
*/
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void Intvar_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
void Intvar_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
char llbuff[22];
|
||||
const char *msg;
|
||||
LINT_INIT(msg);
|
||||
|
||||
if (!last_event_info->short_form)
|
||||
if (!print_event_info->short_form)
|
||||
{
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
fprintf(file, "\tIntvar\n");
|
||||
}
|
||||
|
||||
@@ -3294,12 +3294,12 @@ bool Rand_log_event::write(IO_CACHE* file)
|
||||
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void Rand_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
void Rand_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
char llbuff[22],llbuff2[22];
|
||||
if (!last_event_info->short_form)
|
||||
if (!print_event_info->short_form)
|
||||
{
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
fprintf(file, "\tRand\n");
|
||||
}
|
||||
fprintf(file, "SET @@RAND_SEED1=%s, @@RAND_SEED2=%s;\n",
|
||||
@@ -3364,14 +3364,14 @@ bool Xid_log_event::write(IO_CACHE* file)
|
||||
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void Xid_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
void Xid_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
if (!last_event_info->short_form)
|
||||
if (!print_event_info->short_form)
|
||||
{
|
||||
char buf[64];
|
||||
longlong10_to_str(xid, buf, 10);
|
||||
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
fprintf(file, "\tXid = %s\n", buf);
|
||||
fflush(file);
|
||||
}
|
||||
@@ -3562,11 +3562,11 @@ bool User_var_log_event::write(IO_CACHE* file)
|
||||
*/
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void User_var_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
void User_var_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
if (!last_event_info->short_form)
|
||||
if (!print_event_info->short_form)
|
||||
{
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
fprintf(file, "\tUser_var\n");
|
||||
}
|
||||
|
||||
@@ -3737,11 +3737,11 @@ 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, LAST_EVENT_INFO* last_event_info)
|
||||
void Unknown_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
if (last_event_info->short_form)
|
||||
if (print_event_info->short_form)
|
||||
return;
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
fputc('\n', file);
|
||||
fprintf(file, "# %s", "Unknown event\n");
|
||||
}
|
||||
@@ -3808,12 +3808,12 @@ Slave_log_event::~Slave_log_event()
|
||||
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void Slave_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
void Slave_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
char llbuff[22];
|
||||
if (last_event_info->short_form)
|
||||
if (print_event_info->short_form)
|
||||
return;
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
fputc('\n', file);
|
||||
fprintf(file, "\
|
||||
Slave: master_host: '%s' master_port: %d master_log: '%s' master_pos: %s\n",
|
||||
@@ -3893,12 +3893,12 @@ int Slave_log_event::exec_event(struct st_relay_log_info* rli)
|
||||
*/
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void Stop_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
void Stop_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
if (last_event_info->short_form)
|
||||
if (print_event_info->short_form)
|
||||
return;
|
||||
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
fprintf(file, "\tStop\n");
|
||||
fflush(file);
|
||||
}
|
||||
@@ -4072,19 +4072,19 @@ Create_file_log_event::Create_file_log_event(const char* buf, uint len,
|
||||
*/
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void Create_file_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info,
|
||||
void Create_file_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info,
|
||||
bool enable_local)
|
||||
{
|
||||
if (last_event_info->short_form)
|
||||
if (print_event_info->short_form)
|
||||
{
|
||||
if (enable_local && check_fname_outside_temp_buf())
|
||||
Load_log_event::print(file, last_event_info);
|
||||
Load_log_event::print(file, print_event_info);
|
||||
return;
|
||||
}
|
||||
|
||||
if (enable_local)
|
||||
{
|
||||
Load_log_event::print(file, last_event_info,
|
||||
Load_log_event::print(file, print_event_info,
|
||||
!check_fname_outside_temp_buf());
|
||||
/*
|
||||
That one is for "file_id: etc" below: in mysqlbinlog we want the #, in
|
||||
@@ -4097,9 +4097,9 @@ void Create_file_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info,
|
||||
}
|
||||
|
||||
|
||||
void Create_file_log_event::print(FILE* file, LAST_EVENT_INFO* last_event_info)
|
||||
void Create_file_log_event::print(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
print(file, last_event_info, 0);
|
||||
print(file, print_event_info, 0);
|
||||
}
|
||||
#endif /* MYSQL_CLIENT */
|
||||
|
||||
@@ -4260,11 +4260,11 @@ bool Append_block_log_event::write(IO_CACHE* file)
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void Append_block_log_event::print(FILE* file,
|
||||
LAST_EVENT_INFO* last_event_info)
|
||||
PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
if (last_event_info->short_form)
|
||||
if (print_event_info->short_form)
|
||||
return;
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
fputc('\n', file);
|
||||
fprintf(file, "#%s: file_id: %d block_len: %d\n",
|
||||
get_type_str(), file_id, block_len);
|
||||
@@ -4404,11 +4404,11 @@ bool Delete_file_log_event::write(IO_CACHE* file)
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void Delete_file_log_event::print(FILE* file,
|
||||
LAST_EVENT_INFO* last_event_info)
|
||||
PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
if (last_event_info->short_form)
|
||||
if (print_event_info->short_form)
|
||||
return;
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
fputc('\n', file);
|
||||
fprintf(file, "#Delete_file: file_id=%u\n", file_id);
|
||||
}
|
||||
@@ -4500,11 +4500,11 @@ bool Execute_load_log_event::write(IO_CACHE* file)
|
||||
|
||||
#ifdef MYSQL_CLIENT
|
||||
void Execute_load_log_event::print(FILE* file,
|
||||
LAST_EVENT_INFO* last_event_info)
|
||||
PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
if (last_event_info->short_form)
|
||||
if (print_event_info->short_form)
|
||||
return;
|
||||
print_header(file, last_event_info);
|
||||
print_header(file, print_event_info);
|
||||
fputc('\n', file);
|
||||
fprintf(file, "#Exec_load: file_id=%d\n",
|
||||
file_id);
|
||||
@@ -4712,17 +4712,17 @@ 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,
|
||||
LAST_EVENT_INFO* last_event_info)
|
||||
PRINT_EVENT_INFO* print_event_info)
|
||||
{
|
||||
print(file, last_event_info, 0);
|
||||
print(file, print_event_info, 0);
|
||||
}
|
||||
|
||||
|
||||
void Execute_load_query_log_event::print(FILE* file,
|
||||
LAST_EVENT_INFO* last_event_info,
|
||||
PRINT_EVENT_INFO* print_event_info,
|
||||
const char *local_fname)
|
||||
{
|
||||
print_query_header(file, last_event_info);
|
||||
print_query_header(file, print_event_info);
|
||||
|
||||
if (local_fname)
|
||||
{
|
||||
@@ -4743,7 +4743,7 @@ void Execute_load_query_log_event::print(FILE* file,
|
||||
fprintf(file, ";\n");
|
||||
}
|
||||
|
||||
if (!last_event_info->short_form)
|
||||
if (!print_event_info->short_form)
|
||||
fprintf(file, "# file_id: %d \n", file_id);
|
||||
}
|
||||
#endif
|
||||
|
@@ -453,16 +453,21 @@ struct st_relay_log_info;
|
||||
/*
|
||||
A structure for mysqlbinlog to know how to print events
|
||||
|
||||
This structure is passed to the event's print() methods so that only
|
||||
the necessary USE and SET commands are printed. Last db, flags2,
|
||||
sql_mode etc are stored here.
|
||||
This structure is passed to the event's print() methods,
|
||||
|
||||
The structure also contain other information on how to print the
|
||||
events, e.g. short_form, hexdump_from.
|
||||
There are two types of settings stored here:
|
||||
1. Last db, flags2, sql_mode etc comes from the last printed event.
|
||||
They are stored so that only the necessary USE and SET commands
|
||||
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 ??
|
||||
char db[FN_REFLEN+1]; // TODO: make this a LEX_STRING when thd->db is
|
||||
bool flags2_inited;
|
||||
@@ -473,12 +478,12 @@ typedef struct st_last_event_info
|
||||
bool charset_inited;
|
||||
char charset[6]; // 3 variables, each of them storable in 2 bytes
|
||||
char time_zone_str[MAX_TIME_ZONE_NAME_LENGTH];
|
||||
st_last_event_info()
|
||||
st_print_event_info()
|
||||
:flags2_inited(0), sql_mode_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
|
||||
creates dynamic instances.
|
||||
*/
|
||||
@@ -492,7 +497,7 @@ typedef struct st_last_event_info
|
||||
my_off_t hexdump_from;
|
||||
uint8 common_header_len;
|
||||
|
||||
} LAST_EVENT_INFO;
|
||||
} PRINT_EVENT_INFO;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -601,9 +606,9 @@ public:
|
||||
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, 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_header(FILE* file, LAST_EVENT_INFO* last_event_info= 0);
|
||||
void print_header(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
|
||||
#endif
|
||||
|
||||
static void *operator new(size_t size)
|
||||
@@ -763,8 +768,8 @@ public:
|
||||
uint32 q_len_arg);
|
||||
#endif /* HAVE_REPLICATION */
|
||||
#else
|
||||
void print_query_header(FILE* file, LAST_EVENT_INFO* last_event_info= 0);
|
||||
void print(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, PRINT_EVENT_INFO* print_event_info= 0);
|
||||
#endif
|
||||
|
||||
Query_log_event(const char* buf, uint event_len,
|
||||
@@ -818,7 +823,7 @@ public:
|
||||
void pack_info(Protocol* protocol);
|
||||
int exec_event(struct st_relay_log_info* rli);
|
||||
#else
|
||||
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0);
|
||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
|
||||
#endif
|
||||
|
||||
Slave_log_event(const char* buf, uint event_len);
|
||||
@@ -906,8 +911,8 @@ public:
|
||||
bool use_rli_only_for_errors);
|
||||
#endif /* HAVE_REPLICATION */
|
||||
#else
|
||||
void print(FILE* file, LAST_EVENT_INFO* last_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 = 0);
|
||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info, bool commented);
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -996,7 +1001,7 @@ public:
|
||||
#endif /* HAVE_REPLICATION */
|
||||
#else
|
||||
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
|
||||
|
||||
Start_log_event_v3(const char* buf,
|
||||
@@ -1091,7 +1096,7 @@ public:
|
||||
int exec_event(struct st_relay_log_info* rli);
|
||||
#endif /* HAVE_REPLICATION */
|
||||
#else
|
||||
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0);
|
||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
|
||||
#endif
|
||||
|
||||
Intvar_log_event(const char* buf, const Format_description_log_event* description_event);
|
||||
@@ -1132,7 +1137,7 @@ class Rand_log_event: public Log_event
|
||||
int exec_event(struct st_relay_log_info* rli);
|
||||
#endif /* HAVE_REPLICATION */
|
||||
#else
|
||||
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0);
|
||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
|
||||
#endif
|
||||
|
||||
Rand_log_event(const char* buf, const Format_description_log_event* description_event);
|
||||
@@ -1169,7 +1174,7 @@ class Xid_log_event: public Log_event
|
||||
int exec_event(struct st_relay_log_info* rli);
|
||||
#endif /* HAVE_REPLICATION */
|
||||
#else
|
||||
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0);
|
||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
|
||||
#endif
|
||||
|
||||
Xid_log_event(const char* buf, const Format_description_log_event* description_event);
|
||||
@@ -1211,7 +1216,7 @@ public:
|
||||
void pack_info(Protocol* protocol);
|
||||
int exec_event(struct st_relay_log_info* rli);
|
||||
#else
|
||||
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0);
|
||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
|
||||
#endif
|
||||
|
||||
User_var_log_event(const char* buf, const Format_description_log_event* description_event);
|
||||
@@ -1237,7 +1242,7 @@ public:
|
||||
{}
|
||||
int exec_event(struct st_relay_log_info* rli);
|
||||
#else
|
||||
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0);
|
||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
|
||||
#endif
|
||||
|
||||
Stop_log_event(const char* buf, const Format_description_log_event* description_event):
|
||||
@@ -1276,7 +1281,7 @@ public:
|
||||
int exec_event(struct st_relay_log_info* rli);
|
||||
#endif /* HAVE_REPLICATION */
|
||||
#else
|
||||
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0);
|
||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
|
||||
#endif
|
||||
|
||||
Rotate_log_event(const char* buf, uint event_len,
|
||||
@@ -1329,8 +1334,8 @@ public:
|
||||
int exec_event(struct st_relay_log_info* rli);
|
||||
#endif /* HAVE_REPLICATION */
|
||||
#else
|
||||
void print(FILE* file, LAST_EVENT_INFO* last_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= 0);
|
||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info, bool enable_local);
|
||||
#endif
|
||||
|
||||
Create_file_log_event(const char* buf, uint event_len,
|
||||
@@ -1397,7 +1402,7 @@ public:
|
||||
virtual int get_create_or_append() const;
|
||||
#endif /* HAVE_REPLICATION */
|
||||
#else
|
||||
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0);
|
||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
|
||||
#endif
|
||||
|
||||
Append_block_log_event(const char* buf, uint event_len,
|
||||
@@ -1432,8 +1437,8 @@ public:
|
||||
int exec_event(struct st_relay_log_info* rli);
|
||||
#endif /* HAVE_REPLICATION */
|
||||
#else
|
||||
void print(FILE* file, LAST_EVENT_INFO* last_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= 0);
|
||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info, bool enable_local);
|
||||
#endif
|
||||
|
||||
Delete_file_log_event(const char* buf, uint event_len,
|
||||
@@ -1468,7 +1473,7 @@ public:
|
||||
int exec_event(struct st_relay_log_info* rli);
|
||||
#endif /* HAVE_REPLICATION */
|
||||
#else
|
||||
void print(FILE* file, LAST_EVENT_INFO* last_event_info= 0);
|
||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info= 0);
|
||||
#endif
|
||||
|
||||
Execute_load_log_event(const char* buf, uint event_len,
|
||||
@@ -1553,9 +1558,9 @@ public:
|
||||
int exec_event(struct st_relay_log_info* rli);
|
||||
#endif /* HAVE_REPLICATION */
|
||||
#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 */
|
||||
void print(FILE* file, LAST_EVENT_INFO* last_event_info,
|
||||
void print(FILE* file, PRINT_EVENT_INFO* print_event_info,
|
||||
const char *local_fname);
|
||||
#endif
|
||||
Execute_load_query_log_event(const char* buf, uint event_len,
|
||||
@@ -1585,7 +1590,7 @@ public:
|
||||
Log_event(buf, description_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;}
|
||||
bool is_valid() const { return 1; }
|
||||
};
|
||||
|
Reference in New Issue
Block a user