summaryrefslogtreecommitdiff
path: root/client/mysqlbinlog.cc
diff options
context:
space:
mode:
authorunknown <lars@mysql.com>2005-10-11 21:46:40 +0200
committerunknown <lars@mysql.com>2005-10-11 21:46:40 +0200
commit65ef59d978c76b2495d65c832bf2331d8b54bb88 (patch)
tree5d755615011938961d024da3dda7806634c4c9d1 /client/mysqlbinlog.cc
parentefd15a58836bbdb4f73edff6a5bb20721d803c1c (diff)
parent374deedd859d1fae898b668a7442850cb9ac6d33 (diff)
downloadmariadb-git-65ef59d978c76b2495d65c832bf2331d8b54bb88.tar.gz
Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0
into mysql.com:/users/lthalmann/bk/mysql-5.0-hexdump client/mysqlbinlog.cc: Auto merged
Diffstat (limited to 'client/mysqlbinlog.cc')
-rw-r--r--client/mysqlbinlog.cc28
1 files changed, 18 insertions, 10 deletions
diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc
index 5345d6d0f54..7ae563c7209 100644
--- a/client/mysqlbinlog.cc
+++ b/client/mysqlbinlog.cc
@@ -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;
@@ -522,12 +523,15 @@ 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 */
+ if (!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:
{
@@ -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)
{
@@ -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);
/*
@@ -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;
}
@@ -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
@@ -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:
@@ -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
@@ -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);
}
}
@@ -669,6 +674,9 @@ 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 event dump.",
+ (gptr*) &opt_hexdump, (gptr*) &opt_hexdump, 0, GET_BOOL, 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,