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
9cf687a5
Commit
9cf687a5
authored
Jul 01, 2003
by
monty@mashka.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mashka.mysql.fi:/home/my/mysql-4.0
parents
7b34e1c3
c34eec51
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
54 deletions
+8
-54
client/mysqlbinlog.cc
client/mysqlbinlog.cc
+8
-54
No files found.
client/mysqlbinlog.cc
View file @
9cf687a5
...
@@ -55,13 +55,11 @@ static ulonglong position = 0;
...
@@ -55,13 +55,11 @@ static ulonglong position = 0;
static
bool
use_remote
=
0
;
static
bool
use_remote
=
0
;
static
short
binlog_flags
=
0
;
static
short
binlog_flags
=
0
;
static
MYSQL
*
mysql
=
NULL
;
static
MYSQL
*
mysql
=
NULL
;
static
const
char
*
table
=
0
;
static
void
dump_local_log_entries
(
const
char
*
logname
);
static
void
dump_local_log_entries
(
const
char
*
logname
);
static
void
dump_remote_log_entries
(
const
char
*
logname
);
static
void
dump_remote_log_entries
(
const
char
*
logname
);
static
void
dump_log_entries
(
const
char
*
logname
);
static
void
dump_log_entries
(
const
char
*
logname
);
static
void
dump_remote_file
(
NET
*
net
,
const
char
*
fname
);
static
void
dump_remote_file
(
NET
*
net
,
const
char
*
fname
);
static
void
dump_remote_table
(
NET
*
net
,
const
char
*
db
,
const
char
*
table
);
static
void
die
(
const
char
*
fmt
,
...);
static
void
die
(
const
char
*
fmt
,
...);
static
MYSQL
*
safe_connect
();
static
MYSQL
*
safe_connect
();
...
@@ -96,8 +94,6 @@ static struct my_option my_long_options[] =
...
@@ -96,8 +94,6 @@ static struct my_option my_long_options[] =
{
"short-form"
,
's'
,
"Just show the queries, no extra info"
,
{
"short-form"
,
's'
,
"Just show the queries, no extra info"
,
(
gptr
*
)
&
short_form
,
(
gptr
*
)
&
short_form
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
(
gptr
*
)
&
short_form
,
(
gptr
*
)
&
short_form
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
0
},
{
"table"
,
't'
,
"Get raw table dump using COM_TABLE_DUMB"
,
(
gptr
*
)
&
table
,
(
gptr
*
)
&
table
,
0
,
GET_STR_ALLOC
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"user"
,
'u'
,
"Connect to the remote server as username"
,
{
"user"
,
'u'
,
"Connect to the remote server as username"
,
(
gptr
*
)
&
user
,
(
gptr
*
)
&
user
,
0
,
GET_STR_ALLOC
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
(
gptr
*
)
&
user
,
(
gptr
*
)
&
user
,
0
,
GET_STR_ALLOC
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
0
},
...
@@ -252,35 +248,6 @@ static void dump_log_entries(const char* logname)
...
@@ -252,35 +248,6 @@ static void dump_log_entries(const char* logname)
dump_local_log_entries
(
logname
);
dump_local_log_entries
(
logname
);
}
}
static
void
dump_remote_table
(
NET
*
net
,
const
char
*
db
,
const
char
*
table
)
{
char
buf
[
1024
];
char
*
p
=
buf
;
uint
table_len
=
(
uint
)
strlen
(
table
);
uint
db_len
=
(
uint
)
strlen
(
db
);
if
(
table_len
+
db_len
>
sizeof
(
buf
)
-
2
)
die
(
"Buffer overrun"
);
*
p
++
=
db_len
;
memcpy
(
p
,
db
,
db_len
);
p
+=
db_len
;
*
p
++
=
table_len
;
memcpy
(
p
,
table
,
table_len
);
if
(
simple_command
(
mysql
,
COM_TABLE_DUMP
,
buf
,
p
-
buf
+
table_len
,
1
))
die
(
"Error sending the table dump command"
);
for
(;;)
{
uint
packet_len
=
my_net_read
(
net
);
if
(
packet_len
==
0
)
break
;
// end of file
if
(
packet_len
==
packet_error
)
die
(
"Error reading packet in table dump"
);
my_fwrite
(
result_file
,
(
byte
*
)
net
->
read_pos
,
packet_len
,
MYF
(
MY_WME
));
fflush
(
result_file
);
}
}
static
int
check_master_version
(
MYSQL
*
mysql
)
static
int
check_master_version
(
MYSQL
*
mysql
)
{
{
MYSQL_RES
*
res
=
0
;
MYSQL_RES
*
res
=
0
;
...
@@ -379,7 +346,7 @@ static void dump_remote_log_entries(const char* logname)
...
@@ -379,7 +346,7 @@ static void dump_remote_log_entries(const char* logname)
}
}
static
int
check_header
(
IO_CACHE
*
file
)
static
int
check_header
(
IO_CACHE
*
file
,
const
char
*
fname
)
{
{
byte
header
[
BIN_LOG_HEADER_SIZE
];
byte
header
[
BIN_LOG_HEADER_SIZE
];
byte
buf
[
PROBE_HEADER_LEN
];
byte
buf
[
PROBE_HEADER_LEN
];
...
@@ -390,7 +357,7 @@ static int check_header(IO_CACHE* file)
...
@@ -390,7 +357,7 @@ static int check_header(IO_CACHE* file)
if
(
my_b_read
(
file
,
header
,
sizeof
(
header
)))
if
(
my_b_read
(
file
,
header
,
sizeof
(
header
)))
die
(
"Failed reading header; Probably an empty file"
);
die
(
"Failed reading header; Probably an empty file"
);
if
(
memcmp
(
header
,
BINLOG_MAGIC
,
sizeof
(
header
)))
if
(
memcmp
(
header
,
BINLOG_MAGIC
,
sizeof
(
header
)))
die
(
"File
is not a binary log file"
);
die
(
"File
%s is not a binary log file"
,
fname
);
if
(
!
my_b_read
(
file
,
buf
,
sizeof
(
buf
)))
if
(
!
my_b_read
(
file
,
buf
,
sizeof
(
buf
)))
{
{
if
(
buf
[
4
]
==
START_EVENT
)
if
(
buf
[
4
]
==
START_EVENT
)
...
@@ -423,14 +390,14 @@ static void dump_local_log_entries(const char* logname)
...
@@ -423,14 +390,14 @@ static void dump_local_log_entries(const char* logname)
if
(
init_io_cache
(
file
,
fd
,
0
,
READ_CACHE
,
(
my_off_t
)
position
,
0
,
if
(
init_io_cache
(
file
,
fd
,
0
,
READ_CACHE
,
(
my_off_t
)
position
,
0
,
MYF
(
MY_WME
|
MY_NABP
)))
MYF
(
MY_WME
|
MY_NABP
)))
exit
(
1
);
exit
(
1
);
old_format
=
check_header
(
file
);
old_format
=
check_header
(
file
,
logname
);
}
}
else
else
{
{
if
(
init_io_cache
(
file
,
fileno
(
result_file
),
0
,
READ_CACHE
,
(
my_off_t
)
0
,
if
(
init_io_cache
(
file
,
fileno
(
result_file
),
0
,
READ_CACHE
,
(
my_off_t
)
0
,
0
,
MYF
(
MY_WME
|
MY_NABP
|
MY_DONT_CHECK_FILESIZE
)))
0
,
MYF
(
MY_WME
|
MY_NABP
|
MY_DONT_CHECK_FILESIZE
)))
exit
(
1
);
exit
(
1
);
old_format
=
check_header
(
file
);
old_format
=
check_header
(
file
,
""
);
if
(
position
)
if
(
position
)
{
{
/* skip 'position' characters from stdout */
/* skip 'position' characters from stdout */
...
@@ -516,7 +483,7 @@ int main(int argc, char** argv)
...
@@ -516,7 +483,7 @@ int main(int argc, char** argv)
MY_INIT
(
argv
[
0
]);
MY_INIT
(
argv
[
0
]);
parse_args
(
&
argc
,
(
char
***
)
&
argv
);
parse_args
(
&
argc
,
(
char
***
)
&
argv
);
if
(
!
argc
&&
!
table
)
if
(
!
argc
)
{
{
usage
();
usage
();
return
-
1
;
return
-
1
;
...
@@ -525,22 +492,9 @@ int main(int argc, char** argv)
...
@@ -525,22 +492,9 @@ int main(int argc, char** argv)
if
(
use_remote
)
if
(
use_remote
)
mysql
=
safe_connect
();
mysql
=
safe_connect
();
if
(
table
)
{
if
(
!
use_remote
)
die
(
"You must specify connection parameter to get table dump"
);
char
*
db
=
(
char
*
)
table
;
char
*
tbl
=
(
char
*
)
strchr
(
table
,
'.'
);
if
(
!
tbl
)
die
(
"You must use database.table syntax to specify the table"
);
*
tbl
++
=
0
;
dump_remote_table
(
&
mysql
->
net
,
db
,
tbl
);
}
else
{
while
(
--
argc
>=
0
)
while
(
--
argc
>=
0
)
dump_log_entries
(
*
(
argv
++
));
dump_log_entries
(
*
(
argv
++
));
}
if
(
result_file
!=
stdout
)
if
(
result_file
!=
stdout
)
my_fclose
(
result_file
,
MYF
(
0
));
my_fclose
(
result_file
,
MYF
(
0
));
if
(
use_remote
)
if
(
use_remote
)
...
...
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