mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Backport MySQL WL#2540 into MariaDB.
Patch backported: bzr diff '-rrevid:alfranio.correia@oracle.com-20101121143257-se3vpqus73l4mum0 ..revid:luis.soares@oracle.com-20101124111752-9b8260bd1qak87hr' --old=lp:mysql-server --new=lp:mysql-server
This commit is contained in:
@ -83,6 +83,7 @@ static const char* database= 0;
|
||||
static my_bool force_opt= 0, short_form= 0, remote_opt= 0;
|
||||
static my_bool debug_info_flag, debug_check_flag;
|
||||
static my_bool force_if_open_opt= 1;
|
||||
static my_bool opt_verify_binlog_checksum= 1;
|
||||
static ulonglong offset = 0;
|
||||
static const char* host = 0;
|
||||
static int port= 0;
|
||||
@ -163,7 +164,8 @@ Log_event* read_remote_annotate_event(uchar* net_buf, ulong event_len,
|
||||
event_buf[event_len]= 0;
|
||||
|
||||
if (!(event= Log_event::read_log_event((const char*) event_buf, event_len,
|
||||
error_msg, glob_description_event)))
|
||||
error_msg, glob_description_event,
|
||||
opt_verify_binlog_checksum)))
|
||||
{
|
||||
my_free(event_buf, MYF(0));
|
||||
return 0;
|
||||
@ -1310,6 +1312,9 @@ that may lead to an endless loop.",
|
||||
"Used to reserve file descriptors for use by this program.",
|
||||
&open_files_limit, &open_files_limit, 0, GET_ULONG,
|
||||
REQUIRED_ARG, MY_NFILE, 8, OS_FILE_LIMIT, 0, 1, 0},
|
||||
{"verify-binlog-checksum", 'c', "Verify checksum binlog events.",
|
||||
(uchar**) &opt_verify_binlog_checksum, (uchar**) &opt_verify_binlog_checksum,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"rewrite-db", OPT_REWRITE_DB,
|
||||
"Updates to a database with a different name than the original. \
|
||||
Example: rewrite-db='from->to'.",
|
||||
@ -1708,7 +1713,18 @@ static Exit_status check_master_version()
|
||||
"Master reported NULL for the version.");
|
||||
goto err;
|
||||
}
|
||||
|
||||
/*
|
||||
Make a notice to the server that this client
|
||||
is checksum-aware. It does not need the first fake Rotate
|
||||
necessary checksummed.
|
||||
That preference is specified below.
|
||||
*/
|
||||
if (mysql_query(mysql, "SET @master_binlog_checksum='NONE'"))
|
||||
{
|
||||
error("Could not notify master about checksum awareness."
|
||||
"Master returned '%s'", mysql_error(mysql));
|
||||
goto err;
|
||||
}
|
||||
delete glob_description_event;
|
||||
switch (*version) {
|
||||
case '3':
|
||||
@ -1837,7 +1853,8 @@ static Exit_status dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info,
|
||||
{
|
||||
if (!(ev= Log_event::read_log_event((const char*) net->read_pos + 1 ,
|
||||
len - 1, &error_msg,
|
||||
glob_description_event)))
|
||||
glob_description_event,
|
||||
opt_verify_binlog_checksum)))
|
||||
{
|
||||
error("Could not construct log event object: %s", error_msg);
|
||||
DBUG_RETURN(ERROR_STOP);
|
||||
@ -2065,7 +2082,8 @@ static Exit_status check_header(IO_CACHE* file,
|
||||
Format_description_log_event *new_description_event;
|
||||
my_b_seek(file, tmp_pos); /* seek back to event's start */
|
||||
if (!(new_description_event= (Format_description_log_event*)
|
||||
Log_event::read_log_event(file, glob_description_event)))
|
||||
Log_event::read_log_event(file, glob_description_event,
|
||||
opt_verify_binlog_checksum)))
|
||||
/* EOF can't be hit here normally, so it's a real error */
|
||||
{
|
||||
error("Could not read a Format_description_log_event event at "
|
||||
@ -2098,7 +2116,8 @@ static Exit_status check_header(IO_CACHE* file,
|
||||
{
|
||||
Log_event *ev;
|
||||
my_b_seek(file, tmp_pos); /* seek back to event's start */
|
||||
if (!(ev= Log_event::read_log_event(file, glob_description_event)))
|
||||
if (!(ev= Log_event::read_log_event(file, glob_description_event,
|
||||
opt_verify_binlog_checksum)))
|
||||
{
|
||||
/* EOF can't be hit here normally, so it's a real error */
|
||||
error("Could not read a Rotate_log_event event at offset %llu;"
|
||||
@ -2211,7 +2230,8 @@ static Exit_status dump_local_log_entries(PRINT_EVENT_INFO *print_event_info,
|
||||
char llbuff[21];
|
||||
my_off_t old_off = my_b_tell(file);
|
||||
|
||||
Log_event* ev = Log_event::read_log_event(file, glob_description_event);
|
||||
Log_event* ev = Log_event::read_log_event(file, glob_description_event,
|
||||
opt_verify_binlog_checksum);
|
||||
if (!ev)
|
||||
{
|
||||
/*
|
||||
@ -2390,4 +2410,4 @@ void *sql_alloc(size_t size)
|
||||
#include "sql_string.cc"
|
||||
#include "sql_list.cc"
|
||||
#include "rpl_filter.cc"
|
||||
|
||||
#include "rpl_utility.cc"
|
||||
|
Reference in New Issue
Block a user