mysqlbinlog now prints "# Number of rows" and stops on errors

Main problem was that no log-event print function checked for disk
full error on the IO_CACHE.
All changes in this patch only affects mysqlbinlog, not the server!

- Changed all log-event print functions to return 1 on error
- Fixed memory usage when not using --flashback.
- Added printing of number of rows in row events. Can be disabled with
  --print-row-count=0
- Print annotated rows when using mysqlbinlog --short-form
- Fixed that mysqlbinlog --debug works
- Fixed create_drop_binlog.test test failure
- Reorganized fields in PRINT_EVENT_INFO to be according to size to
  optimize storage
- Don't change print_row_event_position or print_row_counts if set by user
- Remove some testing of argument to my_free is 0
- base64-output=never is now supported and works in all context
- Updated help information for --base64-output and --short-form
- print_row_count is now on by default. Reset automatically if --short-form
  is used
- Removed obsolote warning for mysql 5.6.0
- More DBUG_PRINT for mysqltest.cc
- my_b_write_byte() now checks for flush failures. This fixed a memory
  overrun on disk full
- my_b_printf() now returns 1 on failure, 0 on ok.  This simplifies code
  and no old code was using the old return value of my_b_printf().
- my_b_Write_backtick_quote() now returns 1 on failure and 0 on ok
- Fixed some error conditions in log printing that was not previously
  handled.
- Slave_rows_error_report() can now handle longlong positions
- Write_on_release_cache() rewritten so that we can detect errors
  on flush. Not depending on automatic release anymore.
- Changed types for Pos and End_log_pos to 64 bit in SHOW BINLOG EVENTS
- Fixed that copy_event_cache_to_string_and_reinit() works with strings
  longer than 4G (Changed to use LEX_STRING instead of String)
- Restricted binlog_rows_event_max_size to UINT32_MAX-1 as String's are
  anyway restricted to UINT32_MAX
- Fixed bug in rpl_binlog_state::write_to_iocache() which hide write
  failures (duplicate variable name)
- Fixed bug in String::append if original string was not allocated
- Stop mysqlbinlog output at once if there is an error.
- Before printing error message, flush result file. This ensures that
  the error message is printed last. (Easier to find)
This commit is contained in:
Monty 2017-12-23 16:59:41 +02:00
parent 40f4525f43
commit e64184134a
34 changed files with 1778 additions and 863 deletions

View File

@ -98,6 +98,7 @@ enum options_client
OPT_REPORT_PROGRESS, OPT_REPORT_PROGRESS,
OPT_SKIP_ANNOTATE_ROWS_EVENTS, OPT_SKIP_ANNOTATE_ROWS_EVENTS,
OPT_SSL_CRL, OPT_SSL_CRLPATH, OPT_SSL_CRL, OPT_SSL_CRLPATH,
OPT_PRINT_ROW_COUNT, OPT_PRINT_ROW_EVENT_POSITIONS,
OPT_MAX_CLIENT_OPTION /* should be always the last */ OPT_MAX_CLIENT_OPTION /* should be always the last */
}; };

View File

@ -87,6 +87,7 @@ static const char *output_prefix= "";
#ifndef DBUG_OFF #ifndef DBUG_OFF
static const char *default_dbug_option = "d:t:o,/tmp/mysqlbinlog.trace"; static const char *default_dbug_option = "d:t:o,/tmp/mysqlbinlog.trace";
const char *current_dbug_option= default_dbug_option;
#endif #endif
static const char *load_groups[]= static const char *load_groups[]=
{ "mysqlbinlog", "client", "client-server", "client-mariadb", 0 }; { "mysqlbinlog", "client", "client-server", "client-mariadb", 0 };
@ -106,6 +107,8 @@ static char *opt_base64_output_mode_str= NullS;
static char* database= 0; static char* database= 0;
static char* table= 0; static char* table= 0;
static my_bool force_opt= 0, short_form= 0, remote_opt= 0; static my_bool force_opt= 0, short_form= 0, remote_opt= 0;
static my_bool print_row_count= 0, print_row_event_positions= 0;
static my_bool print_row_count_used= 0, print_row_event_positions_used= 0;
static my_bool debug_info_flag, debug_check_flag; static my_bool debug_info_flag, debug_check_flag;
static my_bool force_if_open_opt= 1; static my_bool force_if_open_opt= 1;
static my_bool opt_raw_mode= 0, opt_stop_never= 0; static my_bool opt_raw_mode= 0, opt_stop_never= 0;
@ -221,14 +224,16 @@ void keep_annotate_event(Annotate_rows_log_event* event)
annotate_event= event; annotate_event= event;
} }
void print_annotate_event(PRINT_EVENT_INFO *print_event_info) bool print_annotate_event(PRINT_EVENT_INFO *print_event_info)
{ {
bool error= 0;
if (annotate_event) if (annotate_event)
{ {
annotate_event->print(result_file, print_event_info); error= annotate_event->print(result_file, print_event_info);
delete annotate_event; // the event should not be printed more than once delete annotate_event; // the event should not be printed more than once
annotate_event= 0; annotate_event= 0;
} }
return error;
} }
static Exit_status dump_local_log_entries(PRINT_EVENT_INFO *, const char*); static Exit_status dump_local_log_entries(PRINT_EVENT_INFO *, const char*);
@ -792,7 +797,7 @@ print_use_stmt(PRINT_EVENT_INFO* pinfo, const Query_log_event *ev)
static void static void
print_skip_replication_statement(PRINT_EVENT_INFO *pinfo, const Log_event *ev) print_skip_replication_statement(PRINT_EVENT_INFO *pinfo, const Log_event *ev)
{ {
int cur_val; bool cur_val;
cur_val= (ev->flags & LOG_EVENT_SKIP_REPLICATION_F) != 0; cur_val= (ev->flags & LOG_EVENT_SKIP_REPLICATION_F) != 0;
if (cur_val == pinfo->skip_replication) if (cur_val == pinfo->skip_replication)
@ -844,8 +849,9 @@ write_event_header_and_base64(Log_event *ev, FILE *result_file,
DBUG_ENTER("write_event_header_and_base64"); DBUG_ENTER("write_event_header_and_base64");
/* Write header and base64 output to cache */ /* Write header and base64 output to cache */
ev->print_header(head, print_event_info, FALSE); if (ev->print_header(head, print_event_info, FALSE) ||
ev->print_base64(body, print_event_info, FALSE); ev->print_base64(body, print_event_info, FALSE))
DBUG_RETURN(ERROR_STOP);
/* Read data from cache and write to result file */ /* Read data from cache and write to result file */
if (copy_event_cache_to_file_and_reinit(head, result_file) || if (copy_event_cache_to_file_and_reinit(head, result_file) ||
@ -867,24 +873,20 @@ static bool print_base64(PRINT_EVENT_INFO *print_event_info, Log_event *ev)
passed --short-form, because --short-form disables printing passed --short-form, because --short-form disables printing
row events. row events.
*/ */
if (!print_event_info->printed_fd_event && !short_form && if (!print_event_info->printed_fd_event && !short_form &&
opt_base64_output_mode != BASE64_OUTPUT_DECODE_ROWS) opt_base64_output_mode != BASE64_OUTPUT_DECODE_ROWS &&
opt_base64_output_mode != BASE64_OUTPUT_NEVER)
{ {
const char* type_str= ev->get_type_str(); const char* type_str= ev->get_type_str();
if (opt_base64_output_mode == BASE64_OUTPUT_NEVER)
error("--base64-output=never specified, but binlog contains a "
"%s event which must be printed in base64.",
type_str);
else
error("malformed binlog: it does not contain any " error("malformed binlog: it does not contain any "
"Format_description_log_event. I now found a %s event, which " "Format_description_log_event. Found a %s event, which "
"is not safe to process without a " "is not safe to process without a "
"Format_description_log_event.", "Format_description_log_event.",
type_str); type_str);
return 1; return 1;
} }
ev->print(result_file, print_event_info); return ev->print(result_file, print_event_info);
return print_event_info->head_cache.error == -1;
} }
@ -894,6 +896,8 @@ static bool print_row_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
Table_map_log_event *ignored_map= Table_map_log_event *ignored_map=
print_event_info->m_table_map_ignored.get_table(table_id); print_event_info->m_table_map_ignored.get_table(table_id);
bool skip_event= (ignored_map != NULL); bool skip_event= (ignored_map != NULL);
char ll_buff[21];
bool result= 0;
if (opt_flashback) if (opt_flashback)
{ {
@ -966,19 +970,18 @@ static bool print_row_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
return 0; return 0;
if (!opt_flashback) if (!opt_flashback)
return print_base64(print_event_info, ev); result= print_base64(print_event_info, ev);
else else
{ {
if (is_stmt_end) if (is_stmt_end)
{ {
bool res= false;
Log_event *e= NULL; Log_event *e= NULL;
// Print the row_event from the last one to the first one // Print the row_event from the last one to the first one
for (uint i= events_in_stmt.elements; i > 0; --i) for (uint i= events_in_stmt.elements; i > 0; --i)
{ {
e= *(dynamic_element(&events_in_stmt, i - 1, Log_event**)); e= *(dynamic_element(&events_in_stmt, i - 1, Log_event**));
res= res || print_base64(print_event_info, e); result= result || print_base64(print_event_info, e);
} }
// Copy all output into the Log_event // Copy all output into the Log_event
ev->output_buf.copy(e->output_buf); ev->output_buf.copy(e->output_buf);
@ -989,12 +992,17 @@ static bool print_row_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
delete e; delete e;
} }
reset_dynamic(&events_in_stmt); reset_dynamic(&events_in_stmt);
return res;
} }
} }
return 0; if (is_stmt_end && !result)
{
if (print_event_info->print_row_count)
fprintf(result_file, "# Number of rows: %s\n",
llstr(print_event_info->row_events, ll_buff));
print_event_info->row_events= 0;
}
return result;
} }
@ -1025,7 +1033,6 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
Log_event_type ev_type= ev->get_type_code(); Log_event_type ev_type= ev->get_type_code();
my_bool destroy_evt= TRUE; my_bool destroy_evt= TRUE;
DBUG_ENTER("process_event"); DBUG_ENTER("process_event");
print_event_info->short_form= short_form;
Exit_status retval= OK_CONTINUE; Exit_status retval= OK_CONTINUE;
IO_CACHE *const head= &print_event_info->head_cache; IO_CACHE *const head= &print_event_info->head_cache;
@ -1071,7 +1078,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
retval= OK_STOP; retval= OK_STOP;
goto end; goto end;
} }
if (!short_form && !opt_flashback) if (print_row_event_positions)
fprintf(result_file, "# at %s\n",llstr(pos,ll_buff)); fprintf(result_file, "# at %s\n",llstr(pos,ll_buff));
if (!opt_hexdump) if (!opt_hexdump)
@ -1112,7 +1119,8 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
else else
{ {
print_skip_replication_statement(print_event_info, ev); print_skip_replication_statement(print_event_info, ev);
ev->print(result_file, print_event_info); if (ev->print(result_file, print_event_info))
goto err;
} }
if (head->error == -1) if (head->error == -1)
goto err; goto err;
@ -1147,8 +1155,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
else else
{ {
print_skip_replication_statement(print_event_info, ev); print_skip_replication_statement(print_event_info, ev);
ce->print(result_file, print_event_info, TRUE); if (ce->print(result_file, print_event_info, TRUE))
if (head->error == -1)
goto err; goto err;
} }
// If this binlog is not 3.23 ; why this test?? // If this binlog is not 3.23 ; why this test??
@ -1171,8 +1178,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
the subsequent call load_processor.process fails, because the the subsequent call load_processor.process fails, because the
output of Append_block_log_event::print is only a comment. output of Append_block_log_event::print is only a comment.
*/ */
ev->print(result_file, print_event_info); if (ev->print(result_file, print_event_info))
if (head->error == -1)
goto err; goto err;
if ((retval= load_processor.process((Append_block_log_event*) ev)) != if ((retval= load_processor.process((Append_block_log_event*) ev)) !=
OK_CONTINUE) OK_CONTINUE)
@ -1181,8 +1187,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
case EXEC_LOAD_EVENT: case EXEC_LOAD_EVENT:
{ {
ev->print(result_file, print_event_info); if (ev->print(result_file, print_event_info))
if (head->error == -1)
goto err; goto err;
Execute_load_log_event *exv= (Execute_load_log_event*)ev; Execute_load_log_event *exv= (Execute_load_log_event*)ev;
Create_file_log_event *ce= load_processor.grab_event(exv->file_id); Create_file_log_event *ce= load_processor.grab_event(exv->file_id);
@ -1193,15 +1198,16 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
*/ */
if (ce) if (ce)
{ {
bool error;
/* /*
We must not convert earlier, since the file is used by We must not convert earlier, since the file is used by
my_open() in Load_log_processor::append(). my_open() in Load_log_processor::append().
*/ */
convert_path_to_forward_slashes((char*) ce->fname); convert_path_to_forward_slashes((char*) ce->fname);
ce->print(result_file, print_event_info, TRUE); error= ce->print(result_file, print_event_info, TRUE);
my_free((void*)ce->fname); my_free((void*)ce->fname);
delete ce; delete ce;
if (head->error == -1) if (error)
goto err; goto err;
} }
else else
@ -1212,10 +1218,10 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
case FORMAT_DESCRIPTION_EVENT: case FORMAT_DESCRIPTION_EVENT:
delete glob_description_event; delete glob_description_event;
glob_description_event= (Format_description_log_event*) ev; glob_description_event= (Format_description_log_event*) ev;
destroy_evt= 0;
print_event_info->common_header_len= print_event_info->common_header_len=
glob_description_event->common_header_len; glob_description_event->common_header_len;
ev->print(result_file, print_event_info); if (ev->print(result_file, print_event_info))
if (head->error == -1)
goto err; goto err;
if (!remote_opt) if (!remote_opt)
{ {
@ -1245,8 +1251,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
} }
break; break;
case BEGIN_LOAD_QUERY_EVENT: case BEGIN_LOAD_QUERY_EVENT:
ev->print(result_file, print_event_info); if (ev->print(result_file, print_event_info))
if (head->error == -1)
goto err; goto err;
if ((retval= load_processor.process((Begin_load_query_log_event*) ev)) != if ((retval= load_processor.process((Begin_load_query_log_event*) ev)) !=
OK_CONTINUE) OK_CONTINUE)
@ -1264,10 +1269,8 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
{ {
convert_path_to_forward_slashes(fname); convert_path_to_forward_slashes(fname);
print_skip_replication_statement(print_event_info, ev); print_skip_replication_statement(print_event_info, ev);
exlq->print(result_file, print_event_info, fname); if (exlq->print(result_file, print_event_info, fname))
if (head->error == -1)
{ {
if (fname)
my_free(fname); my_free(fname);
goto err; goto err;
} }
@ -1276,8 +1279,6 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
warning("Ignoring Execute_load_query since there is no " warning("Ignoring Execute_load_query since there is no "
"Begin_load_query event for file_id: %u", exlq->file_id); "Begin_load_query event for file_id: %u", exlq->file_id);
} }
if (fname)
my_free(fname); my_free(fname);
break; break;
} }
@ -1424,7 +1425,8 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
print the kept Annotate event (if there is any). print the kept Annotate event (if there is any).
print_annotate_event() also deletes the kept Annotate event. print_annotate_event() also deletes the kept Annotate event.
*/ */
print_annotate_event(print_event_info); if (print_annotate_event(print_event_info))
goto err;
size_t len_to= 0; size_t len_to= 0;
const char* db_to= binlog_filter->get_rewrite_db(map->get_db_name(), &len_to); const char* db_to= binlog_filter->get_rewrite_db(map->get_db_name(), &len_to);
@ -1454,10 +1456,18 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
{ {
Rows_log_event *e= (Rows_log_event*) ev; Rows_log_event *e= (Rows_log_event*) ev;
bool is_stmt_end= e->get_flags(Rows_log_event::STMT_END_F); bool is_stmt_end= e->get_flags(Rows_log_event::STMT_END_F);
if (!print_event_info->found_row_event)
{
print_event_info->found_row_event= 1;
print_event_info->row_events= 0;
}
if (print_row_event(print_event_info, ev, e->get_table_id(), if (print_row_event(print_event_info, ev, e->get_table_id(),
e->get_flags(Rows_log_event::STMT_END_F))) e->get_flags(Rows_log_event::STMT_END_F)))
goto err; goto err;
if (!is_stmt_end) DBUG_PRINT("info", ("is_stmt_end: %d", (int) is_stmt_end));
if (is_stmt_end)
print_event_info->found_row_event= 0;
else if (opt_flashback)
destroy_evt= FALSE; destroy_evt= FALSE;
break; break;
} }
@ -1470,7 +1480,8 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
if (print_row_event(print_event_info, ev, e->get_table_id(), if (print_row_event(print_event_info, ev, e->get_table_id(),
e->get_flags(Old_rows_log_event::STMT_END_F))) e->get_flags(Old_rows_log_event::STMT_END_F)))
goto err; goto err;
if (!is_stmt_end) DBUG_PRINT("info", ("is_stmt_end: %d", (int) is_stmt_end));
if (!is_stmt_end && opt_flashback)
destroy_evt= FALSE; destroy_evt= FALSE;
break; break;
} }
@ -1479,8 +1490,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
/* fall through */ /* fall through */
default: default:
print_skip_replication_statement(print_event_info, ev); print_skip_replication_statement(print_event_info, ev);
ev->print(result_file, print_event_info); if (ev->print(result_file, print_event_info))
if (head->error == -1)
goto err; goto err;
} }
} }
@ -1492,6 +1502,7 @@ err:
end: end:
rec_count++; rec_count++;
DBUG_PRINT("info", ("end event processing"));
/* /*
Destroy the log_event object. Destroy the log_event object.
MariaDB MWL#36: mainline does this: MariaDB MWL#36: mainline does this:
@ -1536,6 +1547,7 @@ end:
if (destroy_evt) /* destroy it later if not set (ignored table map) */ if (destroy_evt) /* destroy it later if not set (ignored table map) */
delete ev; delete ev;
} }
DBUG_PRINT("exit",("return: %d", retval));
DBUG_RETURN(retval); DBUG_RETURN(retval);
} }
@ -1547,14 +1559,15 @@ static struct my_option my_options[] =
{"base64-output", OPT_BASE64_OUTPUT_MODE, {"base64-output", OPT_BASE64_OUTPUT_MODE,
/* 'unspec' is not mentioned because it is just a placeholder. */ /* 'unspec' is not mentioned because it is just a placeholder. */
"Determine when the output statements should be base64-encoded BINLOG " "Determine when the output statements should be base64-encoded BINLOG "
"statements: 'never' disables it and works only for binlogs without " "statements: 'never' doesn't print binlog row events and should not be "
"row-based events; 'decode-rows' decodes row events into commented SQL " "used when directing output to a MariaDB master; "
"statements if the --verbose option is also given; 'auto' prints base64 " "'decode-rows' decodes row events into commented SQL statements if the "
"only when necessary (i.e., for row-based events and format description " "--verbose option is also given; "
"events); 'always' prints base64 whenever possible. 'always' is " "'auto' prints base64 only when necessary (i.e., for row-based events and "
"deprecated, will be removed in a future version, and should not be used " "format description events); "
"in a production system. --base64-output with no 'name' argument is " "'always' prints base64 whenever possible. "
"equivalent to --base64-output=always and is also deprecated. If no " "--base64-output with no 'name' argument is equivalent to "
"--base64-output=always and is also deprecated. If no "
"--base64-output[=name] option is given at all, the default is 'auto'.", "--base64-output[=name] option is given at all, the default is 'auto'.",
&opt_base64_output_mode_str, &opt_base64_output_mode_str, &opt_base64_output_mode_str, &opt_base64_output_mode_str,
0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
@ -1571,8 +1584,8 @@ static struct my_option my_options[] =
&database, &database, 0, GET_STR_ALLOC, REQUIRED_ARG, &database, &database, 0, GET_STR_ALLOC, REQUIRED_ARG,
0, 0, 0, 0, 0, 0}, 0, 0, 0, 0, 0, 0},
#ifndef DBUG_OFF #ifndef DBUG_OFF
{"debug", '#', "Output debug log.", &default_dbug_option, {"debug", '#', "Output debug log.", &current_dbug_option,
&default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, &current_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
#endif #endif
{"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit .", {"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit .",
&debug_check_flag, &debug_check_flag, 0, &debug_check_flag, &debug_check_flag, 0,
@ -1654,6 +1667,14 @@ static struct my_option my_options[] =
&flashback_review_tablename, &flashback_review_tablename, &flashback_review_tablename, &flashback_review_tablename,
0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#endif #endif
{"print-row-count", OPT_PRINT_ROW_COUNT,
"Print row counts for each row events",
&print_row_count, &print_row_count, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0,
0, 0},
{"print-row-event-positions", OPT_PRINT_ROW_EVENT_POSITIONS,
"Print row event positions",
&print_row_event_positions, &print_row_event_positions, 0, GET_BOOL,
NO_ARG, 1, 0, 0, 0, 0, 0},
{"server-id", 0, {"server-id", 0,
"Extract only binlog entries created by the server having the given id.", "Extract only binlog entries created by the server having the given id.",
&server_id, &server_id, 0, GET_ULONG, &server_id, &server_id, 0, GET_ULONG,
@ -1667,10 +1688,11 @@ static struct my_option my_options[] =
&shared_memory_base_name, &shared_memory_base_name,
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#endif #endif
{"short-form", 's', "Just show regular queries: no extra info and no " {"short-form", 's', "Just show regular queries: no extra info, no "
"row-based events. This is for testing only, and should not be used in " "row-based events and no row counts. This is mainly for testing only, "
"production systems. If you want to suppress base64-output, consider " "and should not be used to feed to the MariaDB server. "
"using --base64-output=never instead.", "If you want to just suppress base64-output, you can instead "
"use --base64-output=never",
&short_form, &short_form, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, &short_form, &short_form, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
0, 0}, 0, 0},
{"socket", 'S', "The socket file to use for connection.", {"socket", 'S', "The socket file to use for connection.",
@ -1772,9 +1794,12 @@ Example: rewrite-db='from->to'.",
*/ */
static void error_or_warning(const char *format, va_list args, const char *msg) static void error_or_warning(const char *format, va_list args, const char *msg)
{ {
if (result_file)
fflush(result_file);
fprintf(stderr, "%s: ", msg); fprintf(stderr, "%s: ", msg);
vfprintf(stderr, format, args); vfprintf(stderr, format, args);
fprintf(stderr, "\n"); fprintf(stderr, "\n");
fflush(stderr);
} }
/** /**
@ -1827,6 +1852,7 @@ static void warning(const char *format,...)
*/ */
static void cleanup() static void cleanup()
{ {
DBUG_ENTER("cleanup");
my_free(pass); my_free(pass);
my_free(database); my_free(database);
my_free(table); my_free(table);
@ -1840,12 +1866,13 @@ static void cleanup()
delete glob_description_event; delete glob_description_event;
if (mysql) if (mysql)
mysql_close(mysql); mysql_close(mysql);
DBUG_VOID_RETURN;
} }
static void print_version() static void print_version()
{ {
printf("%s Ver 3.3 for %s at %s\n", my_progname, SYSTEM_TYPE, MACHINE_TYPE); printf("%s Ver 3.4 for %s at %s\n", my_progname, SYSTEM_TYPE, MACHINE_TYPE);
} }
@ -1896,7 +1923,10 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
switch (optid) { switch (optid) {
#ifndef DBUG_OFF #ifndef DBUG_OFF
case '#': case '#':
DBUG_PUSH(argument ? argument : default_dbug_option); if (!argument)
argument= (char*) default_dbug_option;
current_dbug_option= argument;
DBUG_PUSH(argument);
break; break;
#endif #endif
#include <sslopt-case.h> #include <sslopt-case.h>
@ -1998,6 +2028,12 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
binlog_filter->add_db_rewrite(key, val); binlog_filter->add_db_rewrite(key, val);
break; break;
} }
case OPT_PRINT_ROW_COUNT:
print_row_count_used= 1;
break;
case OPT_PRINT_ROW_EVENT_POSITIONS:
print_row_event_positions_used= 1;
break;
case 'v': case 'v':
if (argument == disabled_my_option) if (argument == disabled_my_option)
verbose= 0; verbose= 0;
@ -2130,11 +2166,30 @@ static Exit_status dump_log_entries(const char* logname)
fprintf(result_file, "DELIMITER /*!*/;\n"); fprintf(result_file, "DELIMITER /*!*/;\n");
strmov(print_event_info.delimiter, "/*!*/;"); strmov(print_event_info.delimiter, "/*!*/;");
print_event_info.verbose= short_form ? 0 : verbose; if (short_form)
{
if (!print_row_event_positions_used)
print_row_event_positions= 0;
if (!print_row_count_used)
print_row_count = 0;
}
if (opt_flashback)
{
if (!print_row_event_positions_used)
print_row_event_positions= 0;
}
print_event_info.verbose= short_form ? 0 : verbose;
print_event_info.short_form= short_form;
print_event_info.print_row_count= print_row_count;
print_event_info.file= result_file;
fflush(result_file);
rc= (remote_opt ? dump_remote_log_entries(&print_event_info, logname) : rc= (remote_opt ? dump_remote_log_entries(&print_event_info, logname) :
dump_local_log_entries(&print_event_info, logname)); dump_local_log_entries(&print_event_info, logname));
if (rc == ERROR_STOP)
return rc;
/* Set delimiter back to semicolon */ /* Set delimiter back to semicolon */
if (!opt_raw_mode && !opt_flashback) if (!opt_raw_mode && !opt_flashback)
fprintf(result_file, "DELIMITER ;\n"); fprintf(result_file, "DELIMITER ;\n");
@ -2205,6 +2260,8 @@ static Exit_status check_master_version()
} }
delete glob_description_event; delete glob_description_event;
glob_description_event= NULL;
switch (version) { switch (version) {
case 3: case 3:
glob_description_event= new Format_description_log_event(1); glob_description_event= new Format_description_log_event(1);
@ -2223,7 +2280,6 @@ static Exit_status check_master_version()
glob_description_event= new Format_description_log_event(3); glob_description_event= new Format_description_log_event(3);
break; break;
default: default:
glob_description_event= NULL;
error("Could not find server version: " error("Could not find server version: "
"Master reported unrecognized MySQL version '%s'.", row[0]); "Master reported unrecognized MySQL version '%s'.", row[0]);
goto err; goto err;
@ -2464,6 +2520,7 @@ static Exit_status handle_event_raw_mode(PRINT_EVENT_INFO *print_event_info,
error("Could not write into log file '%s'", out_file_name); error("Could not write into log file '%s'", out_file_name);
DBUG_RETURN(ERROR_STOP); DBUG_RETURN(ERROR_STOP);
} }
print_event_info->file= result_file;
delete glob_description_event; delete glob_description_event;
glob_description_event= (Format_description_log_event*) ev; glob_description_event= (Format_description_log_event*) ev;
@ -2962,13 +3019,6 @@ int main(int argc, char** argv)
if (opt_base64_output_mode == BASE64_OUTPUT_UNSPEC) if (opt_base64_output_mode == BASE64_OUTPUT_UNSPEC)
opt_base64_output_mode= BASE64_OUTPUT_AUTO; opt_base64_output_mode= BASE64_OUTPUT_AUTO;
if (opt_base64_output_mode == BASE64_OUTPUT_ALWAYS)
warning("The --base64-output=always flag and the --base64-output flag "
"(with '=MODE' omitted), are deprecated. "
"The output generated when these flags are used cannot be "
"parsed by mysql 5.6.0 and later. "
"The flags will be removed in a future version. "
"Please use --base64-output=auto instead.");
my_set_max_open_files(open_files_limit); my_set_max_open_files(open_files_limit);
@ -3081,7 +3131,7 @@ int main(int argc, char** argv)
If enable flashback, need to print the events from the end to the If enable flashback, need to print the events from the end to the
beginning beginning
*/ */
if (opt_flashback) if (opt_flashback && retval != ERROR_STOP)
{ {
for (uint i= binlog_events.elements; i > 0; --i) for (uint i= binlog_events.elements; i > 0; --i)
{ {
@ -3096,12 +3146,15 @@ int main(int argc, char** argv)
} }
/* Set delimiter back to semicolon */ /* Set delimiter back to semicolon */
if (retval != ERROR_STOP)
{
if (!stop_event_string.is_empty()) if (!stop_event_string.is_empty())
fprintf(result_file, "%s", stop_event_string.ptr()); fprintf(result_file, "%s", stop_event_string.ptr());
if (!opt_raw_mode && opt_flashback) if (!opt_raw_mode && opt_flashback)
fprintf(result_file, "DELIMITER ;\n"); fprintf(result_file, "DELIMITER ;\n");
}
if (!opt_raw_mode) if (retval != ERROR_STOP && !opt_raw_mode)
{ {
/* /*
Issue a ROLLBACK in case the last printed binlog was crashed and had half Issue a ROLLBACK in case the last printed binlog was crashed and had half

View File

@ -701,6 +701,8 @@ public:
void write(DYNAMIC_STRING* ds) void write(DYNAMIC_STRING* ds)
{ {
DBUG_ENTER("LogFile::write"); DBUG_ENTER("LogFile::write");
DBUG_PRINT("enter", ("length: %u", (uint) ds->length));
DBUG_ASSERT(m_file); DBUG_ASSERT(m_file);
if (ds->length == 0) if (ds->length == 0)
@ -6930,6 +6932,7 @@ int read_command(struct st_command** command_ptr)
if (parser.current_line < parser.read_lines) if (parser.current_line < parser.read_lines)
{ {
get_dynamic(&q_lines, command_ptr, parser.current_line) ; get_dynamic(&q_lines, command_ptr, parser.current_line) ;
DBUG_PRINT("info", ("query: %s", (*command_ptr)->query));
DBUG_RETURN(0); DBUG_RETURN(0);
} }
if (!(*command_ptr= command= if (!(*command_ptr= command=

View File

@ -552,12 +552,13 @@ static inline int my_b_get(IO_CACHE *info)
return _my_b_get(info); return _my_b_get(info);
} }
/* my_b_write_byte dosn't have any err-check */ static inline my_bool my_b_write_byte(IO_CACHE *info, uchar chr)
static inline void my_b_write_byte(IO_CACHE *info, uchar chr)
{ {
if (info->write_pos >= info->write_end) if (info->write_pos >= info->write_end)
my_b_flush_io_cache(info, 1); if (my_b_flush_io_cache(info, 1))
return 1;
*info->write_pos++= chr; *info->write_pos++= chr;
return 0;
} }
/** /**
@ -825,9 +826,9 @@ extern int end_io_cache(IO_CACHE *info);
extern void my_b_seek(IO_CACHE *info,my_off_t pos); extern void my_b_seek(IO_CACHE *info,my_off_t pos);
extern size_t my_b_gets(IO_CACHE *info, char *to, size_t max_length); extern size_t my_b_gets(IO_CACHE *info, char *to, size_t max_length);
extern my_off_t my_b_filelength(IO_CACHE *info); extern my_off_t my_b_filelength(IO_CACHE *info);
extern size_t my_b_write_backtick_quote(IO_CACHE *info, const char *str, extern my_bool my_b_write_backtick_quote(IO_CACHE *info, const char *str,
size_t len); size_t len);
extern size_t my_b_printf(IO_CACHE *info, const char* fmt, ...); extern my_bool my_b_printf(IO_CACHE *info, const char* fmt, ...);
extern size_t my_b_vprintf(IO_CACHE *info, const char* fmt, va_list ap); extern size_t my_b_vprintf(IO_CACHE *info, const char* fmt, va_list ap);
extern my_bool open_cached_file(IO_CACHE *cache,const char *dir, extern my_bool open_cached_file(IO_CACHE *cache,const char *dir,
const char *prefix, size_t cache_size, const char *prefix, size_t cache_size,

View File

@ -1,3 +1,4 @@
reset master;
CREATE OR REPLACE DATABASE d1; CREATE OR REPLACE DATABASE d1;
CREATE OR REPLACE DATABASE d1; CREATE OR REPLACE DATABASE d1;
DROP DATABASE d1; DROP DATABASE d1;

View File

@ -879,9 +879,7 @@ ROLLBACK /* added by mysqlbinlog */;
End of 5.0 tests End of 5.0 tests
End of 5.1 tests End of 5.1 tests
# Expect deprecation warning. # Expect deprecation warning.
WARNING: The --base64-output=always flag and the --base64-output flag (with '=MODE' omitted), are deprecated. The output generated when these flags are used cannot be parsed by mysql 5.6.0 and later. The flags will be removed in a future version. Please use --base64-output=auto instead.
# Expect deprecation warning again. # Expect deprecation warning again.
WARNING: The --base64-output=always flag and the --base64-output flag (with '=MODE' omitted), are deprecated. The output generated when these flags are used cannot be parsed by mysql 5.6.0 and later. The flags will be removed in a future version. Please use --base64-output=auto instead.
RESET MASTER; RESET MASTER;
CREATE DATABASE test1; CREATE DATABASE test1;
USE test1; USE test1;

View File

@ -73,6 +73,7 @@ BEGIN
### @7=6 /* INT meta=0 nullable=1 is_null=0 */ ### @7=6 /* INT meta=0 nullable=1 is_null=0 */
### @8=7 /* INT meta=0 nullable=1 is_null=0 */ ### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ ### @9='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at 967 # at 967
#<date> server id 1 end_log_pos 1040 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 1040 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -101,6 +102,7 @@ BEGIN
### @7=6 /* INT meta=0 nullable=1 is_null=0 */ ### @7=6 /* INT meta=0 nullable=1 is_null=0 */
### @8=7 /* INT meta=0 nullable=1 is_null=0 */ ### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */ ### @9=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
# Number of rows: 1
# at 1281 # at 1281
#<date> server id 1 end_log_pos 1354 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 1354 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -129,6 +131,7 @@ BEGIN
### @7=6 /* INT meta=0 nullable=1 is_null=0 */ ### @7=6 /* INT meta=0 nullable=1 is_null=0 */
### @8=7 /* INT meta=0 nullable=1 is_null=0 */ ### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */ ### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at 1596 # at 1596
#<date> server id 1 end_log_pos 1669 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 1669 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -157,6 +160,7 @@ BEGIN
### @7=6 /* INT meta=0 nullable=1 is_null=0 */ ### @7=6 /* INT meta=0 nullable=1 is_null=0 */
### @8=7 /* INT meta=0 nullable=1 is_null=0 */ ### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */ ### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at 1909 # at 1909
#<date> server id 1 end_log_pos 1982 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 1982 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -218,6 +222,7 @@ BEGIN
### @7=6 /* INT meta=0 nullable=1 is_null=0 */ ### @7=6 /* INT meta=0 nullable=1 is_null=0 */
### @8=7 /* INT meta=0 nullable=1 is_null=0 */ ### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */ ### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 4
# at 2225 # at 2225
#<date> server id 1 end_log_pos 2298 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 2298 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -298,6 +303,7 @@ BEGIN
### @7=6 /* INT meta=0 nullable=1 is_null=0 */ ### @7=6 /* INT meta=0 nullable=1 is_null=0 */
### @8=7 /* INT meta=0 nullable=1 is_null=0 */ ### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */ ### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 3
# at 2561 # at 2561
#<date> server id 1 end_log_pos 2634 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 2634 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -359,6 +365,7 @@ BEGIN
### @7=6 /* INT meta=0 nullable=1 is_null=0 */ ### @7=6 /* INT meta=0 nullable=1 is_null=0 */
### @8=7 /* INT meta=0 nullable=1 is_null=0 */ ### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */ ### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 4
# at 2861 # at 2861
#<date> server id 1 end_log_pos 2934 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 2934 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -420,6 +427,7 @@ BEGIN
### @7=6 /* INT meta=0 nullable=1 is_null=0 */ ### @7=6 /* INT meta=0 nullable=1 is_null=0 */
### @8=7 /* INT meta=0 nullable=1 is_null=0 */ ### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */ ### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 4
# at 3154 # at 3154
#<date> server id 1 end_log_pos 3227 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 3227 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;

View File

@ -71,6 +71,7 @@ BEGIN
### @7=6 /* INT meta=0 nullable=1 is_null=0 */ ### @7=6 /* INT meta=0 nullable=1 is_null=0 */
### @8=7 /* INT meta=0 nullable=1 is_null=0 */ ### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ ### @9='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at 1015 # at 1015
#<date> server id 1 end_log_pos 1088 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 1088 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -99,6 +100,7 @@ BEGIN
### @7=6 /* INT meta=0 nullable=1 is_null=0 */ ### @7=6 /* INT meta=0 nullable=1 is_null=0 */
### @8=7 /* INT meta=0 nullable=1 is_null=0 */ ### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */ ### @9=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
# Number of rows: 1
# at 1330 # at 1330
#<date> server id 1 end_log_pos 1403 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 1403 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -127,6 +129,7 @@ BEGIN
### @7=6 /* INT meta=0 nullable=1 is_null=0 */ ### @7=6 /* INT meta=0 nullable=1 is_null=0 */
### @8=7 /* INT meta=0 nullable=1 is_null=0 */ ### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */ ### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at 1646 # at 1646
#<date> server id 1 end_log_pos 1719 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 1719 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -155,6 +158,7 @@ BEGIN
### @7=6 /* INT meta=0 nullable=1 is_null=0 */ ### @7=6 /* INT meta=0 nullable=1 is_null=0 */
### @8=7 /* INT meta=0 nullable=1 is_null=0 */ ### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */ ### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at 1962 # at 1962
#<date> server id 1 end_log_pos 2035 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 2035 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -216,6 +220,7 @@ BEGIN
### @7=6 /* INT meta=0 nullable=1 is_null=0 */ ### @7=6 /* INT meta=0 nullable=1 is_null=0 */
### @8=7 /* INT meta=0 nullable=1 is_null=0 */ ### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */ ### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 4
# at 2354 # at 2354
#<date> server id 1 end_log_pos 2427 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 2427 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -251,6 +256,7 @@ BEGIN
### @5=NULL /* INT meta=0 nullable=1 is_null=1 */ ### @5=NULL /* INT meta=0 nullable=1 is_null=1 */
### SET ### SET
### @5=5 /* INT meta=0 nullable=1 is_null=0 */ ### @5=5 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at 2665 # at 2665
#<date> server id 1 end_log_pos 2738 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 2738 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -280,6 +286,7 @@ BEGIN
### DELETE FROM `test`.`t1` ### DELETE FROM `test`.`t1`
### WHERE ### WHERE
### @1=13 /* INT meta=0 nullable=0 is_null=0 */ ### @1=13 /* INT meta=0 nullable=0 is_null=0 */
# Number of rows: 4
# at 2927 # at 2927
#<date> server id 1 end_log_pos 3000 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 3000 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;
@ -309,6 +316,7 @@ BEGIN
### DELETE FROM `test`.`t2` ### DELETE FROM `test`.`t2`
### WHERE ### WHERE
### @1=13 /* INT meta=0 nullable=0 is_null=0 */ ### @1=13 /* INT meta=0 nullable=0 is_null=0 */
# Number of rows: 4
# at 3189 # at 3189
#<date> server id 1 end_log_pos 3262 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 #<date> server id 1 end_log_pos 3262 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
SET TIMESTAMP=X/*!*/; SET TIMESTAMP=X/*!*/;

View File

@ -228,8 +228,4 @@ End of 5.1 tests
/*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/; DELIMITER /*!*/;
DELIMITER ; ERROR: Failed on connect: SSL connection error: No such file or directory
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

View File

@ -33,10 +33,10 @@ a
/*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/; DELIMITER /*!*/;
# at 4 <#>
<#>ROLLBACK/*!*/; ROLLBACK/*!*/;
# at 102 <#>
<#>use `test`/*!*/; use `test`/*!*/;
SET TIMESTAMP=1196959712/*!*/; SET TIMESTAMP=1196959712/*!*/;
<#>SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=0/*!*/; <#>SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=0/*!*/;
SET @@session.sql_mode=0/*!*/; SET @@session.sql_mode=0/*!*/;
@ -47,7 +47,11 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/; SET @@session.collation_database=DEFAULT/*!*/;
create table t1 (a int) engine= myisam create table t1 (a int) engine= myisam
/*!*/; /*!*/;
# at 203 <#>
<#>
<#>
<#>
<#>
DELIMITER ; DELIMITER ;
# End of log file # End of log file
ROLLBACK /* added by mysqlbinlog */; ROLLBACK /* added by mysqlbinlog */;

File diff suppressed because it is too large Load Diff

View File

@ -2543,6 +2543,7 @@ BEGIN
### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=1 /* INT meta=0 nullable=1 is_null=0 */ ### @79=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -2724,6 +2725,7 @@ BEGIN
### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=2 /* INT meta=0 nullable=1 is_null=0 */ ### @79=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -3071,6 +3073,7 @@ BEGIN
### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=4 /* INT meta=0 nullable=1 is_null=0 */ ### @79=4 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -3410,6 +3413,7 @@ BEGIN
### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=1 /* INT meta=0 nullable=1 is_null=0 */ ### @79=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -3754,6 +3758,7 @@ BEGIN
### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=2 /* INT meta=0 nullable=1 is_null=0 */ ### @79=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -4096,6 +4101,7 @@ BEGIN
### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=3 /* INT meta=0 nullable=1 is_null=0 */ ### @79=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -4441,6 +4447,7 @@ BEGIN
### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */ ### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */ ### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
### @79=4 /* INT meta=0 nullable=1 is_null=0 */ ### @79=4 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -4620,6 +4627,7 @@ BEGIN
### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=1 /* INT meta=0 nullable=1 is_null=0 */ ### @79=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -4796,6 +4804,7 @@ BEGIN
### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=2 /* INT meta=0 nullable=1 is_null=0 */ ### @79=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -4975,6 +4984,7 @@ BEGIN
### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=3 /* INT meta=0 nullable=1 is_null=0 */ ### @79=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -5152,6 +5162,7 @@ BEGIN
### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */ ### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */ ### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
### @79=4 /* INT meta=0 nullable=1 is_null=0 */ ### @79=4 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -5345,6 +5356,7 @@ BEGIN
### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
### @3=9 /* INT meta=0 nullable=1 is_null=0 */ ### @3=9 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 9
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -5423,6 +5435,7 @@ BEGIN
### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
### @3=7 /* INT meta=0 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 7
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -5473,6 +5486,7 @@ BEGIN
### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
### @3=7 /* INT meta=0 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 7
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -5766,6 +5780,7 @@ BEGIN
### @1='2008:01:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2008:01:09' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-01-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @2='VARCHAR-01-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
### @3=19 /* INT meta=0 nullable=1 is_null=0 */ ### @3=19 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 9
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -5835,6 +5850,7 @@ BEGIN
### @1='2008:02:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2008:02:09' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-02-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @2='VARCHAR-02-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
### @3=29 /* INT meta=0 nullable=1 is_null=0 */ ### @3=29 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 9
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -5904,6 +5920,7 @@ BEGIN
### @1='2008:03:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2008:03:09' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-03-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @2='VARCHAR-03-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
### @3=39 /* INT meta=0 nullable=1 is_null=0 */ ### @3=39 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 9
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -6093,6 +6110,7 @@ BEGIN
### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
### @3=7 /* INT meta=0 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 18
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -6207,6 +6225,7 @@ BEGIN
### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
### @3=7 /* INT meta=0 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 18
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -6338,6 +6357,7 @@ BEGIN
### @1=5 /* INT meta=0 nullable=1 is_null=0 */ ### @1=5 /* INT meta=0 nullable=1 is_null=0 */
### @2=6 /* INT meta=0 nullable=1 is_null=0 */ ### @2=6 /* INT meta=0 nullable=1 is_null=0 */
### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */ ### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;

View File

@ -2543,6 +2543,7 @@ BEGIN
### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=1 /* INT meta=0 nullable=1 is_null=0 */ ### @79=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -2727,6 +2728,7 @@ BEGIN
### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=2 /* INT meta=0 nullable=1 is_null=0 */ ### @79=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -3076,6 +3078,7 @@ BEGIN
### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=4 /* INT meta=0 nullable=1 is_null=0 */ ### @79=4 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -3417,6 +3420,7 @@ BEGIN
### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=1 /* INT meta=0 nullable=1 is_null=0 */ ### @79=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -3763,6 +3767,7 @@ BEGIN
### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=2 /* INT meta=0 nullable=1 is_null=0 */ ### @79=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -4107,6 +4112,7 @@ BEGIN
### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=3 /* INT meta=0 nullable=1 is_null=0 */ ### @79=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -4454,6 +4460,7 @@ BEGIN
### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */ ### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */ ### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
### @79=4 /* INT meta=0 nullable=1 is_null=0 */ ### @79=4 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -4635,6 +4642,7 @@ BEGIN
### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=1 /* INT meta=0 nullable=1 is_null=0 */ ### @79=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -4813,6 +4821,7 @@ BEGIN
### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=2 /* INT meta=0 nullable=1 is_null=0 */ ### @79=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -4994,6 +5003,7 @@ BEGIN
### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ ### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ ### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
### @79=3 /* INT meta=0 nullable=1 is_null=0 */ ### @79=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -5173,6 +5183,7 @@ BEGIN
### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */ ### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */ ### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
### @79=4 /* INT meta=0 nullable=1 is_null=0 */ ### @79=4 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -5368,6 +5379,7 @@ BEGIN
### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
### @3=9 /* INT meta=0 nullable=1 is_null=0 */ ### @3=9 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 9
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -5448,6 +5460,7 @@ BEGIN
### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
### @3=7 /* INT meta=0 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 7
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -5500,6 +5513,7 @@ BEGIN
### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ ### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
### @3=7 /* INT meta=0 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 7
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -5795,6 +5809,7 @@ BEGIN
### @1='2008:01:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2008:01:09' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-01-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @2='VARCHAR-01-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
### @3=19 /* INT meta=0 nullable=1 is_null=0 */ ### @3=19 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 9
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -5866,6 +5881,7 @@ BEGIN
### @1='2008:02:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2008:02:09' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-02-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @2='VARCHAR-02-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
### @3=29 /* INT meta=0 nullable=1 is_null=0 */ ### @3=29 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 9
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -5937,6 +5953,7 @@ BEGIN
### @1='2008:03:09' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2008:03:09' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-03-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @2='VARCHAR-03-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
### @3=39 /* INT meta=0 nullable=1 is_null=0 */ ### @3=39 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 9
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -6128,6 +6145,7 @@ BEGIN
### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
### @3=7 /* INT meta=0 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 18
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -6244,6 +6262,7 @@ BEGIN
### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */ ### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */
### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ ### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
### @3=7 /* INT meta=0 nullable=1 is_null=0 */ ### @3=7 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 18
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -6377,6 +6396,7 @@ BEGIN
### @1=5 /* INT meta=0 nullable=1 is_null=0 */ ### @1=5 /* INT meta=0 nullable=1 is_null=0 */
### @2=6 /* INT meta=0 nullable=1 is_null=0 */ ### @2=6 /* INT meta=0 nullable=1 is_null=0 */
### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */ ### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;

View File

@ -193,6 +193,7 @@ BEGIN
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows: #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
@ -221,6 +222,7 @@ BEGIN
### SET ### SET
### @1=13 /* INT meta=0 nullable=1 is_null=0 */ ### @1=13 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows: #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
@ -232,6 +234,7 @@ BEGIN
### WHERE ### WHERE
### @1=12 /* INT meta=0 nullable=1 is_null=0 */ ### @1=12 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -275,6 +278,7 @@ BEGIN
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -313,6 +317,7 @@ BEGIN
### SET ### SET
### @1=13 /* INT meta=0 nullable=1 is_null=0 */ ### @1=13 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -334,6 +339,7 @@ BEGIN
### WHERE ### WHERE
### @1=12 /* INT meta=0 nullable=1 is_null=0 */ ### @1=12 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -363,6 +369,7 @@ BEGIN
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows: #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
@ -391,6 +398,7 @@ BEGIN
### SET ### SET
### @1=13 /* INT meta=0 nullable=1 is_null=0 */ ### @1=13 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows: #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
@ -402,6 +410,7 @@ BEGIN
### WHERE ### WHERE
### @1=12 /* INT meta=0 nullable=1 is_null=0 */ ### @1=12 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -445,6 +454,7 @@ BEGIN
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -483,6 +493,7 @@ BEGIN
### SET ### SET
### @1=13 /* INT meta=0 nullable=1 is_null=0 */ ### @1=13 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -504,6 +515,7 @@ BEGIN
### WHERE ### WHERE
### @1=12 /* INT meta=0 nullable=1 is_null=0 */ ### @1=12 /* INT meta=0 nullable=1 is_null=0 */
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;

View File

@ -162,6 +162,7 @@ BEGIN
### INSERT INTO `test1`.`t1` ### INSERT INTO `test1`.`t1`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -188,6 +189,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -214,6 +216,7 @@ BEGIN
### INSERT INTO `test3`.`t3` ### INSERT INTO `test3`.`t3`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -255,6 +258,7 @@ BEGIN
### DELETE FROM `test2`.`t2` ### DELETE FROM `test2`.`t2`
### WHERE ### WHERE
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 6
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -281,6 +285,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -309,6 +314,7 @@ BEGIN
### DELETE FROM `test2`.`t2` ### DELETE FROM `test2`.`t2`
### WHERE ### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -386,6 +392,7 @@ BEGIN
### INSERT INTO `test1`.`t1` ### INSERT INTO `test1`.`t1`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -551,6 +558,7 @@ BEGIN
### INSERT INTO `test1`.`t1` ### INSERT INTO `test1`.`t1`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -575,6 +583,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -599,6 +608,7 @@ BEGIN
### INSERT INTO `test3`.`t3` ### INSERT INTO `test3`.`t3`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -636,6 +646,7 @@ BEGIN
### DELETE FROM `test2`.`t2` ### DELETE FROM `test2`.`t2`
### WHERE ### WHERE
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 6
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -660,6 +671,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -684,6 +696,7 @@ BEGIN
### DELETE FROM `test2`.`t2` ### DELETE FROM `test2`.`t2`
### WHERE ### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -773,6 +786,7 @@ BEGIN
### INSERT INTO `test1`.`t1` ### INSERT INTO `test1`.`t1`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -799,6 +813,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -825,6 +840,7 @@ BEGIN
### INSERT INTO `test3`.`t3` ### INSERT INTO `test3`.`t3`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -866,6 +882,7 @@ BEGIN
### DELETE FROM `test2`.`t2` ### DELETE FROM `test2`.`t2`
### WHERE ### WHERE
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 6
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -892,6 +909,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -920,6 +938,7 @@ BEGIN
### DELETE FROM `test2`.`t2` ### DELETE FROM `test2`.`t2`
### WHERE ### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -997,6 +1016,7 @@ BEGIN
### INSERT INTO `test1`.`t1` ### INSERT INTO `test1`.`t1`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -1161,6 +1181,7 @@ BEGIN
### INSERT INTO `test1`.`t1` ### INSERT INTO `test1`.`t1`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -1184,6 +1205,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -1207,6 +1229,7 @@ BEGIN
### INSERT INTO `test3`.`t3` ### INSERT INTO `test3`.`t3`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -1243,6 +1266,7 @@ BEGIN
### DELETE FROM `test2`.`t2` ### DELETE FROM `test2`.`t2`
### WHERE ### WHERE
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 6
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -1266,6 +1290,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -1289,6 +1314,7 @@ BEGIN
### DELETE FROM `test2`.`t2` ### DELETE FROM `test2`.`t2`
### WHERE ### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;

View File

@ -18,6 +18,8 @@ DELIMITER /*!*/;
ROLLBACK/*!*/; ROLLBACK/*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# Annotate_rows:
#Q> insert into t2 values (@v)
SET TIMESTAMP=10000/*!*/; SET TIMESTAMP=10000/*!*/;
SET @@session.pseudo_thread_id=999999999/*!*/; SET @@session.pseudo_thread_id=999999999/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/; SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
@ -114,6 +116,7 @@ BEGIN
### INSERT INTO `test`.`t1` ### INSERT INTO `test`.`t1`
### SET ### SET
### @1='ä(i1)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */ ### @1='ä(i1)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=XXX/*!*/; SET TIMESTAMP=XXX/*!*/;
@ -134,6 +137,7 @@ BEGIN
### INSERT INTO `test`.`t1` ### INSERT INTO `test`.`t1`
### SET ### SET
### @1='ä(i2)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */ ### @1='ä(i2)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=XXX/*!*/; SET TIMESTAMP=XXX/*!*/;
@ -154,6 +158,7 @@ BEGIN
### INSERT INTO `test`.`t1` ### INSERT INTO `test`.`t1`
### SET ### SET
### @1='ä(i3)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */ ### @1='ä(i3)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=XXX/*!*/; SET TIMESTAMP=XXX/*!*/;
@ -174,6 +179,7 @@ BEGIN
### INSERT INTO `test`.`t1` ### INSERT INTO `test`.`t1`
### SET ### SET
### @1='ä(p1)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */ ### @1='ä(p1)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=XXX/*!*/; SET TIMESTAMP=XXX/*!*/;
@ -194,6 +200,7 @@ BEGIN
### INSERT INTO `test`.`t1` ### INSERT INTO `test`.`t1`
### SET ### SET
### @1='ä(p2)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */ ### @1='ä(p2)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=XXX/*!*/; SET TIMESTAMP=XXX/*!*/;
@ -214,6 +221,7 @@ BEGIN
### INSERT INTO `test`.`t1` ### INSERT INTO `test`.`t1`
### SET ### SET
### @1='ä(p3)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */ ### @1='ä(p3)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=XXX/*!*/; SET TIMESTAMP=XXX/*!*/;

View File

@ -79,6 +79,7 @@ BEGIN
### SET ### SET
### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @1=2 /* INT meta=0 nullable=1 is_null=0 */
### @2=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -111,6 +112,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @1=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -132,6 +134,7 @@ BEGIN
### WHERE ### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @1=1 /* INT meta=0 nullable=1 is_null=0 */
### @2=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -164,6 +167,7 @@ BEGIN
### INSERT INTO `new_test3`.`t3` ### INSERT INTO `new_test3`.`t3`
### SET ### SET
### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @1=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -185,6 +189,7 @@ BEGIN
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -223,6 +228,7 @@ BEGIN
### SET ### SET
### @1=6 /* INT meta=0 nullable=1 is_null=0 */ ### @1=6 /* INT meta=0 nullable=1 is_null=0 */
### @2=6 /* INT meta=0 nullable=1 is_null=0 */ ### @2=6 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 5
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -243,6 +249,7 @@ BEGIN
### DELETE FROM `new_test3`.`t3` ### DELETE FROM `new_test3`.`t3`
### WHERE ### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -313,6 +320,7 @@ BEGIN
### SET ### SET
### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @1=2 /* INT meta=0 nullable=1 is_null=0 */
### @2=2 /* INT meta=0 nullable=1 is_null=0 */ ### @2=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -345,6 +353,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @1=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -366,6 +375,7 @@ BEGIN
### WHERE ### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @1=1 /* INT meta=0 nullable=1 is_null=0 */
### @2=1 /* INT meta=0 nullable=1 is_null=0 */ ### @2=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -398,6 +408,7 @@ BEGIN
### INSERT INTO `new_test3`.`t3` ### INSERT INTO `new_test3`.`t3`
### SET ### SET
### @1=2 /* INT meta=0 nullable=1 is_null=0 */ ### @1=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -419,6 +430,7 @@ BEGIN
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
### @2=3 /* INT meta=0 nullable=1 is_null=0 */ ### @2=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -457,6 +469,7 @@ BEGIN
### SET ### SET
### @1=6 /* INT meta=0 nullable=1 is_null=0 */ ### @1=6 /* INT meta=0 nullable=1 is_null=0 */
### @2=6 /* INT meta=0 nullable=1 is_null=0 */ ### @2=6 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 5
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -477,6 +490,7 @@ BEGIN
### DELETE FROM `new_test3`.`t3` ### DELETE FROM `new_test3`.`t3`
### WHERE ### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;

View File

@ -100,6 +100,7 @@ BEGIN
### @6='' /* STRING(10) meta=65034 nullable=1 is_null=0 */ ### @6='' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7='' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @7='' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ ### @8='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -125,6 +126,7 @@ BEGIN
### @6='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */ ### @6='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @7='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ ### @8='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -150,6 +152,7 @@ BEGIN
### @6='aaaaaaaaaa' /* STRING(10) meta=65034 nullable=1 is_null=0 */ ### @6='aaaaaaaaaa' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7='aaaaaaaaaaaaaaaaaaaa' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @7='aaaaaaaaaaaaaaaaaaaa' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ ### @8='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at # # at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -203,6 +206,7 @@ BEGIN
### @6='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */ ### @6='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @7='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ ### @8='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 2
# at # # at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -248,6 +252,7 @@ BEGIN
### @6='aaaaaaaaaa' /* STRING(10) meta=65034 nullable=1 is_null=0 */ ### @6='aaaaaaaaaa' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @7='aaaaaaaaaaaaaaaaaaaa' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ ### @7='aaaaaaaaaaaaaaaaaaaa' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
### @8='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ ### @8='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
COMMIT/*!*/; COMMIT/*!*/;
@ -272,18 +277,23 @@ ROLLBACK/*!*/;
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows: #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES(0,0,0,0,0,'','','') #Q> INSERT INTO t1 VALUES(0,0,0,0,0,'','','')
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number # #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# Number of rows: 1
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows: #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES(1,2,3,4,5, "abc", "abcdefg", "abcedfghijklmnopqrstuvwxyz") #Q> INSERT INTO t1 VALUES(1,2,3,4,5, "abc", "abcdefg", "abcedfghijklmnopqrstuvwxyz")
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number # #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# Number of rows: 1
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows: #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES(127, 32767, 8388607, 2147483647, 9223372036854775807, repeat('a', 10), repeat('a', 20), repeat('a', 255)) #Q> INSERT INTO t1 VALUES(127, 32767, 8388607, 2147483647, 9223372036854775807, repeat('a', 10), repeat('a', 20), repeat('a', 255))
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number # #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# Number of rows: 1
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows: #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> UPDATE t1 SET c01=100 WHERE c02=0 OR c03=3 #Q> UPDATE t1 SET c01=100 WHERE c02=0 OR c03=3
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number # #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# Number of rows: 2
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows: #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> DELETE FROM t1 #Q> DELETE FROM t1
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number # #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# Number of rows: 3
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Rotate to master-bin.000002 pos: 4 #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Rotate to master-bin.000002 pos: 4
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = # #010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
BEGIN/*!*/; BEGIN/*!*/;

View File

@ -68,15 +68,12 @@ TFtYRxcBAAAAIgAAAKEBAAAQABAAAAAAAAEAAf/+AwAAAA==
select * from t1; select * from t1;
# Test that mysqlbinlog stops with an error message when the # New mysqlbinlog supports --base64-output=never
# --base64-output=never flag is used on a binlog with base64 events.
--echo ==== Test --base64-output=never on a binlog with row events ==== --echo ==== Test --base64-output=never on a binlog with row events ====
# mysqlbinlog should fail # mysqlbinlog should fail
--replace_regex /#[0-9][0-9][0-9][0-9][0-9][0-9] .*/<#>/ /SET \@\@session.pseudo_thread_id.*/<#>/ --replace_regex /#[0-9][0-9][0-9][0-9][0-9][0-9] \N*/<#>/ /SET \@\@session.pseudo_thread_id.*/<#>/
error 1; exec $MYSQL_BINLOG --base64-output=never --print-row-count=0 --print-row-event-positions=0 suite/binlog/std_data/bug32407.001;
exec $MYSQL_BINLOG --base64-output=never suite/binlog/std_data/bug32407.001;
# the above line should output the query log event and then stop
# Test that the following fails cleanly: "First, read a # Test that the following fails cleanly: "First, read a

View File

@ -438,6 +438,8 @@ INSERT INTO t2 SET b=1;
UPDATE t1, t2 SET t1.a=10, t2.a=20; UPDATE t1, t2 SET t1.a=10, t2.a=20;
DROP TABLE t1,t2; DROP TABLE t1,t2;
flush logs;
let $MYSQLD_DATADIR= `select @@datadir`; let $MYSQLD_DATADIR= `select @@datadir`;
--copy_file std_data/old_decimal/t1dec102.frm $MYSQLD_DATADIR/test/t1dec102.frm --copy_file std_data/old_decimal/t1dec102.frm $MYSQLD_DATADIR/test/t1dec102.frm
@ -455,3 +457,8 @@ flush logs;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9]*[.][0-9]{1,3})[0-9e+-]*[^ ]*(.*(FLOAT|DOUBLE).*[*].)/\1...\2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ --replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9]*[.][0-9]{1,3})[0-9e+-]*[^ ]*(.*(FLOAT|DOUBLE).*[*].)/\1...\2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001 --exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9]*[.][0-9]{1,3})[0-9e+-]*[^ ]*(.*(FLOAT|DOUBLE).*[*].)/\1...\2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/
--error 1
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000002 2>&1

View File

@ -163,6 +163,7 @@ BEGIN
### INSERT INTO `test1`.`t1` ### INSERT INTO `test1`.`t1`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -189,6 +190,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -215,6 +217,7 @@ BEGIN
### INSERT INTO `test3`.`t3` ### INSERT INTO `test3`.`t3`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -256,6 +259,7 @@ BEGIN
### DELETE FROM `test2`.`t2` ### DELETE FROM `test2`.`t2`
### WHERE ### WHERE
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 6
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -282,6 +286,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -310,6 +315,7 @@ BEGIN
### DELETE FROM `test2`.`t2` ### DELETE FROM `test2`.`t2`
### WHERE ### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -387,6 +393,7 @@ BEGIN
### INSERT INTO `test1`.`t1` ### INSERT INTO `test1`.`t1`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -551,6 +558,7 @@ BEGIN
### INSERT INTO `test1`.`t1` ### INSERT INTO `test1`.`t1`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -574,6 +582,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -597,6 +606,7 @@ BEGIN
### INSERT INTO `test3`.`t3` ### INSERT INTO `test3`.`t3`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -633,6 +643,7 @@ BEGIN
### DELETE FROM `test2`.`t2` ### DELETE FROM `test2`.`t2`
### WHERE ### WHERE
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 6
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -656,6 +667,7 @@ BEGIN
### INSERT INTO `test2`.`t2` ### INSERT INTO `test2`.`t2`
### SET ### SET
### @1=3 /* INT meta=0 nullable=1 is_null=0 */ ### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
@ -679,6 +691,7 @@ BEGIN
### DELETE FROM `test2`.`t2` ### DELETE FROM `test2`.`t2`
### WHERE ### WHERE
### @1=1 /* INT meta=0 nullable=1 is_null=0 */ ### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at # # at #
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;

View File

@ -1 +1 @@
--binlog-row-event-max-size=4294967295 --binlog-row-event-max-size=4294967040

View File

@ -2,6 +2,8 @@
--source include/have_log_bin.inc --source include/have_log_bin.inc
--source include/binlog_start_pos.inc --source include/binlog_start_pos.inc
reset master;
--let $pos=`select $binlog_start_pos + 73` --let $pos=`select $binlog_start_pos + 73`
--let $binlog_file=query_get_value(SHOW MASTER STATUS, File, 1) --let $binlog_file=query_get_value(SHOW MASTER STATUS, File, 1)

View File

@ -146,4 +146,3 @@ DROP TABLE t1;
# NOTE: If you want to see the *huge* mysqlbinlog output, disable next line: # NOTE: If you want to see the *huge* mysqlbinlog output, disable next line:
# #
--remove_file $MYSQLTEST_VARDIR/$mysqlbinlog_output --remove_file $MYSQLTEST_VARDIR/$mysqlbinlog_output

View File

@ -261,7 +261,7 @@ set global sql_mode=default;
# #
--error 1 --error 1
--exec $MYSQL_BINLOG --read-from-remote-server --ssl-ca --user=root --host=localhost nobinlog.111111 --exec $MYSQL_BINLOG --read-from-remote-server --ssl-ca --user=root --host=localhost nobinlog.111111 2>&1
# Wait till we reached the initial number of concurrent sessions # Wait till we reached the initial number of concurrent sessions
--source include/wait_until_count_sessions.inc --source include/wait_until_count_sessions.inc

View File

@ -249,18 +249,16 @@ my_off_t my_b_filelength(IO_CACHE *info)
} }
size_t my_bool
my_b_write_backtick_quote(IO_CACHE *info, const char *str, size_t len) my_b_write_backtick_quote(IO_CACHE *info, const char *str, size_t len)
{ {
const uchar *start; const uchar *start;
const uchar *p= (const uchar *)str; const uchar *p= (const uchar *)str;
const uchar *end= p + len; const uchar *end= p + len;
size_t count; size_t count;
size_t total= 0;
if (my_b_write(info, (uchar *)"`", 1)) if (my_b_write(info, (uchar *)"`", 1))
return (size_t)-1; return 1;
++total;
for (;;) for (;;)
{ {
start= p; start= p;
@ -269,34 +267,31 @@ my_b_write_backtick_quote(IO_CACHE *info, const char *str, size_t len)
count= p - start; count= p - start;
if (count && my_b_write(info, start, count)) if (count && my_b_write(info, start, count))
return (size_t)-1; return (size_t)-1;
total+= count;
if (p >= end) if (p >= end)
break; break;
if (my_b_write(info, (uchar *)"``", 2)) if (my_b_write(info, (uchar *)"``", 2))
return (size_t)-1; return (size_t)-1;
total+= 2;
++p; ++p;
} }
if (my_b_write(info, (uchar *)"`", 1)) return (my_b_write(info, (uchar *)"`", 1));
return (size_t)-1;
++total;
return total;
} }
/* /*
Simple printf version. Supports '%s', '%d', '%u', "%ld" and "%lu" Simple printf version. Supports '%s', '%d', '%u', "%ld" and "%lu"
Used for logging in MySQL Used for logging in MariaDB
returns number of written character, or (size_t) -1 on error
@return 0 ok
1 error
*/ */
size_t my_b_printf(IO_CACHE *info, const char* fmt, ...) my_bool my_b_printf(IO_CACHE *info, const char* fmt, ...)
{ {
size_t result; size_t result;
va_list args; va_list args;
va_start(args,fmt); va_start(args,fmt);
result=my_b_vprintf(info, fmt, args); result=my_b_vprintf(info, fmt, args);
va_end(args); va_end(args);
return result; return result == (size_t) -1;
} }

View File

@ -2992,7 +2992,6 @@ bool MYSQL_QUERY_LOG::write(THD *thd, time_t current_time,
mysql_mutex_lock(&LOCK_log); mysql_mutex_lock(&LOCK_log);
if (is_open()) if (is_open())
{ // Safety agains reopen { // Safety agains reopen
int tmp_errno= 0;
char buff[80], *end; char buff[80], *end;
char query_time_buff[22+7], lock_time_buff[22+7]; char query_time_buff[22+7], lock_time_buff[22+7];
size_t buff_len; size_t buff_len;
@ -3014,16 +3013,13 @@ bool MYSQL_QUERY_LOG::write(THD *thd, time_t current_time,
/* Note that my_b_write() assumes it knows the length for this */ /* Note that my_b_write() assumes it knows the length for this */
if (my_b_write(&log_file, (uchar*) buff, buff_len)) if (my_b_write(&log_file, (uchar*) buff, buff_len))
tmp_errno= errno; goto err;
} }
const uchar uh[]= "# User@Host: "; const uchar uh[]= "# User@Host: ";
if (my_b_write(&log_file, uh, sizeof(uh) - 1)) if (my_b_write(&log_file, uh, sizeof(uh) - 1) ||
tmp_errno= errno; my_b_write(&log_file, (uchar*) user_host, user_host_len) ||
if (my_b_write(&log_file, (uchar*) user_host, user_host_len)) my_b_write(&log_file, (uchar*) "\n", 1))
tmp_errno= errno; goto err;
if (my_b_write(&log_file, (uchar*) "\n", 1))
tmp_errno= errno;
}
/* For slow query log */ /* For slow query log */
sprintf(query_time_buff, "%.6f", ulonglong2double(query_utime)/1000000.0); sprintf(query_time_buff, "%.6f", ulonglong2double(query_utime)/1000000.0);
@ -3039,8 +3035,8 @@ bool MYSQL_QUERY_LOG::write(THD *thd, time_t current_time,
(ulong) thd->get_examined_row_count(), (ulong) thd->get_examined_row_count(),
thd->get_stmt_da()->is_ok() ? thd->get_stmt_da()->is_ok() ?
(ulong) thd->get_stmt_da()->affected_rows() : (ulong) thd->get_stmt_da()->affected_rows() :
0) == (size_t) -1) 0))
tmp_errno= errno; goto err;
if ((thd->variables.log_slow_verbosity & LOG_SLOW_VERBOSITY_QUERY_PLAN) && if ((thd->variables.log_slow_verbosity & LOG_SLOW_VERBOSITY_QUERY_PLAN) &&
(thd->query_plan_flags & (thd->query_plan_flags &
(QPLAN_FULL_SCAN | QPLAN_FULL_JOIN | QPLAN_TMP_TABLE | (QPLAN_FULL_SCAN | QPLAN_FULL_JOIN | QPLAN_TMP_TABLE |
@ -3060,21 +3056,22 @@ bool MYSQL_QUERY_LOG::write(THD *thd, time_t current_time,
thd->query_plan_fsort_passes, thd->query_plan_fsort_passes,
((thd->query_plan_flags & QPLAN_FILESORT_PRIORITY_QUEUE) ? ((thd->query_plan_flags & QPLAN_FILESORT_PRIORITY_QUEUE) ?
"Yes" : "No") "Yes" : "No")
) == (size_t) -1) ))
tmp_errno= errno; goto err;
if (thd->variables.log_slow_verbosity & LOG_SLOW_VERBOSITY_EXPLAIN && if (thd->variables.log_slow_verbosity & LOG_SLOW_VERBOSITY_EXPLAIN &&
thd->lex->explain) thd->lex->explain)
{ {
StringBuffer<128> buf; StringBuffer<128> buf;
DBUG_ASSERT(!thd->free_list); DBUG_ASSERT(!thd->free_list);
if (!print_explain_for_slow_log(thd->lex, thd, &buf)) if (!print_explain_for_slow_log(thd->lex, thd, &buf))
my_b_printf(&log_file, "%s", buf.c_ptr_safe()); if (my_b_printf(&log_file, "%s", buf.c_ptr_safe()))
goto err;
thd->free_items(); thd->free_items();
} }
if (thd->db && strcmp(thd->db, db)) if (thd->db && strcmp(thd->db, db))
{ // Database changed { // Database changed
if (my_b_printf(&log_file,"use %s;\n",thd->db) == (size_t) -1) if (my_b_printf(&log_file,"use %s;\n",thd->db))
tmp_errno= errno; goto err;
strmov(db,thd->db); strmov(db,thd->db);
} }
if (thd->stmt_depends_on_first_successful_insert_id_in_prev_stmt) if (thd->stmt_depends_on_first_successful_insert_id_in_prev_stmt)
@ -3110,7 +3107,7 @@ bool MYSQL_QUERY_LOG::write(THD *thd, time_t current_time,
*end='\n'; *end='\n';
if (my_b_write(&log_file, (uchar*) "SET ", 4) || if (my_b_write(&log_file, (uchar*) "SET ", 4) ||
my_b_write(&log_file, (uchar*) buff + 1, (uint) (end-buff))) my_b_write(&log_file, (uchar*) buff + 1, (uint) (end-buff)))
tmp_errno= errno; goto err;
} }
if (is_command) if (is_command)
{ {
@ -3119,24 +3116,27 @@ bool MYSQL_QUERY_LOG::write(THD *thd, time_t current_time,
DBUG_EXECUTE_IF("simulate_slow_log_write_error", DBUG_EXECUTE_IF("simulate_slow_log_write_error",
{DBUG_SET("+d,simulate_file_write_error");}); {DBUG_SET("+d,simulate_file_write_error");});
if(my_b_write(&log_file, (uchar*) buff, buff_len)) if(my_b_write(&log_file, (uchar*) buff, buff_len))
tmp_errno= errno; goto err;
} }
if (my_b_write(&log_file, (uchar*) sql_text, sql_text_len) || if (my_b_write(&log_file, (uchar*) sql_text, sql_text_len) ||
my_b_write(&log_file, (uchar*) ";\n",2) || my_b_write(&log_file, (uchar*) ";\n",2) ||
flush_io_cache(&log_file)) flush_io_cache(&log_file))
tmp_errno= errno; goto err;
if (tmp_errno)
{ }
}
end:
mysql_mutex_unlock(&LOCK_log);
DBUG_RETURN(error);
err:
error= 1; error= 1;
if (! write_error) if (! write_error)
{ {
write_error= 1; write_error= 1;
sql_print_error(ER_THD(thd, ER_ERROR_ON_WRITE), name, tmp_errno); sql_print_error(ER_THD(thd, ER_ERROR_ON_WRITE), name, errno);
} }
} goto end;
}
mysql_mutex_unlock(&LOCK_log);
DBUG_RETURN(error);
} }

File diff suppressed because it is too large Load Diff

View File

@ -802,6 +802,8 @@ class Format_description_log_event;
class Relay_log_info; class Relay_log_info;
class binlog_cache_data; class binlog_cache_data;
bool copy_event_cache_to_file_and_reinit(IO_CACHE *cache, FILE *file);
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
enum enum_base64_output_mode { enum enum_base64_output_mode {
BASE64_OUTPUT_NEVER= 0, BASE64_OUTPUT_NEVER= 0,
@ -813,6 +815,8 @@ enum enum_base64_output_mode {
BASE64_OUTPUT_MODE_COUNT BASE64_OUTPUT_MODE_COUNT
}; };
bool copy_event_cache_to_string_and_reinit(IO_CACHE *cache, LEX_STRING *to);
/* /*
A structure for mysqlbinlog to know how to print events A structure for mysqlbinlog to know how to print events
@ -832,33 +836,63 @@ typedef struct st_print_event_info
that was printed. We cache these so that we don't have to print that was printed. We cache these so that we don't have to print
them if they are unchanged. them if they are unchanged.
*/ */
// TODO: have the last catalog here ??
char db[FN_REFLEN+1]; // TODO: make this a LEX_STRING when thd->db is char db[FN_REFLEN+1]; // TODO: make this a LEX_STRING when thd->db is
bool flags2_inited;
uint32 flags2;
bool sql_mode_inited;
sql_mode_t sql_mode; /* must be same as THD.variables.sql_mode */
ulong auto_increment_increment, auto_increment_offset;
bool charset_inited;
char charset[6]; // 3 variables, each of them storable in 2 bytes char charset[6]; // 3 variables, each of them storable in 2 bytes
char time_zone_str[MAX_TIME_ZONE_NAME_LENGTH]; char time_zone_str[MAX_TIME_ZONE_NAME_LENGTH];
char delimiter[16];
sql_mode_t sql_mode; /* must be same as THD.variables.sql_mode */
my_thread_id thread_id;
ulonglong row_events;
ulong auto_increment_increment, auto_increment_offset;
uint lc_time_names_number; uint lc_time_names_number;
uint charset_database_number; uint charset_database_number;
my_thread_id thread_id; uint verbose;
bool thread_id_printed; uint32 flags2;
uint32 server_id; uint32 server_id;
bool server_id_printed;
uint32 domain_id; uint32 domain_id;
uint8 common_header_len;
enum_base64_output_mode base64_output_mode;
my_off_t hexdump_from;
table_mapping m_table_map;
table_mapping m_table_map_ignored;
bool flags2_inited;
bool sql_mode_inited;
bool charset_inited;
bool thread_id_printed;
bool server_id_printed;
bool domain_id_printed; bool domain_id_printed;
bool allow_parallel; bool allow_parallel;
bool allow_parallel_printed; bool allow_parallel_printed;
bool found_row_event;
bool print_row_count;
/* Settings on how to print the events */
bool short_form;
/*
This is set whenever a Format_description_event is printed.
Later, when an event is printed in base64, this flag is tested: if
no Format_description_event has been seen, it is unsafe to print
the base64 event, so an error message is generated.
*/
bool printed_fd_event;
/* /*
Track when @@skip_replication changes so we need to output a SET Track when @@skip_replication changes so we need to output a SET
statement for it. statement for it.
*/ */
int skip_replication; bool skip_replication;
/*
These two caches are used by the row-based replication events to
collect the header information and the main body of the events
making up a statement.
*/
IO_CACHE head_cache;
IO_CACHE body_cache;
#ifdef WHEN_FLASHBACK_REVIEW_READY
/* Storing the SQL for reviewing */
IO_CACHE review_sql_cache;
#endif
FILE *file;
st_print_event_info(); st_print_event_info();
~st_print_event_info() { ~st_print_event_info() {
@ -874,37 +908,12 @@ typedef struct st_print_event_info
&& my_b_inited(&review_sql_cache) && my_b_inited(&review_sql_cache)
#endif #endif
; } ; }
void flush_for_error()
{
/* Settings on how to print the events */ if (!copy_event_cache_to_file_and_reinit(&head_cache, file))
bool short_form; copy_event_cache_to_file_and_reinit(&body_cache, file);
enum_base64_output_mode base64_output_mode; fflush(file);
/* }
This is set whenever a Format_description_event is printed.
Later, when an event is printed in base64, this flag is tested: if
no Format_description_event has been seen, it is unsafe to print
the base64 event, so an error message is generated.
*/
bool printed_fd_event;
my_off_t hexdump_from;
uint8 common_header_len;
char delimiter[16];
uint verbose;
table_mapping m_table_map;
table_mapping m_table_map_ignored;
/*
These two caches are used by the row-based replication events to
collect the header information and the main body of the events
making up a statement.
*/
IO_CACHE head_cache;
IO_CACHE body_cache;
#ifdef WHEN_FLASHBACK_REVIEW_READY
/* Storing the SQL for reviewing */
IO_CACHE review_sql_cache;
#endif
} PRINT_EVENT_INFO; } PRINT_EVENT_INFO;
#endif #endif
@ -1250,11 +1259,11 @@ public:
Log_event() : temp_buf(0), when(0), flags(0) {} Log_event() : temp_buf(0), when(0), flags(0) {}
ha_checksum crc; ha_checksum crc;
/* print*() functions are used by mysqlbinlog */ /* print*() functions are used by mysqlbinlog */
virtual void print(FILE* file, PRINT_EVENT_INFO* print_event_info) = 0; virtual bool print(FILE* file, PRINT_EVENT_INFO* print_event_info) = 0;
void print_timestamp(IO_CACHE* file, time_t *ts = 0); bool print_timestamp(IO_CACHE* file, time_t *ts = 0);
void print_header(IO_CACHE* file, PRINT_EVENT_INFO* print_event_info, bool print_header(IO_CACHE* file, PRINT_EVENT_INFO* print_event_info,
bool is_more); bool is_more);
void print_base64(IO_CACHE* file, PRINT_EVENT_INFO* print_event_info, bool print_base64(IO_CACHE* file, PRINT_EVENT_INFO* print_event_info,
bool is_more); bool is_more);
#endif /* MYSQL_SERVER */ #endif /* MYSQL_SERVER */
@ -2113,8 +2122,8 @@ public:
void pack_info(Protocol* protocol); void pack_info(Protocol* protocol);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print_query_header(IO_CACHE* file, PRINT_EVENT_INFO* print_event_info); bool print_query_header(IO_CACHE* file, PRINT_EVENT_INFO* print_event_info);
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
#endif #endif
Query_log_event(); Query_log_event();
@ -2453,7 +2462,7 @@ protected:
const Format_description_log_event* description_event); const Format_description_log_event* description_event);
public: public:
void print_query(THD *thd, bool need_db, const char *cs, String *buf, bool print_query(THD *thd, bool need_db, const char *cs, String *buf,
my_off_t *fn_start, my_off_t *fn_end, my_off_t *fn_start, my_off_t *fn_end,
const char *qualify_db); const char *qualify_db);
my_thread_id thread_id; my_thread_id thread_id;
@ -2519,8 +2528,8 @@ public:
void pack_info(Protocol* protocol); void pack_info(Protocol* protocol);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
void print(FILE* file, PRINT_EVENT_INFO* print_event_info, bool commented); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info, bool commented);
#endif #endif
/* /*
@ -2617,7 +2626,7 @@ public:
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
Start_log_event_v3() {} Start_log_event_v3() {}
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
#endif #endif
Start_log_event_v3(const char* buf, uint event_len, Start_log_event_v3(const char* buf, uint event_len,
@ -2686,7 +2695,7 @@ public:
write_data(nonce, BINLOG_NONCE_LENGTH); write_data(nonce, BINLOG_NONCE_LENGTH);
} }
#else #else
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
#endif #endif
Start_encryption_log_event( Start_encryption_log_event(
@ -2874,7 +2883,7 @@ Intvar_log_event(THD* thd_arg,uchar type_arg, ulonglong val_arg,
void pack_info(Protocol* protocol); void pack_info(Protocol* protocol);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
#endif #endif
Intvar_log_event(const char* buf, Intvar_log_event(const char* buf,
@ -2955,7 +2964,7 @@ class Rand_log_event: public Log_event
void pack_info(Protocol* protocol); void pack_info(Protocol* protocol);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
#endif #endif
Rand_log_event(const char* buf, Rand_log_event(const char* buf,
@ -3005,7 +3014,7 @@ class Xid_log_event: public Log_event
void pack_info(Protocol* protocol); void pack_info(Protocol* protocol);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
#endif #endif
Xid_log_event(const char* buf, Xid_log_event(const char* buf,
@ -3067,7 +3076,7 @@ public:
} }
void pack_info(Protocol* protocol); void pack_info(Protocol* protocol);
#else #else
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
#endif #endif
User_var_log_event(const char* buf, uint event_len, User_var_log_event(const char* buf, uint event_len,
@ -3115,7 +3124,7 @@ public:
Stop_log_event() :Log_event() Stop_log_event() :Log_event()
{} {}
#else #else
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
#endif #endif
Stop_log_event(const char* buf, Stop_log_event(const char* buf,
@ -3211,7 +3220,7 @@ public:
void pack_info(Protocol* protocol); void pack_info(Protocol* protocol);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
#endif #endif
Rotate_log_event(const char* buf, uint event_len, Rotate_log_event(const char* buf, uint event_len,
@ -3251,7 +3260,7 @@ public:
void pack_info(Protocol *protocol); void pack_info(Protocol *protocol);
#endif #endif
#else #else
void print(FILE *file, PRINT_EVENT_INFO *print_event_info); bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
Binlog_checkpoint_log_event(const char *buf, uint event_len, Binlog_checkpoint_log_event(const char *buf, uint event_len,
const Format_description_log_event *description_event); const Format_description_log_event *description_event);
@ -3376,7 +3385,7 @@ public:
virtual enum_skip_reason do_shall_skip(rpl_group_info *rgi); virtual enum_skip_reason do_shall_skip(rpl_group_info *rgi);
#endif #endif
#else #else
void print(FILE *file, PRINT_EVENT_INFO *print_event_info); bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
Gtid_log_event(const char *buf, uint event_len, Gtid_log_event(const char *buf, uint event_len,
const Format_description_log_event *description_event); const Format_description_log_event *description_event);
@ -3490,7 +3499,7 @@ public:
void pack_info(Protocol *protocol); void pack_info(Protocol *protocol);
#endif #endif
#else #else
void print(FILE *file, PRINT_EVENT_INFO *print_event_info); bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
Gtid_list_log_event(const char *buf, uint event_len, Gtid_list_log_event(const char *buf, uint event_len,
const Format_description_log_event *description_event); const Format_description_log_event *description_event);
@ -3554,8 +3563,8 @@ public:
void pack_info(Protocol* protocol); void pack_info(Protocol* protocol);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
void print(FILE* file, PRINT_EVENT_INFO* print_event_info, bool print(FILE* file, PRINT_EVENT_INFO* print_event_info,
bool enable_local); bool enable_local);
#endif #endif
@ -3627,7 +3636,7 @@ public:
virtual int get_create_or_append() const; virtual int get_create_or_append() const;
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
#endif #endif
Append_block_log_event(const char* buf, uint event_len, Append_block_log_event(const char* buf, uint event_len,
@ -3667,8 +3676,8 @@ public:
void pack_info(Protocol* protocol); void pack_info(Protocol* protocol);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
void print(FILE* file, PRINT_EVENT_INFO* print_event_info, bool print(FILE* file, PRINT_EVENT_INFO* print_event_info,
bool enable_local); bool enable_local);
#endif #endif
@ -3708,7 +3717,7 @@ public:
void pack_info(Protocol* protocol); void pack_info(Protocol* protocol);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
#endif #endif
Execute_load_log_event(const char* buf, uint event_len, Execute_load_log_event(const char* buf, uint event_len,
@ -3804,9 +3813,9 @@ public:
void pack_info(Protocol* protocol); void pack_info(Protocol* protocol);
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
#else #else
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
/* Prints the query as LOAD DATA LOCAL and with rewritten filename */ /* Prints the query as LOAD DATA LOCAL and with rewritten filename */
void print(FILE* file, PRINT_EVENT_INFO* print_event_info, bool print(FILE* file, PRINT_EVENT_INFO* print_event_info,
const char *local_fname); const char *local_fname);
#endif #endif
Execute_load_query_log_event(const char* buf, uint event_len, Execute_load_query_log_event(const char* buf, uint event_len,
@ -3851,7 +3860,7 @@ public:
/* constructor for hopelessly corrupted events */ /* constructor for hopelessly corrupted events */
Unknown_log_event(): Log_event(), what(ENCRYPTED) {} Unknown_log_event(): Log_event(), what(ENCRYPTED) {}
~Unknown_log_event() {} ~Unknown_log_event() {}
void print(FILE* file, PRINT_EVENT_INFO* print_event_info); bool print(FILE* file, PRINT_EVENT_INFO* print_event_info);
Log_event_type get_type_code() { return UNKNOWN_EVENT;} Log_event_type get_type_code() { return UNKNOWN_EVENT;}
bool is_valid() const { return 1; } bool is_valid() const { return 1; }
}; };
@ -3896,7 +3905,7 @@ public:
#endif #endif
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
virtual void print(FILE*, PRINT_EVENT_INFO*); virtual bool print(FILE*, PRINT_EVENT_INFO*);
#endif #endif
#if !defined(MYSQL_CLIENT) && defined(HAVE_REPLICATION) #if !defined(MYSQL_CLIENT) && defined(HAVE_REPLICATION)
@ -4316,7 +4325,7 @@ public:
#endif #endif
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
virtual void print(FILE *file, PRINT_EVENT_INFO *print_event_info); virtual bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
@ -4437,15 +4446,21 @@ public:
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
/* not for direct call, each derived has its own ::print() */ /* not for direct call, each derived has its own ::print() */
virtual void print(FILE *file, PRINT_EVENT_INFO *print_event_info)= 0; virtual bool print(FILE *file, PRINT_EVENT_INFO *print_event_info)= 0;
void change_to_flashback_event(PRINT_EVENT_INFO *print_event_info, uchar *rows_buff, Log_event_type ev_type); void change_to_flashback_event(PRINT_EVENT_INFO *print_event_info, uchar *rows_buff, Log_event_type ev_type);
void print_verbose(IO_CACHE *file, bool print_verbose(IO_CACHE *file,
PRINT_EVENT_INFO *print_event_info); PRINT_EVENT_INFO *print_event_info);
size_t print_verbose_one_row(IO_CACHE *file, table_def *td, size_t print_verbose_one_row(IO_CACHE *file, table_def *td,
PRINT_EVENT_INFO *print_event_info, PRINT_EVENT_INFO *print_event_info,
MY_BITMAP *cols_bitmap, MY_BITMAP *cols_bitmap,
const uchar *ptr, const uchar *prefix, const uchar *ptr, const uchar *prefix,
const my_bool no_fill_output= 0); // if no_fill_output=1, then print result is unnecessary const my_bool no_fill_output= 0); // if no_fill_output=1, then print result is unnecessary
size_t calc_row_event_length(table_def *td,
PRINT_EVENT_INFO *print_event_info,
MY_BITMAP *cols_bitmap,
const uchar *value);
void count_row_events(PRINT_EVENT_INFO *print_event_info);
#endif #endif
#ifdef MYSQL_SERVER #ifdef MYSQL_SERVER
@ -4552,7 +4567,7 @@ protected:
void uncompress_buf(); void uncompress_buf();
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
void print_helper(FILE *, PRINT_EVENT_INFO *, char const *const name); bool print_helper(FILE *, PRINT_EVENT_INFO *, char const *const name);
#endif #endif
#ifdef MYSQL_SERVER #ifdef MYSQL_SERVER
@ -4756,7 +4771,7 @@ private:
virtual Log_event_type get_general_type_code() { return (Log_event_type)TYPE_CODE; } virtual Log_event_type get_general_type_code() { return (Log_event_type)TYPE_CODE; }
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
void print(FILE *file, PRINT_EVENT_INFO *print_event_info); bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
#if defined(MYSQL_SERVER) && defined(HAVE_REPLICATION) #if defined(MYSQL_SERVER) && defined(HAVE_REPLICATION)
@ -4780,7 +4795,7 @@ public:
#endif #endif
private: private:
#if defined(MYSQL_CLIENT) #if defined(MYSQL_CLIENT)
void print(FILE *file, PRINT_EVENT_INFO *print_event_info); bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
}; };
@ -4843,7 +4858,7 @@ protected:
virtual Log_event_type get_general_type_code() { return (Log_event_type)TYPE_CODE; } virtual Log_event_type get_general_type_code() { return (Log_event_type)TYPE_CODE; }
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
void print(FILE *file, PRINT_EVENT_INFO *print_event_info); bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
#if defined(MYSQL_SERVER) && defined(HAVE_REPLICATION) #if defined(MYSQL_SERVER) && defined(HAVE_REPLICATION)
@ -4867,7 +4882,7 @@ public:
#endif #endif
private: private:
#if defined(MYSQL_CLIENT) #if defined(MYSQL_CLIENT)
void print(FILE *file, PRINT_EVENT_INFO *print_event_info); bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
}; };
@ -4927,7 +4942,7 @@ protected:
virtual Log_event_type get_general_type_code() { return (Log_event_type)TYPE_CODE; } virtual Log_event_type get_general_type_code() { return (Log_event_type)TYPE_CODE; }
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
void print(FILE *file, PRINT_EVENT_INFO *print_event_info); bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
#if defined(MYSQL_SERVER) && defined(HAVE_REPLICATION) #if defined(MYSQL_SERVER) && defined(HAVE_REPLICATION)
@ -4950,7 +4965,7 @@ public:
#endif #endif
private: private:
#if defined(MYSQL_CLIENT) #if defined(MYSQL_CLIENT)
void print(FILE *file, PRINT_EVENT_INFO *print_event_info); bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
}; };
@ -5044,7 +5059,7 @@ public:
virtual ~Incident_log_event(); virtual ~Incident_log_event();
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
virtual void print(FILE *file, PRINT_EVENT_INFO *print_event_info); virtual bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
#if defined(MYSQL_SERVER) && defined(HAVE_REPLICATION) #if defined(MYSQL_SERVER) && defined(HAVE_REPLICATION)
@ -5111,7 +5126,7 @@ public:
#endif #endif
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
virtual void print(FILE *file, PRINT_EVENT_INFO *print_event_info); virtual bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
virtual Log_event_type get_type_code() { return IGNORABLE_LOG_EVENT; } virtual Log_event_type get_type_code() { return IGNORABLE_LOG_EVENT; }
@ -5121,38 +5136,6 @@ public:
virtual int get_data_size() { return IGNORABLE_HEADER_LEN; } virtual int get_data_size() { return IGNORABLE_HEADER_LEN; }
}; };
static inline bool copy_event_cache_to_string_and_reinit(IO_CACHE *cache, LEX_STRING *to)
{
String tmp;
reinit_io_cache(cache, READ_CACHE, 0L, FALSE, FALSE);
if (tmp.append(cache, (uint32)cache->end_of_file))
goto err;
reinit_io_cache(cache, WRITE_CACHE, 0, FALSE, TRUE);
/*
Can't change the order, because the String::release() will clear the
length.
*/
to->length= tmp.length();
to->str= tmp.release();
return false;
err:
perror("Out of memory: can't allocate memory in copy_event_cache_to_string_and_reinit().");
return true;
}
static inline bool copy_event_cache_to_file_and_reinit(IO_CACHE *cache,
FILE *file)
{
return
my_b_copy_to_file(cache, file) ||
reinit_io_cache(cache, WRITE_CACHE, 0, FALSE, TRUE);
}
#ifdef MYSQL_SERVER #ifdef MYSQL_SERVER
/***************************************************************************** /*****************************************************************************

View File

@ -1845,7 +1845,7 @@ void Old_rows_log_event::pack_info(Protocol *protocol)
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
void Old_rows_log_event::print_helper(FILE *file, bool Old_rows_log_event::print_helper(FILE *file,
PRINT_EVENT_INFO *print_event_info, PRINT_EVENT_INFO *print_event_info,
char const *const name) char const *const name)
{ {
@ -1854,18 +1854,23 @@ void Old_rows_log_event::print_helper(FILE *file,
if (!print_event_info->short_form) if (!print_event_info->short_form)
{ {
bool const last_stmt_event= get_flags(STMT_END_F); bool const last_stmt_event= get_flags(STMT_END_F);
print_header(head, print_event_info, !last_stmt_event); if (print_header(head, print_event_info, !last_stmt_event) ||
my_b_printf(head, "\t%s: table id %lu%s\n", my_b_printf(head, "\t%s: table id %lu%s\n",
name, m_table_id, name, m_table_id,
last_stmt_event ? " flags: STMT_END_F" : ""); last_stmt_event ? " flags: STMT_END_F" : "") ||
print_base64(body, print_event_info, !last_stmt_event); print_base64(body, print_event_info, !last_stmt_event))
goto err;
} }
if (get_flags(STMT_END_F)) if (get_flags(STMT_END_F))
{ {
copy_event_cache_to_file_and_reinit(head, file); if (copy_event_cache_to_file_and_reinit(head, file) ||
copy_event_cache_to_file_and_reinit(body, file); copy_event_cache_to_file_and_reinit(body, file))
goto err;
} }
return 0;
err:
return 1;
} }
#endif #endif
@ -2491,10 +2496,11 @@ Write_rows_log_event_old::do_exec_row(rpl_group_info *rgi)
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
void Write_rows_log_event_old::print(FILE *file, bool Write_rows_log_event_old::print(FILE *file,
PRINT_EVENT_INFO* print_event_info) PRINT_EVENT_INFO* print_event_info)
{ {
Old_rows_log_event::print_helper(file, print_event_info, "Write_rows_old"); return Old_rows_log_event::print_helper(file, print_event_info,
"Write_rows_old");
} }
#endif #endif
@ -2598,10 +2604,11 @@ int Delete_rows_log_event_old::do_exec_row(rpl_group_info *rgi)
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
void Delete_rows_log_event_old::print(FILE *file, bool Delete_rows_log_event_old::print(FILE *file,
PRINT_EVENT_INFO* print_event_info) PRINT_EVENT_INFO* print_event_info)
{ {
Old_rows_log_event::print_helper(file, print_event_info, "Delete_rows_old"); return Old_rows_log_event::print_helper(file, print_event_info,
"Delete_rows_old");
} }
#endif #endif
@ -2736,9 +2743,10 @@ Update_rows_log_event_old::do_exec_row(rpl_group_info *rgi)
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
void Update_rows_log_event_old::print(FILE *file, bool Update_rows_log_event_old::print(FILE *file,
PRINT_EVENT_INFO* print_event_info) PRINT_EVENT_INFO* print_event_info)
{ {
Old_rows_log_event::print_helper(file, print_event_info, "Update_rows_old"); return Old_rows_log_event::print_helper(file, print_event_info,
"Update_rows_old");
} }
#endif #endif

View File

@ -116,7 +116,7 @@ public:
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
/* not for direct call, each derived has its own ::print() */ /* not for direct call, each derived has its own ::print() */
virtual void print(FILE *file, PRINT_EVENT_INFO *print_event_info)= 0; virtual bool print(FILE *file, PRINT_EVENT_INFO *print_event_info)= 0;
#endif #endif
#ifndef MYSQL_CLIENT #ifndef MYSQL_CLIENT
@ -166,7 +166,7 @@ protected:
const Format_description_log_event *description_event); const Format_description_log_event *description_event);
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
void print_helper(FILE *, PRINT_EVENT_INFO *, char const *const name); bool print_helper(FILE *, PRINT_EVENT_INFO *, char const *const name);
#endif #endif
#ifndef MYSQL_CLIENT #ifndef MYSQL_CLIENT
@ -379,7 +379,7 @@ public:
private: private:
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
void print(FILE *file, PRINT_EVENT_INFO *print_event_info); bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
#if !defined(MYSQL_CLIENT) && defined(HAVE_REPLICATION) #if !defined(MYSQL_CLIENT) && defined(HAVE_REPLICATION)
@ -455,7 +455,7 @@ public:
protected: protected:
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
void print(FILE *file, PRINT_EVENT_INFO *print_event_info); bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
#if !defined(MYSQL_CLIENT) && defined(HAVE_REPLICATION) #if !defined(MYSQL_CLIENT) && defined(HAVE_REPLICATION)
@ -529,7 +529,7 @@ public:
protected: protected:
#ifdef MYSQL_CLIENT #ifdef MYSQL_CLIENT
void print(FILE *file, PRINT_EVENT_INFO *print_event_info); bool print(FILE *file, PRINT_EVENT_INFO *print_event_info);
#endif #endif
#if !defined(MYSQL_CLIENT) && defined(HAVE_REPLICATION) #if !defined(MYSQL_CLIENT) && defined(HAVE_REPLICATION)

View File

@ -7259,7 +7259,7 @@ struct my_option my_long_options[]=
"The value has to be a multiple of 256.", "The value has to be a multiple of 256.",
&opt_binlog_rows_event_max_size, &opt_binlog_rows_event_max_size, &opt_binlog_rows_event_max_size, &opt_binlog_rows_event_max_size,
0, GET_ULONG, REQUIRED_ARG, 0, GET_ULONG, REQUIRED_ARG,
/* def_value */ 8192, /* min_value */ 256, /* max_value */ ULONG_MAX, /* def_value */ 8192, /* min_value */ 256, /* max_value */ UINT32_MAX-1,
/* sub_size */ 0, /* block_size */ 256, /* sub_size */ 0, /* block_size */ 256,
/* app_type */ 0 /* app_type */ 0
}, },

View File

@ -1460,7 +1460,6 @@ rpl_binlog_state::write_to_iocache(IO_CACHE *dest)
mysql_mutex_lock(&LOCK_binlog_state); mysql_mutex_lock(&LOCK_binlog_state);
for (i= 0; i < hash.records; ++i) for (i= 0; i < hash.records; ++i)
{ {
size_t res;
element *e= (element *)my_hash_element(&hash, i); element *e= (element *)my_hash_element(&hash, i);
if (!e->last_gtid) if (!e->last_gtid)
{ {
@ -1480,8 +1479,8 @@ rpl_binlog_state::write_to_iocache(IO_CACHE *dest)
gtid= e->last_gtid; gtid= e->last_gtid;
longlong10_to_str(gtid->seq_no, buf, 10); longlong10_to_str(gtid->seq_no, buf, 10);
res= my_b_printf(dest, "%u-%u-%s\n", gtid->domain_id, gtid->server_id, buf); if (my_b_printf(dest, "%u-%u-%s\n", gtid->domain_id, gtid->server_id,
if (res == (size_t) -1) buf))
{ {
res= 1; res= 1;
goto end; goto end;

View File

@ -607,7 +607,7 @@ bool String::append(IO_CACHE* file, uint32 arg_length)
return TRUE; return TRUE;
if (my_b_read(file, (uchar*) Ptr + str_length, arg_length)) if (my_b_read(file, (uchar*) Ptr + str_length, arg_length))
{ {
shrink(str_length); shrink(str_length ? str_length : 1);
return TRUE; return TRUE;
} }
str_length+=arg_length; str_length+=arg_length;