Commit f4cd2b37 authored by Igor Babaev's avatar Igor Babaev

Merge 10.0-base -> mwl253

parents ab10dc8f 30b2c64c
...@@ -818,6 +818,88 @@ write_event_header_and_base64(Log_event *ev, FILE *result_file, ...@@ -818,6 +818,88 @@ write_event_header_and_base64(Log_event *ev, FILE *result_file,
} }
static bool print_base64(PRINT_EVENT_INFO *print_event_info, Log_event *ev)
{
/*
These events must be printed in base64 format, if printed.
base64 format requires a FD event to be safe, so if no FD
event has been printed, we give an error. Except if user
passed --short-form, because --short-form disables printing
row events.
*/
if (!print_event_info->printed_fd_event && !short_form &&
opt_base64_output_mode != BASE64_OUTPUT_DECODE_ROWS)
{
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 "
"Format_description_log_event. I now found a %s event, which "
"is not safe to process without a "
"Format_description_log_event.",
type_str);
return 1;
}
ev->print(result_file, print_event_info);
return print_event_info->head_cache.error == -1;
}
static bool print_row_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
ulong table_id, bool is_stmt_end)
{
Table_map_log_event *ignored_map=
print_event_info->m_table_map_ignored.get_table(table_id);
bool skip_event= (ignored_map != NULL);
/*
end of statement check:
i) destroy/free ignored maps
ii) if skip event, flush cache now
*/
if (is_stmt_end)
{
/*
Now is safe to clear ignored map (clear_tables will also
delete original table map events stored in the map).
*/
if (print_event_info->m_table_map_ignored.count() > 0)
print_event_info->m_table_map_ignored.clear_tables();
/*
If there is a kept Annotate event and all corresponding
rbr-events were filtered away, the Annotate event was not
freed and it is just the time to do it.
*/
free_annotate_event();
/*
One needs to take into account an event that gets
filtered but was last event in the statement. If this is
the case, previous rows events that were written into
IO_CACHEs still need to be copied from cache to
result_file (as it would happen in ev->print(...) if
event was not skipped).
*/
if (skip_event)
{
if ((copy_event_cache_to_file_and_reinit(&print_event_info->head_cache, result_file) ||
copy_event_cache_to_file_and_reinit(&print_event_info->body_cache, result_file)))
return 1;
}
}
/* skip the event check */
if (skip_event)
return 0;
return print_base64(print_event_info, ev);
}
/** /**
Print the given event, and either delete it or delegate the deletion Print the given event, and either delete it or delegate the deletion
to someone else. to someone else.
...@@ -1130,86 +1212,29 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev, ...@@ -1130,86 +1212,29 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
error("Could not rewrite database name"); error("Could not rewrite database name");
goto err; goto err;
} }
if (print_base64(print_event_info, ev))
goto err;
break;
} }
case WRITE_ROWS_EVENT: case WRITE_ROWS_EVENT:
case DELETE_ROWS_EVENT: case DELETE_ROWS_EVENT:
case UPDATE_ROWS_EVENT: case UPDATE_ROWS_EVENT:
case PRE_GA_WRITE_ROWS_EVENT:
case PRE_GA_DELETE_ROWS_EVENT:
case PRE_GA_UPDATE_ROWS_EVENT:
{
if (ev_type != TABLE_MAP_EVENT)
{ {
Rows_log_event *e= (Rows_log_event*) ev; Rows_log_event *e= (Rows_log_event*) ev;
Table_map_log_event *ignored_map= if (print_row_event(print_event_info, ev, e->get_table_id(),
print_event_info->m_table_map_ignored.get_table(e->get_table_id()); e->get_flags(Rows_log_event::STMT_END_F)))
bool skip_event= (ignored_map != NULL);
/*
end of statement check:
i) destroy/free ignored maps
ii) if skip event, flush cache now
*/
if (e->get_flags(Rows_log_event::STMT_END_F))
{
/*
Now is safe to clear ignored map (clear_tables will also
delete original table map events stored in the map).
*/
if (print_event_info->m_table_map_ignored.count() > 0)
print_event_info->m_table_map_ignored.clear_tables();
/*
If there is a kept Annotate event and all corresponding
rbr-events were filtered away, the Annotate event was not
freed and it is just the time to do it.
*/
free_annotate_event();
/*
One needs to take into account an event that gets
filtered but was last event in the statement. If this is
the case, previous rows events that were written into
IO_CACHEs still need to be copied from cache to
result_file (as it would happen in ev->print(...) if
event was not skipped).
*/
if (skip_event)
{
if ((copy_event_cache_to_file_and_reinit(&print_event_info->head_cache, result_file) ||
copy_event_cache_to_file_and_reinit(&print_event_info->body_cache, result_file)))
goto err; goto err;
break;
} }
} case PRE_GA_WRITE_ROWS_EVENT:
case PRE_GA_DELETE_ROWS_EVENT:
/* skip the event check */ case PRE_GA_UPDATE_ROWS_EVENT:
if (skip_event)
goto end;
}
/*
These events must be printed in base64 format, if printed.
base64 format requires a FD event to be safe, so if no FD
event has been printed, we give an error. Except if user
passed --short-form, because --short-form disables printing
row events.
*/
if (!print_event_info->printed_fd_event && !short_form &&
opt_base64_output_mode != BASE64_OUTPUT_DECODE_ROWS)
{ {
const char* type_str= ev->get_type_str(); Old_rows_log_event *e= (Old_rows_log_event*) ev;
if (opt_base64_output_mode == BASE64_OUTPUT_NEVER) if (print_row_event(print_event_info, ev, e->get_table_id(),
error("--base64-output=never specified, but binlog contains a " e->get_flags(Old_rows_log_event::STMT_END_F)))
"%s event which must be printed in base64.",
type_str);
else
error("malformed binlog: it does not contain any "
"Format_description_log_event. I now found a %s event, which "
"is not safe to process without a "
"Format_description_log_event.",
type_str);
goto err; goto err;
} break;
/* FALL THROUGH */
} }
default: default:
print_skip_replication_statement(print_event_info, ev); print_skip_replication_statement(print_event_info, ev);
......
...@@ -89,7 +89,7 @@ extern const char* _db_get_func_(void); ...@@ -89,7 +89,7 @@ extern const char* _db_get_func_(void);
#define DBUG_END() _db_end_ () #define DBUG_END() _db_end_ ()
#define DBUG_LOCK_FILE _db_lock_file_() #define DBUG_LOCK_FILE _db_lock_file_()
#define DBUG_UNLOCK_FILE _db_unlock_file_() #define DBUG_UNLOCK_FILE _db_unlock_file_()
#define DBUG_ASSERT(A) do { _db_flush_(); assert(A); } while(0) #define DBUG_ASSERT(A) assert(A)
#define DBUG_EXPLAIN(buf,len) _db_explain_(0, (buf),(len)) #define DBUG_EXPLAIN(buf,len) _db_explain_(0, (buf),(len))
#define DBUG_EXPLAIN_INITIAL(buf,len) _db_explain_init_((buf),(len)) #define DBUG_EXPLAIN_INITIAL(buf,len) _db_explain_init_((buf),(len))
#define DEBUGGER_OFF do { _dbug_on_= 0; } while(0) #define DEBUGGER_OFF do { _dbug_on_= 0; } while(0)
......
...@@ -393,7 +393,8 @@ C_MODE_END ...@@ -393,7 +393,8 @@ C_MODE_END
#define compile_time_assert(X) \ #define compile_time_assert(X) \
do \ do \
{ \ { \
typedef char compile_time_assert[(X) ? 1 : -1]; \ typedef char compile_time_assert[(X) ? 1 : -1] \
__attribute__((unused)); \
} while(0) } while(0)
#endif #endif
......
...@@ -34,6 +34,24 @@ ...@@ -34,6 +34,24 @@
#define MYSQL50_TABLE_NAME_PREFIX_LENGTH (sizeof(MYSQL50_TABLE_NAME_PREFIX)-1) #define MYSQL50_TABLE_NAME_PREFIX_LENGTH (sizeof(MYSQL50_TABLE_NAME_PREFIX)-1)
#define SAFE_NAME_LEN (NAME_LEN + MYSQL50_TABLE_NAME_PREFIX_LENGTH) #define SAFE_NAME_LEN (NAME_LEN + MYSQL50_TABLE_NAME_PREFIX_LENGTH)
/*
MDEV-4088
MySQL (and MariaDB 5.x before the fix) was using the first character of the
server version string (as sent in the first handshake protocol packet) to
decide on the replication event formats. And for 10.x the first character
is "1", which the slave thought comes from some ancient 1.x version
(ignoring the fact that the first ever MySQL version was 3.x).
To support replication to these old clients, we fake the version in the
first handshake protocol packet to start from "5.5.5-" (for example,
it might be "5.5.5-10.0.1-MariaDB-debug-log".
On the client side we remove this fake version prefix to restore the
correct server version. The version "5.5.5" did not support
pluggable authentication, so any version starting from "5.5.5-" and
claiming to support pluggable auth, must be using this fake prefix.
*/
#ifdef EMBEDDED_LIBRARY #ifdef EMBEDDED_LIBRARY
#define RPL_VERSION_HACK "" #define RPL_VERSION_HACK ""
#else #else
......
...@@ -98,6 +98,7 @@ SET(SQL_EMBEDDED_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc ...@@ -98,6 +98,7 @@ SET(SQL_EMBEDDED_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
../sql/rpl_reporting.cc ../sql/rpl_reporting.cc
../sql/sql_expression_cache.cc ../sql/sql_expression_cache.cc
../sql/my_apc.cc ../sql/my_apc.h ../sql/my_apc.cc ../sql/my_apc.h
../sql/rpl_gtid.cc
${GEN_SOURCES} ${GEN_SOURCES}
${MYSYS_LIBWRAP_SOURCE} ${MYSYS_LIBWRAP_SOURCE}
) )
......
...@@ -440,7 +440,7 @@ static MYSQL_RES * emb_store_result(MYSQL *mysql) ...@@ -440,7 +440,7 @@ static MYSQL_RES * emb_store_result(MYSQL *mysql)
int emb_read_change_user_result(MYSQL *mysql) int emb_read_change_user_result(MYSQL *mysql)
{ {
mysql->net.read_pos= (uchar*)""; // fake an OK packet mysql->net.read_pos= (uchar*)""; // fake an OK packet
return mysql_errno(mysql) ? packet_error : 1 /* length of the OK packet */; return mysql_errno(mysql) ? (int)packet_error : 1 /* length of the OK packet */;
} }
MYSQL_METHODS embedded_methods= MYSQL_METHODS embedded_methods=
......
...@@ -318,8 +318,8 @@ connection con4; ...@@ -318,8 +318,8 @@ connection con4;
select get_lock("a",10); # wait for rollback to finish select get_lock("a",10); # wait for rollback to finish
if (`select @@binlog_format = 'STATEMENT' || @@binlog_format = 'MIXED'`) if (`select @@binlog_format = 'STATEMENT' || @@binlog_format = 'MIXED'`)
{ {
--let $binlog_rollback= query_get_value(SHOW BINLOG EVENTS, Pos, 8) --let $binlog_rollback= query_get_value(SHOW BINLOG EVENTS, Pos, 11)
--let $binlog_query= query_get_value(SHOW BINLOG EVENTS, Info, 8) --let $binlog_query= query_get_value(SHOW BINLOG EVENTS, Info, 11)
if ($binlog_query != ROLLBACK) { if ($binlog_query != ROLLBACK) {
--echo Wrong query from SHOW BINLOG EVENTS. Expected ROLLBACK, got '$binlog_query' --echo Wrong query from SHOW BINLOG EVENTS. Expected ROLLBACK, got '$binlog_query'
--source include/show_rpl_debug_info.inc --source include/show_rpl_debug_info.inc
......
...@@ -325,8 +325,8 @@ if ($CRC_RET_stmt_sidef) { ...@@ -325,8 +325,8 @@ if ($CRC_RET_stmt_sidef) {
SHOW BINLOG EVENTS; SHOW BINLOG EVENTS;
--die Wrong number of warnings. --die Wrong number of warnings.
} }
# There should be no events after format description and binlog checkpoint. # There should be no events after format description, Gtid list, and binlog checkpoint.
--let $binlog_event= query_get_value(SHOW BINLOG EVENTS, Event_type, 3) --let $binlog_event= query_get_value(SHOW BINLOG EVENTS, Event_type, 4)
if ($binlog_event != No such row) { if ($binlog_event != No such row) {
--enable_query_log --enable_query_log
--echo ******** Failure! Something was written to the binlog despite SQL_LOG_BIN=0 ******** --echo ******** Failure! Something was written to the binlog despite SQL_LOG_BIN=0 ********
...@@ -346,14 +346,14 @@ if ($CRC_RET_stmt_sidef) { ...@@ -346,14 +346,14 @@ if ($CRC_RET_stmt_sidef) {
SHOW BINLOG EVENTS; SHOW BINLOG EVENTS;
--die Warnings printed --die Warnings printed
} }
--let $event_type= query_get_value(SHOW BINLOG EVENTS, Event_type, 4) --let $event_type= query_get_value(SHOW BINLOG EVENTS, Event_type, 5)
# The first event is format_description, the second is Binlog_checkpoint, # The first event is format_description, the second is Gtid list, the
# the third Query_event('BEGIN'), and the fourth should be our Query # third is Binlog_checkpoint, the fourth Gtid, and the fifth should be
# for 'INSERT DELAYED' unsafe_type 3, which is safe after # our Query for 'INSERT DELAYED' unsafe_type 3, which is safe after
# the fix of bug#54579. # the fix of bug#54579.
if (`SELECT $unsafe_type = 3 AND '$event_type' != 'Query'`) { if (`SELECT $unsafe_type = 3 AND '$event_type' != 'Query'`) {
--enable_query_log --enable_query_log
--echo ******** Failure! Event number 4 was a '$event_type', not a 'Query'. ******** --echo ******** Failure! Event number 5 was a '$event_type', not a 'Query'. ********
SHOW BINLOG EVENTS; SHOW BINLOG EVENTS;
--die Wrong events in binlog. --die Wrong events in binlog.
} }
......
...@@ -34,7 +34,7 @@ INSERT INTO t3 VALUES (3); ...@@ -34,7 +34,7 @@ INSERT INTO t3 VALUES (3);
COMMIT; COMMIT;
save_master_pos; save_master_pos;
# Save BEGIN event into variable # Save BEGIN event into variable
let $master_pos_begin= query_get_value(SHOW BINLOG EVENTS, Pos, 6); let $master_pos_begin= query_get_value(SHOW BINLOG EVENTS, Pos, 10);
--echo --echo
# 1) Test deadlock # 1) Test deadlock
......
...@@ -137,7 +137,10 @@ if (`SELECT @@global.binlog_format = 'STATEMENT'`) ...@@ -137,7 +137,10 @@ if (`SELECT @@global.binlog_format = 'STATEMENT'`)
{ {
#must show two INSERT DELAYED #must show two INSERT DELAYED
--let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1) --let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
--let $binlog_limit= 2,6 # The show_binlog_events.inc already skips format_description, gtid list, and
# one binlog checkpoint events. Skip three more, second binlog checkpoint,
# Gtid, and CREATE TABLE, so we start at the first DML event
--let $binlog_limit= 3,6
--source include/show_binlog_events.inc --source include/show_binlog_events.inc
} }
select * from t1; select * from t1;
......
...@@ -33,13 +33,13 @@ eval load data infile '$LOAD_FILE' into table t1 ignore 1 lines; ...@@ -33,13 +33,13 @@ eval load data infile '$LOAD_FILE' into table t1 ignore 1 lines;
select count(*) from t1; select count(*) from t1;
source include/show_binlog_events.inc; source include/show_binlog_events.inc;
let $binlog_limit= 1; let $binlog_limit= 2;
source include/show_binlog_events.inc; source include/show_binlog_events.inc;
let $binlog_limit= 2; let $binlog_limit= 3;
source include/show_binlog_events.inc; source include/show_binlog_events.inc;
let $binlog_limit= 1,4; let $binlog_limit= 2,4;
source include/show_binlog_events.inc; source include/show_binlog_events.inc;
let $binlog_limit=; let $binlog_limit=;
flush logs; flush logs;
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
--let $binlog_limit= --let $binlog_limit=
--source extra/rpl_tests/rpl_show_binlog_events.inc --source extra/rpl_tests/rpl_show_binlog_events.inc
--let $binlog_limit= 1 --let $binlog_limit= 2
--source extra/rpl_tests/rpl_show_binlog_events.inc --source extra/rpl_tests/rpl_show_binlog_events.inc
--let $binlog_limit= 1,3 --let $binlog_limit= 2,3
--source extra/rpl_tests/rpl_show_binlog_events.inc --source extra/rpl_tests/rpl_show_binlog_events.inc
--let $binlog_limit= --let $binlog_limit=
--let $binlog_file= --let $binlog_file=
......
...@@ -15,14 +15,14 @@ ...@@ -15,14 +15,14 @@
# 1 /* Checksum algorithm */ + # 1 /* Checksum algorithm */ +
# 4 /* CRC32 length */ # 4 /* CRC32 length */
# #
# With current number of events = 161, # With current number of events = 163,
# #
# binlog_start_pos = 4 + 19 + 57 + 161 + 1 + 4 = 246. # binlog_start_pos = 4 + 19 + 57 + 163 + 1 + 4 = 248.
# #
############################################################################## ##############################################################################
let $binlog_start_pos=246; let $binlog_start_pos=248;
--disable_query_log --disable_query_log
SET @binlog_start_pos=246; SET @binlog_start_pos=248;
--enable_query_log --enable_query_log
...@@ -60,6 +60,7 @@ if ($tmp) ...@@ -60,6 +60,7 @@ if ($tmp)
--echo Last_SQL_Error --echo Last_SQL_Error
--echo Replicate_Ignore_Server_Ids --echo Replicate_Ignore_Server_Ids
--echo Master_Server_Id # --echo Master_Server_Id #
--echo Using_Gtid 0
} }
if (!$tmp) { if (!$tmp) {
# Note: after WL#5177, fields 13-18 shall not be filtered-out. # Note: after WL#5177, fields 13-18 shall not be filtered-out.
......
if (`SELECT COUNT(*) = 0 FROM information_schema.session_variables WHERE if (`select count(*) = 0 from information_schema.session_variables where variable_name = 'debug_sync' and variable_value like 'on %'`)
variable_name = 'debug_sync' AND variable_value LIKE 'ON %'`) { {
--skip Needs debug_sync enabled skip debug_sync is not available;
} }
...@@ -31,6 +31,7 @@ BEGIN ...@@ -31,6 +31,7 @@ BEGIN
AND variable_name not like "Last_IO_Err*" AND variable_name not like "Last_IO_Err*"
AND variable_name != 'INNODB_IBUF_MAX_SIZE' AND variable_name != 'INNODB_IBUF_MAX_SIZE'
AND variable_name != 'INNODB_USE_NATIVE_AIO' AND variable_name != 'INNODB_USE_NATIVE_AIO'
AND variable_name != 'GTID_POS'
ORDER BY variable_name; ORDER BY variable_name;
-- Dump all databases, there should be none -- Dump all databases, there should be none
......
...@@ -79,6 +79,22 @@ while ($_rpl_server) ...@@ -79,6 +79,22 @@ while ($_rpl_server)
--source include/rpl_sync.inc --source include/rpl_sync.inc
--source include/rpl_stop_slaves.inc --source include/rpl_stop_slaves.inc
if (!$rpl_debug)
{
--disable_query_log
}
--let $_rpl_server= $rpl_server_count
while ($_rpl_server)
{
--let $rpl_connection_name= server_$_rpl_server
--source include/rpl_connection.inc
# Clear Using_Gtid in SHOW SLAVE STATUS to keep check_testcase happy.
CHANGE MASTER TO master_log_file='';
--dec $_rpl_server
}
# mtr configures server 2 to be a slave before it runs the test. We # mtr configures server 2 to be a slave before it runs the test. We
# have to restore that state now, so we change topology to 1->2. # have to restore that state now, so we change topology to 1->2.
--let $rpl_topology= none --let $rpl_topology= none
......
--let $binlog_start=246 --let $binlog_start=248
--replace_result $binlog_start <binlog_start> --replace_result $binlog_start <binlog_start>
--replace_column 2 # 5 # --replace_column 2 # 5 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ --replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /GTID [0-9]+-[0-9]+-[0-9]+/GTID #-#-#/
--eval show binlog events from $binlog_start --eval show binlog events from $binlog_start
...@@ -9,23 +9,6 @@ if ($binlog_start) ...@@ -9,23 +9,6 @@ if ($binlog_start)
{ {
--let $_binlog_start= $binlog_start --let $_binlog_start= $binlog_start
} }
if (!$binlog_start)
{
# If $binlog_start is not set, we will set it as the third event's
# position (second in relay log which has not Binlog Checkpoing event).
# The first two events (Description Event and Binlog Checkpoint
# event) are always ignored. For description event's length might be changed
# because of adding new events, 'SHOW BINLOG EVENTS LIMIT 2' is used to get
# the right value.
if ($is_relay_log)
{
--let $_binlog_start= query_get_value(SHOW BINLOG EVENTS LIMIT 1, End_log_pos, 1)
}
if (!$is_relay_log)
{
--let $_binlog_start= query_get_value(SHOW BINLOG EVENTS LIMIT 2, End_log_pos, 2)
}
}
--let $_statement=show binlog events --let $_statement=show binlog events
if ($is_relay_log) if ($is_relay_log)
...@@ -38,6 +21,25 @@ if ($binlog_file) ...@@ -38,6 +21,25 @@ if ($binlog_file)
--let $_statement= $_statement in '$binlog_file' --let $_statement= $_statement in '$binlog_file'
} }
if (!$binlog_start)
{
# If $binlog_start is not set, we will set it as the fourth event's
# position (second in relay log which has not Binlog Checkpoing nor
# Gtid_list events).
# The first three events (Description Event, Gtid list, and Binlog Checkpoint
# event) are always ignored. For description event's length might be changed
# because of adding new events, 'SHOW BINLOG EVENTS LIMIT 3' is used to get
# the right value.
if ($is_relay_log)
{
--let $_binlog_start= query_get_value($_statement LIMIT 1, End_log_pos, 1)
}
if (!$is_relay_log)
{
--let $_binlog_start= query_get_value($_statement LIMIT 3, End_log_pos, 3)
}
}
--let $_statement= $_statement from $_binlog_start --let $_statement= $_statement from $_binlog_start
# Cannot use if($binlog_limit) since the variable may begin with a 0 # Cannot use if($binlog_limit) since the variable may begin with a 0
...@@ -49,5 +51,5 @@ if (`SELECT '$binlog_limit' <> ''`) ...@@ -49,5 +51,5 @@ if (`SELECT '$binlog_limit' <> ''`)
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $_binlog_start <binlog_start> --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $_binlog_start <binlog_start>
--replace_column 2 # 4 # 5 # --replace_column 2 # 4 # 5 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/ /Server ver:.*$/SERVER_VERSION, BINLOG_VERSION/ --replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/ /Server ver:.*$/SERVER_VERSION, BINLOG_VERSION/ /GTID [0-9]+-[0-9]+-[0-9]+/GTID #-#-#/ /\[([0-9]-[0-9]-[0-9]+)\]/[#-#-#]/
--eval $_statement --eval $_statement
# include/wait_for_purge.inc
#
# SUMMARY
#
# Repeatedly attempt to purge binlogs up to a specific point, until
# SHOW BINARY LOGS shows it has succeeded.
# This can be useful to avoid races where slaves are stopped but the
# corresponding binlog dump thread on the master has not yet terminated.
# Async binlog checkpoints can also delay purge.
#
# Note that it may be necessary to inject at least one event in the binlog
# after stopping slaves, or master may not detect stop of slave for a long
# time (or forever), depending on details of test case, if replication
# heartbeat is enabled, etc.
#
# USAGE:
#
# --let $purge_binlogs_to=master-bin.000003
# --source include/wait_for_purge.inc
#
# SIDE EFFECTS:
#
# Disables --query_log while running, enables it afterwards.
--echo include/wait_for_purge.inc "$purge_binlogs_to"
let $_wait_count= 300;
let $_done= 0;
--disable_query_log
while ($_wait_count)
{
dec $_wait_count;
eval PURGE BINARY LOGS TO "$purge_binlogs_to";
let $_cur_binlog= query_get_value(SHOW BINARY LOGS, Log_name, 1);
if (`SELECT "$_cur_binlog" = "$purge_binlogs_to"`)
{
let $_done= 1;
let $_wait_count= 0;
}
if ($_wait_count)
{
real_sleep 0.1;
}
}
if (!$_done)
{
SHOW FULL PROCESSLIST;
eval SHOW BINARY LOGS;
--die ERROR: failed while waiting for binlog purge to $purge_binlogs_to
}
--enable_query_log
...@@ -24,6 +24,7 @@ plugin ...@@ -24,6 +24,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
rpl_slave_state
servers servers
slow_log slow_log
table_stats table_stats
......
...@@ -16,11 +16,12 @@ insert into t1 values (1, 1, 1);; ...@@ -16,11 +16,12 @@ insert into t1 values (1, 1, 1);;
set debug_sync='now SIGNAL go'; set debug_sync='now SIGNAL go';
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t2 values (1) master-bin.000001 # Query # # use `test`; insert into t2 values (1)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; alter table t1 enable keys master-bin.000001 # Query # # use `test`; alter table t1 enable keys
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1, 1, 1) master-bin.000001 # Query # # use `test`; insert into t1 values (1, 1, 1)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
drop tables t1, t2; drop tables t1, t2;
...@@ -59,19 +60,28 @@ set debug_sync='alter_table_before_main_binlog SIGNAL parked WAIT_FOR go'; ...@@ -59,19 +60,28 @@ set debug_sync='alter_table_before_main_binlog SIGNAL parked WAIT_FOR go';
set debug_sync='RESET'; set debug_sync='RESET';
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; alter table t1 change i c char(10) default 'Test1' master-bin.000001 # Query # # use `test`; alter table t1 change i c char(10) default 'Test1'
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values () master-bin.000001 # Query # # use `test`; insert into t1 values ()
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; alter table t1 change c vc varchar(100) default 'Test2' master-bin.000001 # Query # # use `test`; alter table t1 change c vc varchar(100) default 'Test2'
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; rename table t1 to t2 master-bin.000001 # Query # # use `test`; rename table t1 to t2
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (i int) master-bin.000001 # Query # # use `test`; create table t1 (i int)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; alter table t1 change i c char(10) default 'Test3', rename to t2 master-bin.000001 # Query # # use `test`; alter table t1 change i c char(10) default 'Test3', rename to t2
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t2 values() master-bin.000001 # Query # # use `test`; insert into t2 values()
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; alter table t2 change c vc varchar(100) default 'Test2', rename to t1 master-bin.000001 # Query # # use `test`; alter table t2 change c vc varchar(100) default 'Test2', rename to t1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; rename table t1 to t3 master-bin.000001 # Query # # use `test`; rename table t1 to t3
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t3` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t3` /* generated by server */
End of 5.1 tests End of 5.1 tests
...@@ -1340,3 +1340,43 @@ rename table t2 to t1; ...@@ -1340,3 +1340,43 @@ rename table t2 to t1;
execute stmt1; execute stmt1;
deallocate prepare stmt1; deallocate prepare stmt1;
drop table t2; drop table t2;
CREATE TABLE t1 (
id INT(11) NOT NULL,
x_param INT(11) DEFAULT NULL,
PRIMARY KEY (id)
);
ALTER TABLE t1 ADD COLUMN IF NOT EXISTS id INT,
ADD COLUMN IF NOT EXISTS lol INT AFTER id;
Warnings:
Note 1060 Duplicate column name 'id'
ALTER TABLE t1 ADD COLUMN IF NOT EXISTS lol INT AFTER id;
Warnings:
Note 1060 Duplicate column name 'lol'
ALTER TABLE t1 DROP COLUMN IF EXISTS lol;
ALTER TABLE t1 DROP COLUMN IF EXISTS lol;
Warnings:
Note 1091 Can't DROP 'lol'; check that column/key exists
ALTER TABLE t1 ADD KEY IF NOT EXISTS x_param(x_param);
ALTER TABLE t1 ADD KEY IF NOT EXISTS x_param(x_param);
Warnings:
Note 1061 Duplicate key name 'x_param'
ALTER TABLE t1 MODIFY IF EXISTS lol INT;
Warnings:
Note 1054 Unknown column 'lol' in 't1'
DROP INDEX IF EXISTS x_param ON t1;
DROP INDEX IF EXISTS x_param ON t1;
Warnings:
Note 1091 Can't DROP 'x_param'; check that column/key exists
CREATE INDEX IF NOT EXISTS x_param1 ON t1(x_param);
CREATE INDEX IF NOT EXISTS x_param1 ON t1(x_param);
Warnings:
Note 1061 Duplicate key name 'x_param1'
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`id` int(11) NOT NULL,
`x_param` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `x_param1` (`x_param`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
...@@ -18,6 +18,7 @@ plugin ...@@ -18,6 +18,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
rpl_slave_state
servers servers
slow_log slow_log
table_stats table_stats
...@@ -55,6 +56,7 @@ plugin ...@@ -55,6 +56,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
rpl_slave_state
servers servers
slow_log slow_log
table_stats table_stats
...@@ -100,6 +102,7 @@ plugin ...@@ -100,6 +102,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
rpl_slave_state
servers servers
slow_log slow_log
table_stats table_stats
......
...@@ -188,11 +188,14 @@ t2 CREATE TABLE `t2` ( ...@@ -188,11 +188,14 @@ t2 CREATE TABLE `t2` (
drop table t2; drop table t2;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1) master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t2 like t1 master-bin.000001 # Query # # use `test`; create table t2 like t1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
create table t1 (i int); create table t1 (i int);
set debug_sync='create_table_like_before_binlog SIGNAL parked WAIT_FOR go'; set debug_sync='create_table_like_before_binlog SIGNAL parked WAIT_FOR go';
...@@ -216,13 +219,20 @@ drop table t2; ...@@ -216,13 +219,20 @@ drop table t2;
set debug_sync='RESET'; set debug_sync='RESET';
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t2 like t1 master-bin.000001 # Query # # use `test`; create table t2 like t1
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t2 values (1) master-bin.000001 # Query # # use `test`; insert into t2 values (1)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t2 like t1 master-bin.000001 # Query # # use `test`; create table t2 like t1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t2 like t1 master-bin.000001 # Query # # use `test`; create table t2 like t1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
...@@ -8,8 +8,9 @@ SET @var1= x'8300'; ...@@ -8,8 +8,9 @@ SET @var1= x'8300';
EXECUTE stmt1 USING @var1; EXECUTE stmt1 USING @var1;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(f1 blob) master-bin.000001 # Query # # use `test`; CREATE TABLE t1(f1 blob)
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
......
...@@ -8,8 +8,9 @@ SET @var1= x'8300'; ...@@ -8,8 +8,9 @@ SET @var1= x'8300';
EXECUTE stmt1 USING @var1; EXECUTE stmt1 USING @var1;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(f1 blob) master-bin.000001 # Query # # use `test`; CREATE TABLE t1(f1 blob)
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(0x8300) master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(0x8300)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
SELECT HEX(f1) FROM t1; SELECT HEX(f1) FROM t1;
...@@ -34,19 +35,23 @@ DROP PROCEDURE bug18293| ...@@ -34,19 +35,23 @@ DROP PROCEDURE bug18293|
DROP TABLE t4| DROP TABLE t4|
show binlog events from <binlog_start>| show binlog events from <binlog_start>|
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t4 (s1 CHAR(50) CHARACTER SET latin1, master-bin.000001 # Query # # use `test`; CREATE TABLE t4 (s1 CHAR(50) CHARACTER SET latin1,
s2 CHAR(50) CHARACTER SET cp932, s2 CHAR(50) CHARACTER SET cp932,
d DECIMAL(10,2)) d DECIMAL(10,2))
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `bug18293`(IN ins1 CHAR(50), master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `bug18293`(IN ins1 CHAR(50),
IN ins2 CHAR(50) CHARACTER SET cp932, IN ins2 CHAR(50) CHARACTER SET cp932,
IN ind DECIMAL(10,2)) IN ind DECIMAL(10,2))
BEGIN BEGIN
INSERT INTO t4 VALUES (ins1, ins2, ind); INSERT INTO t4 VALUES (ins1, ins2, ind);
END END
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172 COLLATE 'latin1_swedish_ci'), NAME_CONST('ins2',_cp932 0xED40ED41ED42 COLLATE 'cp932_japanese_ci'), NAME_CONST('ind',47.93)) master-bin.000001 # Query # # use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172 COLLATE 'latin1_swedish_ci'), NAME_CONST('ins2',_cp932 0xED40ED41ED42 COLLATE 'cp932_japanese_ci'), NAME_CONST('ind',47.93))
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE bug18293 master-bin.000001 # Query # # use `test`; DROP PROCEDURE bug18293
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t4` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t4` /* generated by server */
End of 5.0 tests End of 5.0 tests
call mtr.add_suppression("Error in Log_event::read_log_event\\\(\\\): 'Found invalid"); call mtr.add_suppression("Error in Log_event::read_log_event\\\(\\\): 'Found invalid");
......
...@@ -699,3 +699,14 @@ EXECUTE stmt; ...@@ -699,3 +699,14 @@ EXECUTE stmt;
DEALLOCATE PREPARE stmt; DEALLOCATE PREPARE stmt;
DROP TABLE t1; DROP TABLE t1;
End of 5.1 tests End of 5.1 tests
CREATE TABLE t1 (
id int(11) auto_increment,
title varchar(100) default '',
PRIMARY KEY (id),
KEY ind5 (title)
) ENGINE=MyISAM;
CREATE FULLTEXT INDEX IF NOT EXISTS ft1 ON t1(title);
CREATE FULLTEXT INDEX IF NOT EXISTS ft1 ON t1(title);
Warnings:
Note 1061 Duplicate key name 'ft1'
DROP TABLE t1;
create table t1 (ft text) engine=myisam;
insert into t1 values ('test1'),('test2');
select distinct match(ft) against("test1" in boolean mode) from
(select distinct ft from t1) as t;
match(ft) against("test1" in boolean mode)
1
0
drop table t1;
...@@ -338,6 +338,227 @@ set optimizer_switch=@optimizer_switch_save; ...@@ -338,6 +338,227 @@ set optimizer_switch=@optimizer_switch_save;
drop view v_merge, vm; drop view v_merge, vm;
drop table t1,tv; drop table t1,tv;
# #
# GET_LOCK, RELEASE_LOCK, IS_USED_LOCK functions test
#
# IS_USED_LOCK, IS_FREE_LOCK: the lock is not acquired
# Note: IS_USED_LOCK returns NULL if the lock is unused
select is_used_lock('test');
is_used_lock('test')
NULL
select is_free_lock('test');
is_free_lock('test')
1
# GET_LOCK returns 1 if it manages to acquire a lock
select get_lock('test', 0);
get_lock('test', 0)
1
# IS_USED_LOCK, IS_FREE_LOCK: the lock is acquired
select is_free_lock('test');
is_free_lock('test')
0
select is_used_lock('test') = connection_id();
is_used_lock('test') = connection_id()
1
# -> Switching to connection 'con1'
# IS_USED_LOCK, IS_FREE_LOCK: the lock is acquired in another
# connection
select is_used_lock('test') = connection_id();
is_used_lock('test') = connection_id()
0
select is_free_lock('test');
is_free_lock('test')
0
# GET_LOCK returns 0 if it can't acquire a lock (wait timeout)
select get_lock('test', 0);
get_lock('test', 0)
0
# RELEASE_LOCK returns 0 if the lock belongs to another connection
select release_lock('test');
release_lock('test')
0
# -> Switching to connection 'default'
# RELEASE_LOCK returns 1 if it successfully releases a lock
select release_lock('test');
release_lock('test')
1
# RELEASE_LOCK returns NULL if it doesn't release a lock and there is no such lock
select release_lock('test');
release_lock('test')
NULL
# Test that get_lock() returns NULL if error.
select get_lock('test', 0);
get_lock('test', 0)
1
# -> Switching to connection 'con1'
create table t1 select connection_id() as id;
select get_lock('test', 7200);
# -> Switching to connection 'default'
select (@id := id) - id from t1;
(@id := id) - id
0
kill query @id;
# -> Switching to connection 'con1'
get_lock('test', 7200)
NULL
# -> Switching to connection 'default'
# GET_LOCK() works recursively
select get_lock('test', 0);
get_lock('test', 0)
1
select get_lock('test', 0);
get_lock('test', 0)
1
select get_lock('test', 0);
get_lock('test', 0)
1
# RELEASE_LOCK() needs to be called recursively then, too
select release_lock('test');
release_lock('test')
1
select release_lock('test');
release_lock('test')
1
select release_lock('test');
release_lock('test')
1
# Once the last instance of the lock is released,
# the next call returns NULL
select release_lock('test');
release_lock('test')
1
# Multiple locks in the same session are OK
select get_lock('test1', 0);
get_lock('test1', 0)
1
select get_lock('test2', 0);
get_lock('test2', 0)
1
select get_lock('test3', 0);
get_lock('test3', 0)
1
select release_lock('test1');
release_lock('test1')
1
select release_lock('test2');
release_lock('test2')
1
select release_lock('test3');
release_lock('test3')
1
# Deadlocks are detected e.g. in case of a mutual wait
select get_lock('test1', 0);
get_lock('test1', 0)
1
# -> Switching to connection 'con1'
select get_lock('test2', 0);
get_lock('test2', 0)
1
select get_lock('test1', 7200);
# -> Switching to connection 'default'
select get_lock('test2', 7200);
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
select release_lock('test1');
release_lock('test1')
1
# -> Switching to connection 'con1'
get_lock('test1', 7200)
1
select release_lock('test2');
release_lock('test2')
1
select release_lock('test1');
release_lock('test1')
1
# -> Switching to connection 'default'
# LOCK/UNLOCK TABLES works fine with a user lock.
lock table t1 write;
select get_lock('test', 0);
get_lock('test', 0)
1
unlock tables;
commit;
select release_lock('test');
release_lock('test')
1
# GLOBAL READ LOCK works with fine with user locks
select get_lock('test1', 0);
get_lock('test1', 0)
1
flush tables with read lock;
select get_lock('test2', 0);
get_lock('test2', 0)
1
unlock tables;
commit;
select release_lock('test1');
release_lock('test1')
1
select release_lock('test2');
release_lock('test2')
1
# BEGIN/COMMIT/ROLLBACK don't unlock user locks.
begin;
select get_lock('test1', 0);
get_lock('test1', 0)
1
select get_lock('test2', 0);
get_lock('test2', 0)
1
select count(*) from t1;
count(*)
1
rollback;
select release_lock('test1');
release_lock('test1')
1
select release_lock('test2');
release_lock('test2')
1
# Deadlocks between user locks and LOCK TABLES locks
# are detected OK.
select get_lock('test', 0);
get_lock('test', 0)
1
# -> Switching to connection 'con1'
lock table t1 write;
select get_lock('test', 7200);
# -> Switching to connection 'default'
lock table t1 read;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
select release_lock('test');
release_lock('test')
1
# -> Switching to connection 'con1'
get_lock('test', 7200)
1
select release_lock('test');
release_lock('test')
1
unlock tables;
# cleanup
drop table t1;
# check too long identifier names
select get_lock(repeat('a', 192), 0);
get_lock(repeat('a', 192), 0)
1
select is_used_lock(repeat('a', 192)) = connection_id();
is_used_lock(repeat('a', 192)) = connection_id()
1
select is_free_lock(repeat('a', 192));
is_free_lock(repeat('a', 192))
0
select release_lock(repeat('a', 192));
release_lock(repeat('a', 192))
1
select get_lock(repeat('a', 193), 0);
ERROR 42000: Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long
select is_used_lock(repeat('a', 193));
ERROR 42000: Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long
select is_free_lock(repeat('a', 193));
ERROR 42000: Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long
select release_lock(repeat('a', 193));
ERROR 42000: Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long
#
# End of 5.5 tests # End of 5.5 tests
# #
# #
......
...@@ -98,6 +98,7 @@ plugin ...@@ -98,6 +98,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
rpl_slave_state
servers servers
slow_log slow_log
t1 t1
......
...@@ -424,4 +424,4 @@ Wildcard: inf_rmation_schema ...@@ -424,4 +424,4 @@ Wildcard: inf_rmation_schema
SELECT table_schema, count(*) FROM information_schema.TABLES WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test', 'mysqltest') AND table_name<>'ndb_binlog_index' AND table_name<>'ndb_apply_status' GROUP BY TABLE_SCHEMA; SELECT table_schema, count(*) FROM information_schema.TABLES WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test', 'mysqltest') AND table_name<>'ndb_binlog_index' AND table_name<>'ndb_apply_status' GROUP BY TABLE_SCHEMA;
table_schema count(*) table_schema count(*)
information_schema 59 information_schema 59
mysql 26 mysql 27
...@@ -36,6 +36,7 @@ mysql.proc OK ...@@ -36,6 +36,7 @@ mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.renamed_general_log OK mysql.renamed_general_log OK
mysql.rpl_slave_state OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
......
...@@ -605,7 +605,7 @@ a b ...@@ -605,7 +605,7 @@ a b
4 4 4 4
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2) master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
...@@ -618,7 +618,7 @@ UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a; ...@@ -618,7 +618,7 @@ UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
ERROR 23000: Duplicate entry '4' for key 'PRIMARY' ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2) master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
......
...@@ -23,6 +23,7 @@ mysql.plugin OK ...@@ -23,6 +23,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.rpl_slave_state OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -63,6 +64,7 @@ mysql.plugin OK ...@@ -63,6 +64,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.rpl_slave_state OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -103,6 +105,7 @@ mysql.plugin OK ...@@ -103,6 +105,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.rpl_slave_state OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -146,6 +149,7 @@ mysql.plugin OK ...@@ -146,6 +149,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.rpl_slave_state OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -192,6 +196,7 @@ mysql.plugin OK ...@@ -192,6 +196,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.rpl_slave_state OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -241,6 +246,7 @@ mysql.plugin OK ...@@ -241,6 +246,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.rpl_slave_state OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -293,6 +299,7 @@ mysql.plugin OK ...@@ -293,6 +299,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.rpl_slave_state OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
......
...@@ -25,6 +25,7 @@ mysql.plugin OK ...@@ -25,6 +25,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.rpl_slave_state OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
......
...@@ -24,6 +24,9 @@ FLUSH LOGS; ...@@ -24,6 +24,9 @@ FLUSH LOGS;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/; DELIMITER /*!*/;
ROLLBACK/*!*/; ROLLBACK/*!*/;
BEGIN
/*!*/;
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
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/*!*/; SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
...@@ -33,14 +36,9 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/ ...@@ -33,14 +36,9 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/; SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/; SET @@session.collation_database=DEFAULT/*!*/;
BEGIN
/*!*/;
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
INSERT INTO t1 VALUES (1) INSERT INTO t1 VALUES (1)
/*!*/; /*!*/;
COMMIT/*!*/; COMMIT/*!*/;
SET TIMESTAMP=1000000000/*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
...@@ -57,6 +55,9 @@ ROLLBACK /* added by mysqlbinlog */; ...@@ -57,6 +55,9 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/; DELIMITER /*!*/;
ROLLBACK/*!*/; ROLLBACK/*!*/;
BEGIN
/*!*/;
use `foo`/*!*/;
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
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/*!*/; SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
...@@ -66,14 +67,9 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/ ...@@ -66,14 +67,9 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/; SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/; SET @@session.collation_database=DEFAULT/*!*/;
BEGIN
/*!*/;
use `foo`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
INSERT INTO t1 VALUES (1) INSERT INTO t1 VALUES (1)
/*!*/; /*!*/;
COMMIT/*!*/; COMMIT/*!*/;
SET TIMESTAMP=1000000000/*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
......
This diff is collapsed.
...@@ -19,6 +19,7 @@ mysql.plugin OK ...@@ -19,6 +19,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.rpl_slave_state OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -46,6 +47,7 @@ mysql.plugin OK ...@@ -46,6 +47,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.rpl_slave_state OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -71,6 +73,7 @@ mysql.plugin OK ...@@ -71,6 +73,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.rpl_slave_state OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -96,6 +99,7 @@ mysql.plugin Table is already up to date ...@@ -96,6 +99,7 @@ mysql.plugin Table is already up to date
mysql.proc Table is already up to date mysql.proc Table is already up to date
mysql.procs_priv Table is already up to date mysql.procs_priv Table is already up to date
mysql.proxies_priv Table is already up to date mysql.proxies_priv Table is already up to date
mysql.rpl_slave_state Table is already up to date
mysql.servers Table is already up to date mysql.servers Table is already up to date
mysql.table_stats Table is already up to date mysql.table_stats Table is already up to date
mysql.tables_priv Table is already up to date mysql.tables_priv Table is already up to date
......
...@@ -201,6 +201,12 @@ The following options may be given as the first argument: ...@@ -201,6 +201,12 @@ The following options may be given as the first argument:
--group-concat-max-len=# --group-concat-max-len=#
The maximum length of the result of function The maximum length of the result of function
GROUP_CONCAT() GROUP_CONCAT()
--gtid-domain-id=# Used with global transaction ID to identify logically
independent replication streams. When events can
propagate through multiple parallel paths (for example
multiple masters), each independent source server must
use a distinct domain_id. For simple tree-shaped
replication topologies, it can be left at its default, 0.
-?, --help Display this help and exit. -?, --help Display this help and exit.
--histogram-size=# Number of bytes used for a histogram. If set to 0, no --histogram-size=# Number of bytes used for a histogram. If set to 0, no
histograms are created by ANALYZE. histograms are created by ANALYZE.
...@@ -954,6 +960,7 @@ ft-stopword-file (No default value) ...@@ -954,6 +960,7 @@ ft-stopword-file (No default value)
gdb FALSE gdb FALSE
general-log FALSE general-log FALSE
group-concat-max-len 1024 group-concat-max-len 1024
gtid-domain-id 0
help TRUE help TRUE
histogram-size 0 histogram-size 0
histogram-type SINGLE_PREC_HB histogram-type SINGLE_PREC_HB
......
...@@ -334,10 +334,10 @@ DROP TABLE t1; ...@@ -334,10 +334,10 @@ DROP TABLE t1;
DROP TABLE t2; DROP TABLE t2;
SHOW BINLOG EVENTS LIMIT 7,3; SHOW BINLOG EVENTS LIMIT 7,3;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 704 Query 1 772 BEGIN master-bin.000001 591 Xid 1 618 COMMIT /* XID */
master-bin.000001 772 Query 1 869 use `test`; INSERT INTO t2 VALUES (1,0), (2,0) master-bin.000001 618 Gtid 1 656 GTID 0-1-3
master-bin.000001 869 Xid 1 896 COMMIT /* XID */ master-bin.000001 656 Query 1 775 use `test`; CREATE TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB
-- CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=896; -- CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=937;
SELECT * FROM t1 ORDER BY a; SELECT * FROM t1 ORDER BY a;
a a
1 1
......
...@@ -2493,3 +2493,25 @@ i ...@@ -2493,3 +2493,25 @@ i
3 3
4 4
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 ( d DATE NOT NULL)
PARTITION BY RANGE( YEAR(d) ) (
PARTITION p0 VALUES LESS THAN (1960),
PARTITION p1 VALUES LESS THAN (1970),
PARTITION p2 VALUES LESS THAN (1980),
PARTITION p3 VALUES LESS THAN (1990)
);
ALTER TABLE t1 ADD PARTITION IF NOT EXISTS(
PARTITION `p5` VALUES LESS THAN (2010)
COMMENT 'APSTART \' APEND'
);
ALTER TABLE t1 ADD PARTITION IF NOT EXISTS(
PARTITION `p5` VALUES LESS THAN (2010)
COMMENT 'APSTART \' APEND'
);
Warnings:
Note 1517 Duplicate partition name p5
alter table t1 drop partition if exists p5;
alter table t1 drop partition if exists p5;
Warnings:
Note 1507 Error in list of partitions to DROP
DROP TABLE t1;
...@@ -41,9 +41,14 @@ ALTER TABLE t1 TRUNCATE PARTITION p0; ...@@ -41,9 +41,14 @@ ALTER TABLE t1 TRUNCATE PARTITION p0;
ALTER TABLE t1 DROP PARTITION p0; ALTER TABLE t1 DROP PARTITION p0;
show binlog events in 'master-bin.000001' from <binlog_start>; show binlog events in 'master-bin.000001' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ANALYZE PARTITION p0 master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ANALYZE PARTITION p0
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 OPTIMIZE PARTITION p0 master-bin.000001 # Query # # use `test`; ALTER TABLE t1 OPTIMIZE PARTITION p0
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REPAIR PARTITION p0 master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REPAIR PARTITION p0
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 TRUNCATE PARTITION p0 master-bin.000001 # Query # # use `test`; ALTER TABLE t1 TRUNCATE PARTITION p0
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p0 master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p0
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 (
event_date date DEFAULT '0000-00-00' NOT NULL,
type int(11) DEFAULT '0' NOT NULL,
event_id int(11) DEFAULT '0' NOT NULL,
PRIMARY KEY (event_date,type,event_id)
);
INSERT INTO t1 VALUES ('1999-07-10',100100,24), ('1999-07-11',100100,25),
('1999-07-13',100600,0), ('1999-07-13',100600,4), ('1999-07-13',100600,26),
('1999-07-14',100600,10), ('1999-07-15',100600,16), ('1999-07-15',100800,45),
('1999-07-15',101000,47), ('1999-07-16',100800,46), ('1999-07-20',100600,5),
('1999-07-20',100600,27), ('1999-07-21',100600,11), ('1999-07-22',100600,17),
('1999-07-23',100100,39), ('1999-07-24',100100,39), ('1999-07-24',100500,40),
('1999-07-25',100100,39), ('1999-07-27',100600,1), ('1999-07-27',100600,6),
('1999-07-27',100600,28), ('1999-07-28',100600,12), ('1999-07-29',100500,41),
('1999-07-29',100600,18), ('1999-07-30',100500,41), ('1999-07-31',100500,41),
('1999-08-01',100700,34), ('1999-08-03',100600,7), ('1999-08-03',100600,29),
('1999-08-04',100600,13), ('1999-08-05',100500,42), ('1999-08-05',100600,19),
('1999-08-06',100500,42), ('1999-08-07',100500,42), ('1999-08-08',100500,42),
('1999-08-10',100600,2), ('1999-08-10',100600,9), ('1999-08-10',100600,30),
('1999-08-11',100600,14), ('1999-08-12',100600,20), ('1999-08-17',100500,8),
('1999-08-17',100600,31), ('1999-08-18',100600,15), ('1999-08-19',100600,22),
('1999-08-24',100600,3), ('1999-08-24',100600,32), ('1999-08-27',100500,43),
('1999-08-31',100600,33), ('1999-09-17',100100,37), ('1999-09-18',100100,37),
('1999-09-19',100100,37), ('2000-12-18',100700,38);
set debug_sync='inside_make_join_statistics signal killme wait_for done';
select event_date,type,event_id from t1 WHERE event_date >= "1999-07-01" AND event_date < "1999-07-15" AND (type=100600 OR type=100100) ORDER BY event_date;
set debug_sync='now wait_for killme';
kill %connection%;
set debug_sync='now signal done';
Got one of the listed errors
drop table t1;
...@@ -16,7 +16,7 @@ insert into t2 values (bug23333(),1)| ...@@ -16,7 +16,7 @@ insert into t2 values (bug23333(),1)|
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
show binlog events from <binlog_start> limit 0, 4| show binlog events from <binlog_start> limit 0, 4|
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
......
...@@ -15,12 +15,18 @@ Table Op Msg_type Msg_text ...@@ -15,12 +15,18 @@ Table Op Msg_type Msg_text
test.t1 analyze status OK test.t1 analyze status OK
SHOW BINLOG EVENTS; SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 246 Server ver: #, Binlog ver: # master-bin.000001 4 Format_desc 1 248 Server ver: #, Binlog ver: #
master-bin.000001 246 Binlog_checkpoint 1 286 master-bin.000001 master-bin.000001 248 Gtid_list 1 271 []
master-bin.000001 286 Query 1 386 use `test`; CREATE TABLE t1 (i INT) ENGINE=InnoDB master-bin.000001 271 Binlog_checkpoint 1 311 master-bin.000001
master-bin.000001 386 Query 1 465 use `test`; ANALYZE TABLE t1 master-bin.000001 311 Gtid 1 349 GTID 0-1-1
master-bin.000001 465 Query 1 569 use `test`; DROP TABLE `t1` /* generated by server */ master-bin.000001 349 Query 1 449 use `test`; CREATE TABLE t1 (i INT) ENGINE=InnoDB
master-bin.000001 569 Query 1 705 use `test`; CREATE TABLE t1 ( a INT ) ENGINE=MyISAM PARTITION BY HASH(a) PARTITIONS 2 master-bin.000001 449 Gtid 1 487 GTID 0-1-2
master-bin.000001 705 Query 1 803 use `test`; ALTER TABLE t1 ANALYZE PARTITION p1 master-bin.000001 487 Query 1 566 use `test`; ANALYZE TABLE t1
master-bin.000001 566 Gtid 1 604 GTID 0-1-3
master-bin.000001 604 Query 1 708 use `test`; DROP TABLE `t1` /* generated by server */
master-bin.000001 708 Gtid 1 746 GTID 0-1-4
master-bin.000001 746 Query 1 882 use `test`; CREATE TABLE t1 ( a INT ) ENGINE=MyISAM PARTITION BY HASH(a) PARTITIONS 2
master-bin.000001 882 Gtid 1 920 GTID 0-1-5
master-bin.000001 920 Query 1 1018 use `test`; ALTER TABLE t1 ANALYZE PARTITION p1
SET use_stat_tables = DEFAULT; SET use_stat_tables = DEFAULT;
DROP TABLE t1; DROP TABLE t1;
...@@ -2783,6 +2783,16 @@ a b ...@@ -2783,6 +2783,16 @@ a b
deallocate prepare stmt; deallocate prepare stmt;
drop table t1,t2; drop table t1,t2;
# #
# MDEV-4335: Unexpected results when selecting on information_schema
#
CREATE TABLE t1 (db VARCHAR(64) DEFAULT NULL);
INSERT INTO t1 VALUES ('mysql'),('information_schema');
SELECT * FROM t1 WHERE db IN (SELECT `SCHEMA_NAME` FROM information_schema.SCHEMATA);
db
mysql
information_schema
DROP TABLE t1;
#
# MySQL Bug#13340270: assertion table->sort.record_pointers == __null # MySQL Bug#13340270: assertion table->sort.record_pointers == __null
# #
CREATE TABLE t1 ( CREATE TABLE t1 (
......
...@@ -2797,6 +2797,16 @@ a b ...@@ -2797,6 +2797,16 @@ a b
deallocate prepare stmt; deallocate prepare stmt;
drop table t1,t2; drop table t1,t2;
# #
# MDEV-4335: Unexpected results when selecting on information_schema
#
CREATE TABLE t1 (db VARCHAR(64) DEFAULT NULL);
INSERT INTO t1 VALUES ('mysql'),('information_schema');
SELECT * FROM t1 WHERE db IN (SELECT `SCHEMA_NAME` FROM information_schema.SCHEMATA);
db
information_schema
mysql
DROP TABLE t1;
#
# MySQL Bug#13340270: assertion table->sort.record_pointers == __null # MySQL Bug#13340270: assertion table->sort.record_pointers == __null
# #
CREATE TABLE t1 ( CREATE TABLE t1 (
......
...@@ -17,6 +17,7 @@ plugin ...@@ -17,6 +17,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
rpl_slave_state
servers servers
slow_log slow_log
table_stats table_stats
......
...@@ -17,6 +17,7 @@ plugin ...@@ -17,6 +17,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
rpl_slave_state
servers servers
slow_log slow_log
table_stats table_stats
......
...@@ -17,6 +17,7 @@ plugin ...@@ -17,6 +17,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
rpl_slave_state
servers servers
slow_log slow_log
table_stats table_stats
......
...@@ -17,6 +17,7 @@ plugin ...@@ -17,6 +17,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
rpl_slave_state
servers servers
slow_log slow_log
table_stats table_stats
......
...@@ -8,11 +8,11 @@ SET @var2=char(ascii('a')); ...@@ -8,11 +8,11 @@ SET @var2=char(ascii('a'));
insert into t1 values (@var1),(@var2); insert into t1 values (@var1),(@var2);
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # User var # # @`a b`=_latin1 0x68656C6C6F COLLATE latin1_swedish_ci master-bin.000001 # User var # # @`a b`=_latin1 0x68656C6C6F COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(@`a b`) master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(@`a b`)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # User var # # @`var1`=_latin1 0x273B616161 COLLATE latin1_swedish_ci master-bin.000001 # User var # # @`var1`=_latin1 0x273B616161 COLLATE latin1_swedish_ci
master-bin.000001 # User var # # @`var2`=_binary 0x61 COLLATE binary master-bin.000001 # User var # # @`var2`=_binary 0x61 COLLATE binary
master-bin.000001 # Query # # use `test`; insert into t1 values (@var1),(@var2) master-bin.000001 # Query # # use `test`; insert into t1 values (@var1),(@var2)
...@@ -23,6 +23,10 @@ flush logs; ...@@ -23,6 +23,10 @@ flush logs;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/; DELIMITER /*!*/;
ROLLBACK/*!*/; ROLLBACK/*!*/;
BEGIN
/*!*/;
SET @`a b`:=_latin1 0x68656C6C6F COLLATE `latin1_swedish_ci`/*!*/;
use `test`/*!*/;
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/*!*/; SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
...@@ -32,17 +36,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/ ...@@ -32,17 +36,11 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/; SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/; SET @@session.collation_database=DEFAULT/*!*/;
BEGIN
/*!*/;
SET @`a b`:=_latin1 0x68656C6C6F COLLATE `latin1_swedish_ci`/*!*/;
use `test`/*!*/;
SET TIMESTAMP=10000/*!*/;
INSERT INTO t1 VALUES(@`a b`) INSERT INTO t1 VALUES(@`a b`)
/*!*/; /*!*/;
SET TIMESTAMP=10000/*!*/; SET TIMESTAMP=10000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
SET TIMESTAMP=10000/*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
SET @`var1`:=_latin1 0x273B616161 COLLATE `latin1_swedish_ci`/*!*/; SET @`var1`:=_latin1 0x273B616161 COLLATE `latin1_swedish_ci`/*!*/;
......
...@@ -16,7 +16,7 @@ CREATE TABLE t1 (a int, b int); ...@@ -16,7 +16,7 @@ CREATE TABLE t1 (a int, b int);
INSERT INTO t1 VALUES (1,1); INSERT INTO t1 VALUES (1,1);
EXPLAIN SELECT * FROM t1 WHERE b = (SELECT max(2)); EXPLAIN SELECT * FROM t1 WHERE b = (SELECT max(2));
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 system NULL NULL NULL NULL 1 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used 2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
DROP TABLE t1; DROP TABLE t1;
CREATE DATABASE `TESTDB`; CREATE DATABASE `TESTDB`;
......
...@@ -18,15 +18,15 @@ a ...@@ -18,15 +18,15 @@ a
1 1
2 2
3 3
SHOW BINLOG EVENTS LIMIT 2,9; SHOW BINLOG EVENTS LIMIT 3,9;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # BEGIN master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES (1) master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Query 1 # COMMIT master-bin.000001 # Query 1 # COMMIT
master-bin.000001 # Query 1 # BEGIN master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES (2) master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Query 1 # COMMIT master-bin.000001 # Query 1 # COMMIT
master-bin.000001 # Query 1 # BEGIN master-bin.000001 # Gtid 1 # BEGIN GTID #-#-#
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES (3) master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Xid 1 # COMMIT /* xid=XX */ master-bin.000001 # Xid 1 # COMMIT /* xid=XX */
DROP TABLE t1; DROP TABLE t1;
...@@ -20,6 +20,7 @@ master-bin.000004 # ...@@ -20,6 +20,7 @@ master-bin.000004 #
show binlog events in 'master-bin.00000<binlog_start>' from <binlog_start>; show binlog events in 'master-bin.00000<binlog_start>' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.00000<binlog_start> # Format_desc # # SERVER_VERSION, BINLOG_VERSION master-bin.00000<binlog_start> # Format_desc # # SERVER_VERSION, BINLOG_VERSION
master-bin.00000<binlog_start> # Gtid_list # # [#-#-#]
master-bin.00000<binlog_start> # Binlog_checkpoint # # master-bin.000001 master-bin.00000<binlog_start> # Binlog_checkpoint # # master-bin.000001
SET DEBUG_SYNC= "execute_command_after_close_tables SIGNAL reset_master_done"; SET DEBUG_SYNC= "execute_command_after_close_tables SIGNAL reset_master_done";
RESET MASTER; RESET MASTER;
...@@ -34,6 +35,7 @@ master-bin.000001 # ...@@ -34,6 +35,7 @@ master-bin.000001 #
show binlog events in 'master-bin.000001' from <binlog_start>; show binlog events in 'master-bin.000001' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION master-bin.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
master-bin.000001 # Gtid_list # # []
master-bin.000001 # Binlog_checkpoint # # master-bin.000001 master-bin.000001 # Binlog_checkpoint # # master-bin.000001
*** Test that binlog N is active, and commit checkpoint for (N-1) is *** Test that binlog N is active, and commit checkpoint for (N-1) is
*** done while there is still a pending commit checkpoint for (N-2). *** done while there is still a pending commit checkpoint for (N-2).
...@@ -51,8 +53,9 @@ master-bin.000003 # ...@@ -51,8 +53,9 @@ master-bin.000003 #
show binlog events in 'master-bin.000001' from <binlog_start>; show binlog events in 'master-bin.000001' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION master-bin.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
master-bin.000001 # Gtid_list # # []
master-bin.000001 # Binlog_checkpoint # # master-bin.000001 master-bin.000001 # Binlog_checkpoint # # master-bin.000001
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
...@@ -60,8 +63,9 @@ master-bin.000001 # Rotate # # master-bin.000002;pos=<binlog_start> ...@@ -60,8 +63,9 @@ master-bin.000001 # Rotate # # master-bin.000002;pos=<binlog_start>
show binlog events in 'master-bin.000002' from <binlog_start>; show binlog events in 'master-bin.000002' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION master-bin.000002 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
master-bin.000002 # Gtid_list # # [#-#-#]
master-bin.000002 # Binlog_checkpoint # # master-bin.000001 master-bin.000002 # Binlog_checkpoint # # master-bin.000001
master-bin.000002 # Query # # BEGIN master-bin.000002 # Gtid # # BEGIN GTID #-#-#
master-bin.000002 # Table_map # # table_id: # (test.t1) master-bin.000002 # Table_map # # table_id: # (test.t1)
master-bin.000002 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000002 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000002 # Xid # # COMMIT /* XID */ master-bin.000002 # Xid # # COMMIT /* XID */
...@@ -69,6 +73,7 @@ master-bin.000002 # Rotate # # master-bin.000003;pos=<binlog_start> ...@@ -69,6 +73,7 @@ master-bin.000002 # Rotate # # master-bin.000003;pos=<binlog_start>
show binlog events in 'master-bin.000003' from <binlog_start>; show binlog events in 'master-bin.000003' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION master-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
master-bin.000003 # Gtid_list # # [#-#-#]
master-bin.000003 # Binlog_checkpoint # # master-bin.000001 master-bin.000003 # Binlog_checkpoint # # master-bin.000001
SET DEBUG_SYNC= "RESET"; SET DEBUG_SYNC= "RESET";
SET @old_dbug= @@global.DEBUG_DBUG; SET @old_dbug= @@global.DEBUG_DBUG;
...@@ -81,12 +86,14 @@ SET DEBUG_SYNC= "RESET"; ...@@ -81,12 +86,14 @@ SET DEBUG_SYNC= "RESET";
show binlog events in 'master-bin.000003' from <binlog_start>; show binlog events in 'master-bin.000003' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION master-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
master-bin.000003 # Gtid_list # # [#-#-#]
master-bin.000003 # Binlog_checkpoint # # master-bin.000001 master-bin.000003 # Binlog_checkpoint # # master-bin.000001
SET DEBUG_SYNC= "now SIGNAL con1_continue"; SET DEBUG_SYNC= "now SIGNAL con1_continue";
No commit checkpoints are pending, a new binlog checkpoint should have been logged. No commit checkpoints are pending, a new binlog checkpoint should have been logged.
show binlog events in 'master-bin.000003' from <binlog_start>; show binlog events in 'master-bin.000003' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION master-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
master-bin.000003 # Gtid_list # # [#-#-#]
master-bin.000003 # Binlog_checkpoint # # master-bin.000001 master-bin.000003 # Binlog_checkpoint # # master-bin.000001
master-bin.000003 # Binlog_checkpoint # # master-bin.000003 master-bin.000003 # Binlog_checkpoint # # master-bin.000003
*** MDEV-4322: Broken XID counting during binlog rotation *** *** MDEV-4322: Broken XID counting during binlog rotation ***
......
...@@ -12,6 +12,7 @@ flush logs; ...@@ -12,6 +12,7 @@ flush logs;
drop table t1; drop table t1;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int) master-bin.000001 # Query # # use `test`; create table t1 (a int)
master-bin.000001 # Rotate # # master-bin.000002;pos=4 master-bin.000001 # Rotate # # master-bin.000002;pos=4
show tables; show tables;
......
...@@ -9,13 +9,19 @@ create procedure sp1 (a int) insert into t1 values(a); ...@@ -9,13 +9,19 @@ create procedure sp1 (a int) insert into t1 values(a);
drop database testing_1; drop database testing_1;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # create database testing_1 master-bin.000001 # Query # # create database testing_1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; create table t1 (a int) master-bin.000001 # Query # # use `testing_1`; create table t1 (a int)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11)
return a+1 return a+1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int)
insert into t1 values(a) insert into t1 values(a)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database testing_1 master-bin.000001 # Query # # drop database testing_1
use test; use test;
reset master; reset master;
...@@ -27,16 +33,21 @@ insert into t1 values (1); ...@@ -27,16 +33,21 @@ insert into t1 values (1);
drop table tt1, t1; drop table tt1, t1;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int) master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int) master-bin.000001 # Query # # use `test`; create table t1 (a int)
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1) master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database if exists mysqltest1 master-bin.000001 # Query # # drop database if exists mysqltest1
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1) master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt1` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
FLUSH STATUS; FLUSH STATUS;
# #
...@@ -58,6 +69,7 @@ Tables_in_db1 ...@@ -58,6 +69,7 @@ Tables_in_db1
t2 t2
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `db1`; DROP TABLE `t1` master-bin.000001 # Query # # use `db1`; DROP TABLE `t1`
DROP TABLE t3; DROP TABLE t3;
DROP DATABASE db1; DROP DATABASE db1;
...@@ -72,13 +84,19 @@ create procedure sp1 (a int) insert into t1 values(a); ...@@ -72,13 +84,19 @@ create procedure sp1 (a int) insert into t1 values(a);
drop database testing_1; drop database testing_1;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # create database testing_1 master-bin.000001 # Query # # create database testing_1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; create table t1 (a int) master-bin.000001 # Query # # use `testing_1`; create table t1 (a int)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11)
return a+1 return a+1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int)
insert into t1 values(a) insert into t1 values(a)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database testing_1 master-bin.000001 # Query # # drop database testing_1
use test; use test;
reset master; reset master;
...@@ -90,16 +108,21 @@ insert into t1 values (1); ...@@ -90,16 +108,21 @@ insert into t1 values (1);
drop table tt1, t1; drop table tt1, t1;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int) master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int) master-bin.000001 # Query # # use `test`; create table t1 (a int)
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1) master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database if exists mysqltest1 master-bin.000001 # Query # # drop database if exists mysqltest1
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; insert into t1 values (1) master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt1` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
FLUSH STATUS; FLUSH STATUS;
# #
...@@ -121,6 +144,7 @@ Tables_in_db1 ...@@ -121,6 +144,7 @@ Tables_in_db1
t2 t2
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `db1`; DROP TABLE `t1` master-bin.000001 # Query # # use `db1`; DROP TABLE `t1`
DROP TABLE t3; DROP TABLE t3;
DROP DATABASE db1; DROP DATABASE db1;
...@@ -135,13 +159,19 @@ create procedure sp1 (a int) insert into t1 values(a); ...@@ -135,13 +159,19 @@ create procedure sp1 (a int) insert into t1 values(a);
drop database testing_1; drop database testing_1;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # create database testing_1 master-bin.000001 # Query # # create database testing_1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; create table t1 (a int) master-bin.000001 # Query # # use `testing_1`; create table t1 (a int)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11)
return a+1 return a+1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int)
insert into t1 values(a) insert into t1 values(a)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database testing_1 master-bin.000001 # Query # # drop database testing_1
use test; use test;
reset master; reset master;
...@@ -153,17 +183,21 @@ insert into t1 values (1); ...@@ -153,17 +183,21 @@ insert into t1 values (1);
drop table tt1, t1; drop table tt1, t1;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; create table t1 (a int) master-bin.000001 # Query # # use `test`; create table t1 (a int)
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # drop database if exists mysqltest1 master-bin.000001 # Query # # drop database if exists mysqltest1
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt1` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
FLUSH STATUS; FLUSH STATUS;
# #
...@@ -185,6 +219,7 @@ Tables_in_db1 ...@@ -185,6 +219,7 @@ Tables_in_db1
t2 t2
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `db1`; DROP TABLE `t1` master-bin.000001 # Query # # use `db1`; DROP TABLE `t1`
DROP TABLE t3; DROP TABLE t3;
DROP DATABASE db1; DROP DATABASE db1;
......
...@@ -13,6 +13,7 @@ master-bin.000001 # ...@@ -13,6 +13,7 @@ master-bin.000001 #
### assertion: binlog contents from regular entries ### assertion: binlog contents from regular entries
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int) master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
FLUSH LOGS; FLUSH LOGS;
### assertion: index file contains renamed binlog and the new one ### assertion: index file contains renamed binlog and the new one
...@@ -26,6 +27,7 @@ master-bin.000002 ...@@ -26,6 +27,7 @@ master-bin.000002
### renamed and changed the index file ### renamed and changed the index file
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin-b34582.000001 # Gtid # # GTID #-#-#
master-bin-b34582.000001 # Query # # use `test`; CREATE TABLE t1 (a int) master-bin-b34582.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
### assertion: user changed binlog index shows correct entries ### assertion: user changed binlog index shows correct entries
show binary logs; show binary logs;
......
...@@ -8,12 +8,19 @@ DROP TABLE IF EXISTS db_bug_13684.t; ...@@ -8,12 +8,19 @@ DROP TABLE IF EXISTS db_bug_13684.t;
DROP DATABASE IF EXISTS db_bug_13684; DROP DATABASE IF EXISTS db_bug_13684;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS db_bug_13684.p master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS db_bug_13684.p
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP FUNCTION IF EXISTS db_bug_13684.f master-bin.000001 # Query # # use `test`; DROP FUNCTION IF EXISTS db_bug_13684.f
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TRIGGER IF EXISTS db_bug_13684.tr master-bin.000001 # Query # # use `test`; DROP TRIGGER IF EXISTS db_bug_13684.tr
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP VIEW IF EXISTS db_bug_13684.v master-bin.000001 # Query # # use `test`; DROP VIEW IF EXISTS db_bug_13684.v
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP EVENT IF EXISTS db_bug_13684.e master-bin.000001 # Query # # use `test`; DROP EVENT IF EXISTS db_bug_13684.e
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `db_bug_13684`.`t` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `db_bug_13684`.`t` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684 master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684
CREATE DATABASE db_bug_13684; CREATE DATABASE db_bug_13684;
CREATE TABLE db_bug_13684.t (a int); CREATE TABLE db_bug_13684.t (a int);
...@@ -34,26 +41,40 @@ RETURNS CHAR(50) DETERMINISTIC ...@@ -34,26 +41,40 @@ RETURNS CHAR(50) DETERMINISTIC
RETURN s; RETURN s;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS db_bug_13684.p master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS db_bug_13684.p
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP FUNCTION IF EXISTS db_bug_13684.f master-bin.000001 # Query # # use `test`; DROP FUNCTION IF EXISTS db_bug_13684.f
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TRIGGER IF EXISTS db_bug_13684.tr master-bin.000001 # Query # # use `test`; DROP TRIGGER IF EXISTS db_bug_13684.tr
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP VIEW IF EXISTS db_bug_13684.v master-bin.000001 # Query # # use `test`; DROP VIEW IF EXISTS db_bug_13684.v
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP EVENT IF EXISTS db_bug_13684.e master-bin.000001 # Query # # use `test`; DROP EVENT IF EXISTS db_bug_13684.e
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `db_bug_13684`.`t` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `db_bug_13684`.`t` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684 master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE db_bug_13684 master-bin.000001 # Query # # CREATE DATABASE db_bug_13684
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE db_bug_13684.t (a int) master-bin.000001 # Query # # use `test`; CREATE TABLE db_bug_13684.t (a int)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT db_bug_13684.e master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT db_bug_13684.e
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO DO
UPDATE db_bug_13684.t SET a = a + 1 UPDATE db_bug_13684.t SET a = a + 1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `db_bug_13684`.`v` AS SELECT * FROM db_bug_13684.t master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `db_bug_13684`.`v` AS SELECT * FROM db_bug_13684.t
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER db_bug_13684.tr BEFORE INSERT ON db_bug_13684.t master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER db_bug_13684.tr BEFORE INSERT ON db_bug_13684.t
FOR EACH ROW BEGIN FOR EACH ROW BEGIN
END END
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `db_bug_13684`.`p`(OUT p1 INT) master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `db_bug_13684`.`p`(OUT p1 INT)
BEGIN BEGIN
END END
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `db_bug_13684`.`f`(s CHAR(20)) RETURNS char(50) CHARSET latin1 master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `db_bug_13684`.`f`(s CHAR(20)) RETURNS char(50) CHARSET latin1
DETERMINISTIC DETERMINISTIC
RETURN s RETURN s
...@@ -66,35 +87,56 @@ DROP TABLE IF EXISTS db_bug_13684.t; ...@@ -66,35 +87,56 @@ DROP TABLE IF EXISTS db_bug_13684.t;
DROP DATABASE IF EXISTS db_bug_13684; DROP DATABASE IF EXISTS db_bug_13684;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS db_bug_13684.p master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS db_bug_13684.p
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP FUNCTION IF EXISTS db_bug_13684.f master-bin.000001 # Query # # use `test`; DROP FUNCTION IF EXISTS db_bug_13684.f
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TRIGGER IF EXISTS db_bug_13684.tr master-bin.000001 # Query # # use `test`; DROP TRIGGER IF EXISTS db_bug_13684.tr
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP VIEW IF EXISTS db_bug_13684.v master-bin.000001 # Query # # use `test`; DROP VIEW IF EXISTS db_bug_13684.v
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP EVENT IF EXISTS db_bug_13684.e master-bin.000001 # Query # # use `test`; DROP EVENT IF EXISTS db_bug_13684.e
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `db_bug_13684`.`t` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `db_bug_13684`.`t` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684 master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE db_bug_13684 master-bin.000001 # Query # # CREATE DATABASE db_bug_13684
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE db_bug_13684.t (a int) master-bin.000001 # Query # # use `test`; CREATE TABLE db_bug_13684.t (a int)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT db_bug_13684.e master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT db_bug_13684.e
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO DO
UPDATE db_bug_13684.t SET a = a + 1 UPDATE db_bug_13684.t SET a = a + 1
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `db_bug_13684`.`v` AS SELECT * FROM db_bug_13684.t master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `db_bug_13684`.`v` AS SELECT * FROM db_bug_13684.t
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER db_bug_13684.tr BEFORE INSERT ON db_bug_13684.t master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER db_bug_13684.tr BEFORE INSERT ON db_bug_13684.t
FOR EACH ROW BEGIN FOR EACH ROW BEGIN
END END
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `db_bug_13684`.`p`(OUT p1 INT) master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `db_bug_13684`.`p`(OUT p1 INT)
BEGIN BEGIN
END END
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `db_bug_13684`.`f`(s CHAR(20)) RETURNS char(50) CHARSET latin1 master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `db_bug_13684`.`f`(s CHAR(20)) RETURNS char(50) CHARSET latin1
DETERMINISTIC DETERMINISTIC
RETURN s RETURN s
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS db_bug_13684.p master-bin.000001 # Query # # use `test`; DROP PROCEDURE IF EXISTS db_bug_13684.p
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP FUNCTION IF EXISTS db_bug_13684.f master-bin.000001 # Query # # use `test`; DROP FUNCTION IF EXISTS db_bug_13684.f
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TRIGGER IF EXISTS db_bug_13684.tr master-bin.000001 # Query # # use `test`; DROP TRIGGER IF EXISTS db_bug_13684.tr
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP VIEW IF EXISTS db_bug_13684.v master-bin.000001 # Query # # use `test`; DROP VIEW IF EXISTS db_bug_13684.v
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP EVENT IF EXISTS db_bug_13684.e master-bin.000001 # Query # # use `test`; DROP EVENT IF EXISTS db_bug_13684.e
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `db_bug_13684`.`t` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `db_bug_13684`.`t` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684 master-bin.000001 # Query # # DROP DATABASE IF EXISTS db_bug_13684
CREATE TABLE t1(id int); CREATE TABLE t1(id int);
DROP TABLE /* comment */ t1; DROP TABLE /* comment */ t1;
...@@ -106,11 +148,19 @@ CREATE TABLE t1(id int); ...@@ -106,11 +148,19 @@ CREATE TABLE t1(id int);
DROP TABLE IF EXISTS /* */ t1; DROP TABLE IF EXISTS /* */ t1;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int) master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE /* comment */ `t1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE /* comment */ `t1` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int) master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS /* comment */ `t1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS /* comment */ `t1` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int) master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE /**/ `t1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE /**/ `t1` /* generated by server */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int) master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id int)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS /* */ `t1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS /* */ `t1` /* generated by server */
...@@ -65,50 +65,51 @@ UPDATE t1 SET b = 4*a WHERE a > 4; ...@@ -65,50 +65,51 @@ UPDATE t1 SET b = 4*a WHERE a > 4;
COMMIT; COMMIT;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=INNODB master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=INNODB
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6) master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6)
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 2*a WHERE a > 1 master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 2*a WHERE a > 1
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 3*a WHERE a > 3 master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 3*a WHERE a > 3
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 4*a WHERE a > 4 master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 4*a WHERE a > 4
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 3*a WHERE a > 3 master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 3*a WHERE a > 3
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 4*a WHERE a > 4 master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 4*a WHERE a > 4
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
......
...@@ -9,7 +9,7 @@ commit; ...@@ -9,7 +9,7 @@ commit;
*** Results of the test: the binlog must have only Write_rows events not any Update_rows *** *** Results of the test: the binlog must have only Write_rows events not any Update_rows ***
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
...@@ -24,7 +24,7 @@ commit; ...@@ -24,7 +24,7 @@ commit;
*** Results of the test: the binlog must have only one Write_rows event not two *** *** Results of the test: the binlog must have only one Write_rows event not two ***
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
...@@ -40,11 +40,13 @@ DROP TABLE t1; ...@@ -40,11 +40,13 @@ DROP TABLE t1;
############################################### ###############################################
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 ( c1 int , primary key (c1)) ENGINE=InnoDB master-bin.000001 # Query # # use `test`; CREATE TABLE t1 ( c1 int , primary key (c1)) ENGINE=InnoDB
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
############################################### ###############################################
RESET MASTER; RESET MASTER;
...@@ -57,6 +59,7 @@ DROP TEMPORARY TABLE t1; ...@@ -57,6 +59,7 @@ DROP TEMPORARY TABLE t1;
############################################### ###############################################
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `t1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `t1` /* generated by server */
############################################### ###############################################
# #
......
...@@ -16,14 +16,16 @@ a ...@@ -16,14 +16,16 @@ a
SHOW BINLOG EVENTS; SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
BINLOG POS Format_desc 1 ENDPOS Server ver: #, Binlog ver: # BINLOG POS Format_desc 1 ENDPOS Server ver: #, Binlog ver: #
BINLOG POS Gtid_list 1 ENDPOS []
BINLOG POS Binlog_checkpoint 1 ENDPOS master-bin.000001 BINLOG POS Binlog_checkpoint 1 ENDPOS master-bin.000001
BINLOG POS Gtid 1 ENDPOS GTID 0-1-1
BINLOG POS Query 1 ENDPOS use `test`; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb BINLOG POS Query 1 ENDPOS use `test`; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=innodb
BINLOG POS Query 1 ENDPOS BEGIN BINLOG POS Gtid 1 ENDPOS BEGIN GTID 0-1-2
BINLOG POS Query 1 ENDPOS use `test`; INSERT INTO t1 VALUES(0) BINLOG POS Query 1 ENDPOS use `test`; INSERT INTO t1 VALUES(0)
BINLOG POS Xid 1 ENDPOS COMMIT /* XID */ BINLOG POS Xid 1 ENDPOS COMMIT /* XID */
BINLOG POS Query 1 ENDPOS BEGIN BINLOG POS Gtid 1 ENDPOS BEGIN GTID 0-1-3
BINLOG POS Query 1 ENDPOS BEGIN BINLOG POS Gtid 1 ENDPOS BEGIN GTID 0-1-4
BINLOG POS Query 1 ENDPOS BEGIN BINLOG POS Gtid 1 ENDPOS BEGIN GTID 0-1-5
BINLOG POS Query 1 ENDPOS use `test`; INSERT INTO t1 VALUES(3) BINLOG POS Query 1 ENDPOS use `test`; INSERT INTO t1 VALUES(3)
BINLOG POS Xid 1 ENDPOS COMMIT /* XID */ BINLOG POS Xid 1 ENDPOS COMMIT /* XID */
DROP TABLE t1; DROP TABLE t1;
...@@ -93,7 +93,7 @@ select @b /* must be 1 at the end of a stmt calling bug27563() */; ...@@ -93,7 +93,7 @@ select @b /* must be 1 at the end of a stmt calling bug27563() */;
must have the update query event on the 4th line must have the update query event on the 4th line
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # User var # # @`b`=0 master-bin.000001 # User var # # @`b`=0
master-bin.000001 # Query # # use `test`; update t4 set b=b + bug27563(b) master-bin.000001 # Query # # use `test`; update t4 set b=b + bug27563(b)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
...@@ -132,7 +132,7 @@ select @b /* must be 1 at the end of a stmt calling bug27563() */; ...@@ -132,7 +132,7 @@ select @b /* must be 1 at the end of a stmt calling bug27563() */;
must have the delete query event on the 4th line must have the delete query event on the 4th line
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # User var # # @`b`=0 master-bin.000001 # User var # # @`b`=0
master-bin.000001 # Query # # use `test`; delete from t4 where b=bug27563(1) or b=bug27563(2) master-bin.000001 # Query # # use `test`; delete from t4 where b=bug27563(1) or b=bug27563(2)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
......
...@@ -18,7 +18,7 @@ load data infile '../../std_data/rpl_loaddata.dat' into table t2 /* will be "kil ...@@ -18,7 +18,7 @@ load data infile '../../std_data/rpl_loaddata.dat' into table t2 /* will be "kil
ERROR 70100: Query execution was interrupted ERROR 70100: Query execution was interrupted
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=# master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE `t2` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, `b`) ;file_id=# master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE `t2` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, `b`) ;file_id=#
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
......
...@@ -21,9 +21,11 @@ master-bin.000002 # ...@@ -21,9 +21,11 @@ master-bin.000002 #
show binlog events in 'master-bin.000001' from <binlog_start>; show binlog events in 'master-bin.000001' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION master-bin.000001 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
master-bin.000001 # Gtid_list # # []
master-bin.000001 # Binlog_checkpoint # # master-bin.000001 master-bin.000001 # Binlog_checkpoint # # master-bin.000001
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
......
...@@ -3,7 +3,7 @@ CREATE TABLE t1 (word CHAR(20) NOT NULL) ENGINE=MYISAM; ...@@ -3,7 +3,7 @@ CREATE TABLE t1 (word CHAR(20) NOT NULL) ENGINE=MYISAM;
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE t1; LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE t1;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
......
...@@ -2253,8 +2253,15 @@ DELIMITER /*!*/; ...@@ -2253,8 +2253,15 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup #010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/; ROLLBACK/*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Gtid list []
# at #
#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001 #010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/; use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
...@@ -2357,9 +2364,8 @@ crn INT -- row number ...@@ -2357,9 +2364,8 @@ crn INT -- row number
) ENGINE=MyISAM DEFAULT CHARSET latin1 ) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=2*//*!*/;
SET @@session.time_zone='SYSTEM'/*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -2450,11 +2456,12 @@ BEGIN ...@@ -2450,11 +2456,12 @@ BEGIN
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
SET @@session.time_zone='SYSTEM'/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-3
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -2548,8 +2555,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -2548,8 +2555,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-4
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -2726,8 +2733,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -2726,8 +2733,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-5
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -2901,8 +2908,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -2901,8 +2908,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-6
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -3076,8 +3083,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -3076,8 +3083,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-7
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -3251,8 +3258,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -3251,8 +3258,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-8
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -3426,8 +3433,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -3426,8 +3433,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-9
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -3521,8 +3528,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -3521,8 +3528,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-10
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=10*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -3616,8 +3623,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -3616,8 +3623,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-11
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=11*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -3711,8 +3718,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -3711,8 +3718,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-12
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -3902,8 +3909,15 @@ DELIMITER /*!*/; ...@@ -3902,8 +3909,15 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup #010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/; ROLLBACK/*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Gtid list []
# at #
#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001 #010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/; use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
...@@ -3922,8 +3936,8 @@ crn INT -- row number ...@@ -3922,8 +3936,8 @@ crn INT -- row number
) ENGINE=MyISAM DEFAULT CHARSET latin1 ) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -3981,8 +3995,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -3981,8 +3995,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-3
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -4058,8 +4072,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -4058,8 +4072,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-4
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -4279,8 +4293,15 @@ DELIMITER /*!*/; ...@@ -4279,8 +4293,15 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup #010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/; ROLLBACK/*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Gtid list []
# at #
#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001 #010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/; use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
...@@ -4299,6 +4320,9 @@ c_1_n INT -- row number ...@@ -4299,6 +4320,9 @@ c_1_n INT -- row number
) ENGINE=MyISAM DEFAULT CHARSET latin1 ) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 ( CREATE TABLE t2 (
...@@ -4308,6 +4332,9 @@ c_2_n INT -- row number ...@@ -4308,6 +4332,9 @@ c_2_n INT -- row number
) ENGINE=MyISAM DEFAULT CHARSET latin1 ) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t3 ( CREATE TABLE t3 (
...@@ -4317,8 +4344,8 @@ c_3_n INT -- row number ...@@ -4317,8 +4344,8 @@ c_3_n INT -- row number
) ENGINE=MyISAM DEFAULT CHARSET latin1 ) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-4
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=4*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -4376,8 +4403,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -4376,8 +4403,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-5
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=5*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -4435,8 +4462,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -4435,8 +4462,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-6
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -4494,8 +4521,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -4494,8 +4521,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-7
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -4678,8 +4705,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -4678,8 +4705,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-8
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -4854,8 +4881,15 @@ DELIMITER /*!*/; ...@@ -4854,8 +4881,15 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup #010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/; ROLLBACK/*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Gtid list []
# at #
#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001 #010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/; use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
...@@ -4874,8 +4908,8 @@ c3 VARCHAR(60) ...@@ -4874,8 +4908,8 @@ c3 VARCHAR(60)
) ENGINE=MyISAM DEFAULT CHARSET latin1 ) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=2*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
......
...@@ -132,8 +132,15 @@ DELIMITER /*!*/; ...@@ -132,8 +132,15 @@ DELIMITER /*!*/;
#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup #010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup
ROLLBACK/*!*/; ROLLBACK/*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Gtid list []
# at #
#010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001 #010909 4:46:40 server id 1 end_log_pos # Binlog checkpoint master-bin.000001
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-1
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
use `test`/*!*/; use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
...@@ -151,6 +158,9 @@ c2 VARCHAR(20) ...@@ -151,6 +158,9 @@ c2 VARCHAR(20)
) ENGINE=InnoDB DEFAULT CHARSET latin1 ) ENGINE=InnoDB DEFAULT CHARSET latin1
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-2
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 ( CREATE TABLE t2 (
...@@ -159,8 +169,8 @@ c2 VARCHAR(20) ...@@ -159,8 +169,8 @@ c2 VARCHAR(20)
) ENGINE=MyISAM DEFAULT CHARSET latin1 ) ENGINE=MyISAM DEFAULT CHARSET latin1
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-3
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=3*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -216,18 +226,24 @@ BEGIN ...@@ -216,18 +226,24 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = # #010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/; COMMIT/*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t1 TRUNCATE TABLE t1
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t1 TRUNCATE TABLE t1
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-6
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=6*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -252,8 +268,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -252,8 +268,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-7
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=7*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -287,8 +303,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -287,8 +303,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-8
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=8*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -305,8 +321,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -305,8 +321,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-9
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=9*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -362,18 +378,24 @@ BEGIN ...@@ -362,18 +378,24 @@ BEGIN
#010909 4:46:40 server id 1 end_log_pos # Xid = # #010909 4:46:40 server id 1 end_log_pos # Xid = #
COMMIT/*!*/; COMMIT/*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t1 TRUNCATE TABLE t1
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-11
/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t2 TRUNCATE TABLE t2
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-12
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=12*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -398,8 +420,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -398,8 +420,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-13
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=13*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -433,8 +455,8 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -433,8 +455,8 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # GTID 0-1-14
SET TIMESTAMP=1000000000/*!*/; /*!100001 SET @@session.gtid_seq_no=14*//*!*/;
BEGIN BEGIN
/*!*/; /*!*/;
# at # # at #
...@@ -451,11 +473,17 @@ SET TIMESTAMP=1000000000/*!*/; ...@@ -451,11 +473,17 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-15
/*!100001 SET @@session.gtid_seq_no=15*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t1 TRUNCATE TABLE t1
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-16
/*!100001 SET @@session.gtid_seq_no=16*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t2 TRUNCATE TABLE t2
......
...@@ -5,7 +5,7 @@ reset master; ...@@ -5,7 +5,7 @@ reset master;
insert into t2 values (@v); insert into t2 values (@v);
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t2) master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
...@@ -15,6 +15,8 @@ flush logs; ...@@ -15,6 +15,8 @@ flush logs;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/; DELIMITER /*!*/;
ROLLBACK/*!*/; ROLLBACK/*!*/;
BEGIN
/*!*/;
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/*!*/; SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
...@@ -24,9 +26,6 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/ ...@@ -24,9 +26,6 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/; SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/; SET @@session.collation_database=DEFAULT/*!*/;
BEGIN
/*!*/;
SET TIMESTAMP=10000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
DELIMITER ; DELIMITER ;
......
...@@ -8,9 +8,11 @@ DROP TABLE t1;; ...@@ -8,9 +8,11 @@ DROP TABLE t1;;
COMMIT; COMMIT;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT) master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
...@@ -8,7 +8,7 @@ insert into t1 select * from t2; ...@@ -8,7 +8,7 @@ insert into t1 select * from t2;
ERROR 23000: Duplicate entry '2' for key 'a' ERROR 23000: Duplicate entry '2' for key 'a'
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
......
...@@ -34,8 +34,11 @@ COMMIT; ...@@ -34,8 +34,11 @@ COMMIT;
### assertion: filtered events did not make into the binlog ### assertion: filtered events did not make into the binlog
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # CREATE DATABASE b42829 master-bin.000001 # Query # # CREATE DATABASE b42829
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `b42829`; CREATE TABLE t1 (x int, y int) engine=InnoDB master-bin.000001 # Query # # use `b42829`; CREATE TABLE t1 (x int, y int) engine=InnoDB
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `b42829`; CREATE TABLE t2 (x int, y int) engine=InnoDB master-bin.000001 # Query # # use `b42829`; CREATE TABLE t2 (x int, y int) engine=InnoDB
DROP DATABASE b42829; DROP DATABASE b42829;
DROP DATABASE b42829_filtered; DROP DATABASE b42829_filtered;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment