Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
b2f976f2
Commit
b2f976f2
authored
Sep 29, 2005
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mysqlbinlog --hexdump augments each log entry with byte information
parent
d5c647f2
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
163 additions
and
70 deletions
+163
-70
client/mysqlbinlog.cc
client/mysqlbinlog.cc
+20
-10
sql/log_event.cc
sql/log_event.cc
+98
-36
sql/log_event.h
sql/log_event.h
+45
-24
No files found.
client/mysqlbinlog.cc
View file @
b2f976f2
...
...
@@ -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 */
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
:
{
...
...
@@ -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,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
,
...
...
@@ -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
)
{
...
...
sql/log_event.cc
View file @
b2f976f2
This diff is collapsed.
Click to expand it.
sql/log_event.h
View file @
b2f976f2
...
...
@@ -589,9 +589,10 @@ 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
,
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
)
...
...
@@ -751,8 +752,11 @@ public:
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
,
...
...
@@ -806,7 +810,8 @@ public:
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
);
...
...
@@ -894,8 +899,10 @@ public:
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
/*
...
...
@@ -984,7 +991,8 @@ public:
#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
,
...
...
@@ -1079,7 +1087,8 @@ public:
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
);
...
...
@@ -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
);
...
...
@@ -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
);
...
...
@@ -1199,7 +1210,8 @@ public:
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
);
...
...
@@ -1225,7 +1237,8 @@ public:
{}
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
)
:
...
...
@@ -1264,7 +1277,8 @@ public:
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
,
...
...
@@ -1317,8 +1331,10 @@ public:
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
,
...
...
@@ -1385,7 +1401,8 @@ public:
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
,
...
...
@@ -1420,8 +1437,10 @@ public:
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
,
...
...
@@ -1456,7 +1475,8 @@ public:
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
,
...
...
@@ -1541,11 +1561,11 @@ public:
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
);
...
...
@@ -1574,7 +1594,8 @@ public:
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
;
}
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment