Commit 206aab31 authored by unknown's avatar unknown

Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.1-new-rpl

into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge


client/Makefile.am:
  Auto merged
mysql-test/r/rpl_ndb_basic.result:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
parents cf465f7e 3430da8e
...@@ -4,6 +4,6 @@ path=`dirname $0` ...@@ -4,6 +4,6 @@ path=`dirname $0`
. "$path/SETUP.sh" "$@" --with-debug=full . "$path/SETUP.sh" "$@" --with-debug=full
extra_flags="$pentium_cflags $debug_cflags" extra_flags="$pentium_cflags $debug_cflags"
extra_configs="$pentium_configs $debug_configs $max_configs $error_inject" extra_configs="$pentium_configs $debug_configs $max_configs $error_inject --with-experimental-collations"
. "$path/FINISH.sh" . "$path/FINISH.sh"
...@@ -95,7 +95,8 @@ DEFS = -DUNDEF_THREADS_HACK \ ...@@ -95,7 +95,8 @@ DEFS = -DUNDEF_THREADS_HACK \
-DDEFAULT_MYSQL_HOME="\"$(prefix)\"" \ -DDEFAULT_MYSQL_HOME="\"$(prefix)\"" \
-DDATADIR="\"$(localstatedir)\"" -DDATADIR="\"$(localstatedir)\""
sql_src=log_event.h mysql_priv.h log_event.cc my_decimal.h my_decimal.cc sql_src=log_event.h mysql_priv.h rpl_constants.h \
log_event.cc my_decimal.h my_decimal.cc
strings_src=decimal.c strings_src=decimal.c
link_sources: link_sources:
......
...@@ -2517,7 +2517,8 @@ print_table_data_xml(MYSQL_RES *result) ...@@ -2517,7 +2517,8 @@ print_table_data_xml(MYSQL_RES *result)
tee_fputs("<?xml version=\"1.0\"?>\n\n<resultset statement=\"", PAGER); tee_fputs("<?xml version=\"1.0\"?>\n\n<resultset statement=\"", PAGER);
xmlencode_print(glob_buffer.ptr(), (int)strlen(glob_buffer.ptr())); xmlencode_print(glob_buffer.ptr(), (int)strlen(glob_buffer.ptr()));
tee_fputs("\">", PAGER); tee_fputs("\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">",
PAGER);
fields = mysql_fetch_fields(result); fields = mysql_fetch_fields(result);
while ((cur = mysql_fetch_row(result))) while ((cur = mysql_fetch_row(result)))
......
...@@ -481,19 +481,17 @@ static int ...@@ -481,19 +481,17 @@ static int
write_event_header_and_base64(Log_event *ev, FILE *result_file, write_event_header_and_base64(Log_event *ev, FILE *result_file,
PRINT_EVENT_INFO *print_event_info) PRINT_EVENT_INFO *print_event_info)
{ {
IO_CACHE *head= &print_event_info->head_cache;
IO_CACHE *body= &print_event_info->body_cache;
DBUG_ENTER("write_event_header_and_base64"); DBUG_ENTER("write_event_header_and_base64");
/* Write header and base64 output to cache */
IO_CACHE result_cache;
if (open_cached_file(&result_cache, NULL, NULL, 0, MYF(MY_WME | MY_NABP)))
return 1;
ev->print_header(&result_cache, print_event_info, FALSE); /* Write header and base64 output to cache */
ev->print_base64(&result_cache, print_event_info, FALSE); ev->print_header(head, print_event_info, FALSE);
ev->print_base64(body, print_event_info, FALSE);
/* Read data from cache and write to result file */ /* Read data from cache and write to result file */
my_b_copy_to_file(&result_cache, result_file); DBUG_RETURN(copy_event_cache_to_file_and_reinit(head, result_file) ||
close_cached_file(&result_cache); copy_event_cache_to_file_and_reinit(body, result_file));
DBUG_RETURN(0);
} }
......
...@@ -429,3 +429,16 @@ then ...@@ -429,3 +429,16 @@ then
else else
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
fi fi
# Shall we build experimental collations
AC_ARG_WITH(experimental-collations,
[],
[with_exp_coll=$withval],
[with_exp_coll=no]
)
if test "$with_exp_coll" = "yes"
then
AC_DEFINE([HAVE_UTF8_GENERAL_CS], [1], [certain Japanese customer])
fi
...@@ -20,9 +20,7 @@ begin; ...@@ -20,9 +20,7 @@ begin;
insert t2 values (5); insert t2 values (5);
commit; commit;
# first COMMIT must be Query_log_event, second - Xid_log_event # first COMMIT must be Query_log_event, second - Xid_log_event
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
drop table t1,t2; drop table t1,t2;
# #
...@@ -44,10 +42,10 @@ commit; ...@@ -44,10 +42,10 @@ commit;
drop table t1; drop table t1;
--replace_column 2 # 5 # --replace_column 2 # 5 #
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\// --replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events in 'master-bin.000001' from 102; show binlog events in 'master-bin.000001' from 106;
--replace_column 2 # 5 # --replace_column 2 # 5 #
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\// --replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events in 'master-bin.000002' from 102; show binlog events in 'master-bin.000002' from 106;
# Test of a too big SET INSERT_ID: see if the truncated value goes # Test of a too big SET INSERT_ID: see if the truncated value goes
# into binlog (right), or the too big value (wrong); we look at the # into binlog (right), or the too big value (wrong); we look at the
...@@ -80,9 +78,7 @@ DELETE FROM user WHERE host='localhost' AND user='@#@'; ...@@ -80,9 +78,7 @@ DELETE FROM user WHERE host='localhost' AND user='@#@';
--enable_warnings --enable_warnings
use test; use test;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
drop table t1,t2,t3,tt1; drop table t1,t2,t3,tt1;
-- source extra/binlog_tests/binlog_insert_delayed.test -- source extra/binlog_tests/binlog_insert_delayed.test
......
...@@ -23,9 +23,7 @@ inc $count; ...@@ -23,9 +23,7 @@ inc $count;
# moving binlog check affront of multi-rows queries which work is indeterministic (extra table_maps) # moving binlog check affront of multi-rows queries which work is indeterministic (extra table_maps)
# todo: better check is to substitute SHOW BINLOG with reading from binlog, probably bug#19459 is in # todo: better check is to substitute SHOW BINLOG with reading from binlog, probably bug#19459 is in
# the way # the way
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events from 102;
insert delayed into t1 values (null),(null),(null),(null); insert delayed into t1 values (null),(null),(null),(null);
inc $count; inc $count; inc $count; inc $count; inc $count; inc $count; inc $count; inc $count;
......
...@@ -121,11 +121,7 @@ select * from t2; ...@@ -121,11 +121,7 @@ select * from t2;
select * from t3; select * from t3;
let $VERSION=`select version()`; let $VERSION=`select version()`;
--replace_result $VERSION VERSION source include/show_binlog_events.inc;
--replace_column 2 # 5 #
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events;
drop table t1,t2,t3; drop table t1,t2,t3;
# #
...@@ -157,10 +153,7 @@ start transaction; ...@@ -157,10 +153,7 @@ start transaction;
insert into t1 values(2); insert into t1 values(2);
rollback; rollback;
set autocommit=1; set autocommit=1;
--replace_result $VERSION VERSION source include/show_binlog_events.inc;
--replace_column 2 # 5 #
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events;
drop table if exists t1; drop table if exists t1;
# End of 5.0 tests # End of 5.0 tests
...@@ -26,9 +26,7 @@ SET @var1= x'8300'; ...@@ -26,9 +26,7 @@ SET @var1= x'8300';
# code (and I have used it to test the fix) until there is some way to # code (and I have used it to test the fix) until there is some way to
# exercise this code from mysql-test-run. # exercise this code from mysql-test-run.
EXECUTE stmt1 USING @var1; EXECUTE stmt1 USING @var1;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/
SHOW BINLOG EVENTS FROM 102;
SELECT HEX(f1) FROM t1; SELECT HEX(f1) FROM t1;
DROP table t1; DROP table t1;
# end test for bug#11338 # end test for bug#11338
......
...@@ -9,8 +9,7 @@ create table t2 (c char(30)) charset=ucs2; ...@@ -9,8 +9,7 @@ create table t2 (c char(30)) charset=ucs2;
set @v=convert('abc' using ucs2); set @v=convert('abc' using ucs2);
reset master; reset master;
insert into t2 values (@v); insert into t2 values (@v);
--replace_regex /table_id: [0-9]+/table_id: #/ source include/show_binlog_events.inc;
show binlog events from 102;
# more important than SHOW BINLOG EVENTS, mysqlbinlog (where we # more important than SHOW BINLOG EVENTS, mysqlbinlog (where we
# absolutely need variables names to be quoted and strings to be # absolutely need variables names to be quoted and strings to be
# escaped). # escaped).
......
...@@ -23,10 +23,7 @@ connection con2; ...@@ -23,10 +23,7 @@ connection con2;
# To be sure that logging has been done, we use a user lock. # To be sure that logging has been done, we use a user lock.
select get_lock("a",10); select get_lock("a",10);
let $VERSION=`select version()`; let $VERSION=`select version()`;
--replace_result $VERSION VERSION source include/show_binlog_events.inc;
--replace_column 2 # 5 #
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events;
drop database `drop-temp+table-test`; drop database `drop-temp+table-test`;
# End of 4.1 tests # End of 4.1 tests
...@@ -18,9 +18,7 @@ insert into t1 select * from t2; ...@@ -18,9 +18,7 @@ insert into t1 select * from t2;
# The above should produce an error, but still be in the binlog; # The above should produce an error, but still be in the binlog;
# verify the binlog : # verify the binlog :
let $VERSION=`select version()`; let $VERSION=`select version()`;
--replace_result $VERSION VERSION source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events;
select * from t1; select * from t1;
drop table t1, t2; drop table t1, t2;
...@@ -33,9 +31,7 @@ reset master; ...@@ -33,9 +31,7 @@ reset master;
create table t2(unique(a)) select a from t1; create table t2(unique(a)) select a from t1;
# The above should produce an error, *and* not appear in the binlog # The above should produce an error, *and* not appear in the binlog
let $VERSION=`select version()`; let $VERSION=`select version()`;
--replace_result $VERSION VERSION source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events;
drop table t1; drop table t1;
# End of 4.1 tests # End of 4.1 tests
...@@ -29,9 +29,7 @@ insert into t1 values(1); ...@@ -29,9 +29,7 @@ insert into t1 values(1);
insert into t2 select * from t1; insert into t2 select * from t1;
commit; commit;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
delete from t1; delete from t1;
delete from t2; delete from t2;
...@@ -43,9 +41,7 @@ insert into t2 select * from t1; ...@@ -43,9 +41,7 @@ insert into t2 select * from t1;
# should say some changes to non-transact1onal tables couldn't be rolled back # should say some changes to non-transact1onal tables couldn't be rolled back
rollback; rollback;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
delete from t1; delete from t1;
delete from t2; delete from t2;
...@@ -59,9 +55,7 @@ insert into t2 select * from t1; ...@@ -59,9 +55,7 @@ insert into t2 select * from t1;
rollback to savepoint my_savepoint; rollback to savepoint my_savepoint;
commit; commit;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
delete from t1; delete from t1;
delete from t2; delete from t2;
...@@ -77,9 +71,7 @@ insert into t1 values(7); ...@@ -77,9 +71,7 @@ insert into t1 values(7);
commit; commit;
select a from t1 order by a; # check that savepoints work :) select a from t1 order by a; # check that savepoints work :)
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
# and when ROLLBACK is not explicit? # and when ROLLBACK is not explicit?
delete from t1; delete from t1;
...@@ -99,9 +91,7 @@ connection con2; ...@@ -99,9 +91,7 @@ connection con2;
# so SHOW BINLOG EVENTS may come before con1 does the loggin. To be sure that # so SHOW BINLOG EVENTS may come before con1 does the loggin. To be sure that
# logging has been done, we use a user lock. # logging has been done, we use a user lock.
select get_lock("a",10); select get_lock("a",10);
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
# and when not in a transact1on? # and when not in a transact1on?
delete from t1; delete from t1;
...@@ -111,9 +101,7 @@ reset master; ...@@ -111,9 +101,7 @@ reset master;
insert into t1 values(9); insert into t1 values(9);
insert into t2 select * from t1; insert into t2 select * from t1;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
# Check that when the query updat1ng the MyISAM table is the first in the # Check that when the query updat1ng the MyISAM table is the first in the
# transaction, we log it immediately. # transaction, we log it immediately.
...@@ -124,16 +112,11 @@ reset master; ...@@ -124,16 +112,11 @@ reset master;
insert into t1 values(10); # first make t1 non-empty insert into t1 values(10); # first make t1 non-empty
begin; begin;
insert into t2 select * from t1; insert into t2 select * from t1;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
insert into t1 values(11); insert into t1 values(11);
commit; commit;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
# Check that things work like before this BEGIN/ROLLBACK code was added, # Check that things work like before this BEGIN/ROLLBACK code was added,
# when t2 is INNODB # when t2 is INNODB
...@@ -149,9 +132,7 @@ insert into t1 values(12); ...@@ -149,9 +132,7 @@ insert into t1 values(12);
insert into t2 select * from t1; insert into t2 select * from t1;
commit; commit;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
delete from t1; delete from t1;
delete from t2; delete from t2;
...@@ -162,9 +143,7 @@ insert into t1 values(13); ...@@ -162,9 +143,7 @@ insert into t1 values(13);
insert into t2 select * from t1; insert into t2 select * from t1;
rollback; rollback;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
delete from t1; delete from t1;
delete from t2; delete from t2;
...@@ -178,9 +157,7 @@ insert into t2 select * from t1; ...@@ -178,9 +157,7 @@ insert into t2 select * from t1;
rollback to savepoint my_savepoint; rollback to savepoint my_savepoint;
commit; commit;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
delete from t1; delete from t1;
delete from t2; delete from t2;
...@@ -196,9 +173,7 @@ insert into t1 values(18); ...@@ -196,9 +173,7 @@ insert into t1 values(18);
commit; commit;
select a from t1 order by a; # check that savepoints work :) select a from t1 order by a; # check that savepoints work :)
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
# Test for BUG#5714, where a MyISAM update in the transaction used to # Test for BUG#5714, where a MyISAM update in the transaction used to
# release row-level locks in InnoDB # release row-level locks in InnoDB
...@@ -257,9 +232,7 @@ insert into t2 values (3); ...@@ -257,9 +232,7 @@ insert into t2 values (3);
disconnect con2; disconnect con2;
connection con3; connection con3;
select get_lock("lock1",60); select get_lock("lock1",60);
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
do release_lock("lock1"); do release_lock("lock1");
drop table t0,t2; drop table t0,t2;
...@@ -324,9 +297,7 @@ CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * ...@@ -324,9 +297,7 @@ CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select *
ROLLBACK; ROLLBACK;
SELECT * from t2; SELECT * from t2;
DROP TABLE t1,t2; DROP TABLE t1,t2;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events from 102;
# Test for BUG#16559 (ROLLBACK should always have a zero error code in # Test for BUG#16559 (ROLLBACK should always have a zero error code in
# binlog). Has to be here and not earlier, as the SELECTs influence # binlog). Has to be here and not earlier, as the SELECTs influence
......
This diff is collapsed.
...@@ -82,7 +82,7 @@ show slave status; ...@@ -82,7 +82,7 @@ show slave status;
stop slave; stop slave;
delete from t3; delete from t3;
change master to master_log_pos=544; # the BEGIN log event change master to master_log_pos=548; # the BEGIN log event
begin; begin;
select * from t2 for update; # hold lock select * from t2 for update; # hold lock
start slave; start slave;
...@@ -107,7 +107,7 @@ set global max_relay_log_size=0; ...@@ -107,7 +107,7 @@ set global max_relay_log_size=0;
# This is really copy-paste of 2) of above # This is really copy-paste of 2) of above
stop slave; stop slave;
delete from t3; delete from t3;
change master to master_log_pos=544; change master to master_log_pos=548;
begin; begin;
select * from t2 for update; select * from t2 for update;
start slave; start slave;
......
...@@ -42,13 +42,13 @@ select count(*) from t1; ...@@ -42,13 +42,13 @@ select count(*) from t1;
show binlog events; show binlog events;
--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: #/
show binlog events from 102 limit 1; show binlog events from 106 limit 1;
--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: #/
show binlog events from 102 limit 2; show binlog events from 106 limit 2;
--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: #/
show binlog events from 102 limit 2,1; show binlog events from 106 limit 2,1;
flush logs; flush logs;
# We need an extra update before doing save_master_pos. # We need an extra update before doing save_master_pos.
...@@ -88,10 +88,7 @@ connection master; ...@@ -88,10 +88,7 @@ connection master;
eval create table t2 (n int)ENGINE=$engine_type; eval create table t2 (n int)ENGINE=$engine_type;
insert into t2 values (1); insert into t2 values (1);
--replace_result $VERSION VERSION source include/show_binlog_events.inc;
--replace_column 2 # 5 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
show binlog events;
--replace_result $VERSION VERSION --replace_result $VERSION VERSION
--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: #/
...@@ -142,10 +139,7 @@ insert into t1 values (NULL, 1); ...@@ -142,10 +139,7 @@ insert into t1 values (NULL, 1);
reset master; reset master;
set insert_id=5; set insert_id=5;
insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id()); insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id());
--replace_result $VERSION VERSION source include/show_binlog_events.inc;
--replace_column 2 # 5 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
show binlog events;
select * from t1; select * from t1;
drop table t1; drop table t1;
......
...@@ -23,8 +23,6 @@ delimiter ;/ ...@@ -23,8 +23,6 @@ delimiter ;/
sync_slave_with_master; sync_slave_with_master;
select * from mysqltest.t1; select * from mysqltest.t1;
connection master; connection master;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events from 102;
drop database mysqltest; drop database mysqltest;
sync_slave_with_master; sync_slave_with_master;
This diff is collapsed.
...@@ -113,9 +113,7 @@ select * from mysqltest2.t1 order by a; ...@@ -113,9 +113,7 @@ select * from mysqltest2.t1 order by a;
connection master; connection master;
drop database mysqltest2; drop database mysqltest2;
drop database mysqltest3; drop database mysqltest3;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events from 102;
sync_slave_with_master; sync_slave_with_master;
# Check that we can change global.collation_server (since 5.0.3) # Check that we can change global.collation_server (since 5.0.3)
......
...@@ -15,9 +15,7 @@ SELECT * FROM t1 ORDER BY a; ...@@ -15,9 +15,7 @@ SELECT * FROM t1 ORDER BY a;
sync_slave_with_master; sync_slave_with_master;
connection master; connection master;
--replace_result $VERSION VERSION source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events;
sync_slave_with_master; sync_slave_with_master;
SELECT * FROM t1 ORDER BY a; SELECT * FROM t1 ORDER BY a;
connection master; connection master;
......
...@@ -222,7 +222,7 @@ sync_with_master; ...@@ -222,7 +222,7 @@ sync_with_master;
select * from test.t3; select * from test.t3;
connection master; connection master;
#show binlog events from 1626; #show binlog events from 1627;
# First lets cleanup # First lets cleanup
......
...@@ -65,7 +65,7 @@ sync_slave_with_master; ...@@ -65,7 +65,7 @@ sync_slave_with_master;
connection slave; connection slave;
SELECT * FROM test.t1; SELECT * FROM test.t1;
connection master; connection master;
#show binlog events from 719; #show binlog events from 720;
DROP PROCEDURE IF EXISTS test.p1; DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2; DROP PROCEDURE IF EXISTS test.p2;
......
...@@ -109,9 +109,7 @@ select * from mysqltest2.t1 order by a; ...@@ -109,9 +109,7 @@ select * from mysqltest2.t1 order by a;
connection master; connection master;
drop database mysqltest2; drop database mysqltest2;
drop database mysqltest3; drop database mysqltest3;
--replace_column 2 # 5 # source include/show_binlog_events.inc;
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events from 102;
sync_slave_with_master; sync_slave_with_master;
# Check that we can change global.collation_server (since 5.0.3) # Check that we can change global.collation_server (since 5.0.3)
......
...@@ -37,6 +37,4 @@ SELECT * FROM t1; ...@@ -37,6 +37,4 @@ SELECT * FROM t1;
connection master; connection master;
DROP TABLE t1; DROP TABLE t1;
let $SERVER_VERSION=`select version()`; let $SERVER_VERSION=`select version()`;
--replace_result $SERVER_VERSION SERVER_VERSION source include/show_binlog_events.inc;
--replace_regex /\/\* xid=[0-9]+ \*\//\/* xid= *\// /table_id: [0-9]+/table_id: #/
SHOW BINLOG EVENTS;
##################################################################
# Author: Giuseppe, Chuck Bell #
# Date: 17-January-2007 #
# Purpose: To test that event effects are replicated #
# in both row based and statement based format #
##################################################################
--disable_warnings
DROP EVENT IF EXISTS test.justonce;
drop table if exists t1,t2;
--enable_warnings
# first, we need a table to record something from an event
eval CREATE TABLE `t1` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`c` VARCHAR(50) NOT NULL,
`ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=$engine_type DEFAULT CHARSET=utf8;
INSERT INTO t1 (c) VALUES ('manually');
# then, we create the event
CREATE EVENT test.justonce ON SCHEDULE AT NOW() + INTERVAL 2 SECOND DO INSERT INTO t1
(c) VALUES ('from justonce');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce';
# wait 3 seconds, so the event can trigger
--real_sleep 3
# check that table t1 contains something
--echo "in the master"
--enable_info
--replace_column 3 TIMESTAMP
SELECT * FROM t1 WHERE c = 'from justonce' OR c = 'manually' ORDER BY id;
--disable_info
sync_slave_with_master;
--echo "in the slave"
--enable_info
--replace_column 3 TIMESTAMP
SELECT * FROM t1 WHERE c = 'from justonce' OR c = 'manually' ORDER BY id;
--disable_info
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce';
# Create an event on the slave and check to see what the originator is.
--disable_warnings
DROP EVENT IF EXISTS test.slave_once;
--enable_warnings
CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE DO
INSERT INTO t1(c) VALUES ('from slave_once');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_once';
--disable_warnings
DROP EVENT IF EXISTS test.slave_once;
--enable_warnings
connection master;
# BUG#20384 - disable events on slave
--disable_warnings
DROP EVENT IF EXISTS test.justonce;
--enable_warnings
CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND DO
INSERT INTO t1(c) VALUES ('from er');
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
sync_slave_with_master;
--echo "in the slave"
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
connection master;
--echo "in the master"
ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND DO INSERT into t1(c) VALUES ('from alter er');
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
sync_slave_with_master;
--echo "in the slave"
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
connection master;
--echo "in the master"
DROP EVENT test.er;
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test';
--disable_info
sync_slave_with_master;
--echo "in the slave"
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test';
# test the DISABLE ON SLAVE for setting event SLAVESIDE_DISABLED as status
# on CREATE EVENT
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND
DO INSERT INTO t1(c) VALUES ('from slave_terminate');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_terminate';
DROP EVENT test.slave_terminate;
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND
DISABLE ON SLAVE DO INSERT INTO t1(c) VALUES ('from slave_terminate');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_terminate';
DROP EVENT test.slave_terminate;
--echo "in the master"
connection master;
DROP TABLE t1;
# include/rpl_stmt_seq.inc ################### include/rpl_stmt_seq.inc ###########################
# # #
# Please be very careful when editing this routine, because the handling of # Check if a given SQL statement (->$my_stmt) / AUTOCOMMIT mode / #
# the $variables is extreme sensitive. # storage engine somehow involved causes COMMIT or ROLLBACK. #
# # #
# #
# The typical test sequence #
# ------------------------- #
# 1. master connection: INSERT without commit #
# check table content of master and slave #
# 2. master connection: EXECUTE the statement #
# check table content of master and slave #
# 3. master connection: ROLLBACK #
# check table content of master and slave #
# 4. flush the logs #
# #
# The variables #
# $show_binlog -- print binlog entries #
# 0 - default + fits to the file with #
# results #
# 1 - useful for debugging #
# This variable is used within #
# include/rpl_stmt_seq.inc. #
# $manipulate -- Manipulation of the binary logs #
# 0 - do nothing #
# 1 - so that the output of SHOW BINLOG #
# EVENTS IN <current log> contains only #
# commands of the current test sequence #
# This is especially useful, if the #
# $show_binlog is set to 1 and many #
# subtest are executed. #
# This variable is used within #
# include/rpl_stmt_seq.inc. #
# have to be set before sourcing this script. #
# #
# Please be very careful when editing this routine, because the #
# handling of the $variables is extreme sensitive. #
# #
########################################################################
############################################################### # Last update:
# Debug options : To debug this test script # 2007-02-12 ML Replace comments via SQL by "--echo ..."
############################################################### #
let $show_binlog= 0;
let $manipulate= 1;
######## The typical test sequence
# 1. INSERT without commit
# check table content of master and slave
# 2. EXECUTE the statement
# check table content of master and slave
# 3. ROLLBACK
# check table content of master and slave
# 4. flush the logs
let $VERSION=`select version()`; let $VERSION=`select version()`;
--disable_query_log --echo
# SELECT '######## new test sequence ########' as ""; --echo ######## $my_stmt ########
eval SELECT CONCAT('######## ','$my_stmt',' ########') as "";
--enable_query_log
############################################################### ###############################################################
...@@ -49,11 +70,10 @@ let $_log_num_s= `select @aux`; ...@@ -49,11 +70,10 @@ let $_log_num_s= `select @aux`;
############################################################### ###############################################################
# INSERT # INSERT
############################################################### ###############################################################
--echo
--echo -------- switch to master -------
connection master; connection master;
--disable_query_log # Maybe it would be smarter to use a table with an autoincrement column.
SELECT '-------- switch to master -------' as "";
--enable_query_log
# Maybe it would be smarter to use a table with autoincrement column.
let $MAX= `SELECT MAX(f1) FROM t1` ; let $MAX= `SELECT MAX(f1) FROM t1` ;
eval INSERT INTO t1 SET f1= $MAX + 1; eval INSERT INTO t1 SET f1= $MAX + 1;
# results before DDL(to be tested) # results before DDL(to be tested)
...@@ -66,10 +86,9 @@ eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s'; ...@@ -66,10 +86,9 @@ eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
} }
sync_slave_with_master; sync_slave_with_master;
--echo
--echo -------- switch to slave --------
connection slave; connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
# results before DDL(to be tested) # results before DDL(to be tested)
SELECT MAX(f1) FROM t1; SELECT MAX(f1) FROM t1;
if ($show_binlog) if ($show_binlog)
...@@ -82,10 +101,9 @@ eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s'; ...@@ -82,10 +101,9 @@ eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s';
############################################################### ###############################################################
# command to be tested # command to be tested
############################################################### ###############################################################
--echo
--echo -------- switch to master -------
connection master; connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
eval $my_stmt; eval $my_stmt;
# Devaluate $my_stmt, to detect script bugs # Devaluate $my_stmt, to detect script bugs
let $my_stmt= ERROR: YOU FORGOT TO FILL IN THE STATEMENT; let $my_stmt= ERROR: YOU FORGOT TO FILL IN THE STATEMENT;
...@@ -99,10 +117,9 @@ eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s'; ...@@ -99,10 +117,9 @@ eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
} }
sync_slave_with_master; sync_slave_with_master;
--echo
--echo -------- switch to slave --------
connection slave; connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
# results after DDL(to be tested) # results after DDL(to be tested)
SELECT MAX(f1) FROM t1; SELECT MAX(f1) FROM t1;
if ($show_binlog) if ($show_binlog)
...@@ -115,10 +132,9 @@ eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s'; ...@@ -115,10 +132,9 @@ eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s';
############################################################### ###############################################################
# ROLLBACK # ROLLBACK
############################################################### ###############################################################
--echo
--echo -------- switch to master -------
connection master; connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
ROLLBACK; ROLLBACK;
# results after final ROLLBACK # results after final ROLLBACK
SELECT MAX(f1) FROM t1; SELECT MAX(f1) FROM t1;
...@@ -140,10 +156,9 @@ eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s'; ...@@ -140,10 +156,9 @@ eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
} }
sync_slave_with_master; sync_slave_with_master;
--echo
--echo -------- switch to slave --------
connection slave; connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
# results after final ROLLBACK # results after final ROLLBACK
SELECT MAX(f1) FROM t1; SELECT MAX(f1) FROM t1;
--disable_query_log --disable_query_log
...@@ -172,19 +187,17 @@ if ($manipulate) ...@@ -172,19 +187,17 @@ if ($manipulate)
# - flush the master and the slave log # - flush the master and the slave log
# ---> both start to write into new logs with incremented number # ---> both start to write into new logs with incremented number
# - increment $_log_num_n # - increment $_log_num_n
--echo
--echo -------- switch to master -------
connection master; connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
flush logs; flush logs;
# sleep 1; # sleep 1;
# eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s'; # eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
sync_slave_with_master; sync_slave_with_master;
--echo
--echo -------- switch to slave --------
connection slave; connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
# the final content of the binary log # the final content of the binary log
flush logs; flush logs;
# The next sleep is urgent needed. # The next sleep is urgent needed.
...@@ -195,7 +208,6 @@ flush logs; ...@@ -195,7 +208,6 @@ flush logs;
inc $_log_num_n; inc $_log_num_n;
} }
--echo
--echo -------- switch to master -------
connection master; connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
# include/rpl_stmt_seq.inc
#
# Please be very careful when editing this routine, because the handling of
# the $variables is extreme sensitive.
#
###############################################################
# Debug options : To debug this test script
###############################################################
let $show_binlog= 0;
let $manipulate= 1;
######## The typical test sequence
# 1. INSERT without commit
# check table content of master and slave
# 2. EXECUTE the statement
# check table content of master and slave
# 3. ROLLBACK
# check table content of master and slave
# 4. flush the logs
let $VERSION=`select version()`;
--disable_query_log
# SELECT '######## new test sequence ########' as "";
eval SELECT CONCAT('######## ','$my_stmt',' $engine_type',' ########') as "";
--enable_query_log
###############################################################
# Predict the number of the current log
###############################################################
# Disable the logging of the log number computation.
--disable_query_log
# $_log_num_n should contain the number of the current binlog in numeric style.
# If this routine is called for the first time, $_log_num will not initialized
# and contain the value '' instead of '1'. So we will correct it here.
#
eval set @aux= IF('$_log_num_n' = '', '1', '$_log_num_n');
let $_log_num_n= `SELECT @aux`;
eval set @aux= LPAD('$_log_num_n',6,'0');
# SELECT @aux AS "@aux is";
#
# $_log_num_s should contain the number of the current binlog in string style.
let $_log_num_s= `select @aux`;
# eval SELECT '$log_num' ;
--enable_query_log
###############################################################
# INSERT
###############################################################
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
# Maybe it would be smarter to use a table with autoincrement column.
let $MAX= `SELECT MAX(f1) FROM t1` ;
eval INSERT INTO t1 SET f1= $MAX + 1;
# results before DDL(to be tested)
SELECT MAX(f1) FROM t1;
if ($show_binlog)
{
--replace_result $VERSION VERSION
--replace_column 2 # 5 #
eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
}
sync_slave_with_master;
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
# results before DDL(to be tested)
SELECT MAX(f1) FROM t1;
if ($show_binlog)
{
--replace_result $VERSION VERSION
--replace_column 2 # 5 #
eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s';
}
###############################################################
# command to be tested
###############################################################
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
eval $my_stmt $engine_type;
# Devaluate $my_stmt, to detect script bugs
let $my_stmt= ERROR: YOU FORGOT TO FILL IN THE STATEMENT;
# results after DDL(to be tested)
SELECT MAX(f1) FROM t1;
if ($show_binlog)
{
--replace_result $VERSION VERSION
--replace_column 2 # 5 #
eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
}
sync_slave_with_master;
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
# results after DDL(to be tested)
SELECT MAX(f1) FROM t1;
if ($show_binlog)
{
--replace_result $VERSION VERSION
--replace_column 2 # 5 #
eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s';
}
###############################################################
# ROLLBACK
###############################################################
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
ROLLBACK;
# results after final ROLLBACK
SELECT MAX(f1) FROM t1;
# Try to detect if the DDL command caused that the INSERT is committed
# $MAX holds the highest/last value just before the insert of MAX + 1
--disable_query_log
eval SELECT CONCAT(CONCAT('TEST-INFO: MASTER: The INSERT is ',
IF(MAX(f1) = $MAX + 1, 'committed', 'not committed')),
IF((MAX(f1) = $MAX + 1) XOR NOT $my_master_commit,
' (Succeeded)',
' (Failed)')) AS ""
FROM mysqltest1.t1;
--enable_query_log
if ($show_binlog)
{
--replace_result $VERSION VERSION
--replace_column 2 # 5 #
eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
}
sync_slave_with_master;
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
# results after final ROLLBACK
SELECT MAX(f1) FROM t1;
--disable_query_log
eval SELECT CONCAT(CONCAT('TEST-INFO: SLAVE: The INSERT is ',
IF(MAX(f1) = $MAX + 1, 'committed', 'not committed')),
IF((MAX(f1) = $MAX + 1) XOR NOT $my_slave_commit,
' (Succeeded)',
' (Failed)')) AS ""
FROM mysqltest1.t1;
--enable_query_log
if ($show_binlog)
{
--replace_result $VERSION VERSION
--replace_column 2 # 5 #
eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s';
}
###############################################################
# Manipulate binlog
###############################################################
if ($manipulate)
{
#### Manipulate the binary logs,
# so that the output of SHOW BINLOG EVENTS IN <current log>
# contains only commands of the current test sequence.
# - flush the master and the slave log
# ---> both start to write into new logs with incremented number
# - increment $_log_num_n
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
flush logs;
# sleep 1;
# eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
sync_slave_with_master;
connection slave;
--disable_query_log
SELECT '-------- switch to slave --------' as "";
--enable_query_log
# the final content of the binary log
flush logs;
# The next sleep is urgent needed.
# Without this sleep the slaves crashes often, when the SHOW BINLOG
# is executed. :-(
# sleep 1;
# eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s';
inc $_log_num_n;
}
connection master;
--disable_query_log
SELECT '-------- switch to master -------' as "";
--enable_query_log
#####################################################################
# Author: Chuck Bell #
# Date: 2006-12-21 #
# Purpose: To test that UDFs are replicated in both row based and #
# statement based format. This tests work completed in WL#3629. #
# #
# This test is designed to exercise two of the three types of UDFs: #
# 1) UDFs via loadable libraries, and 2) UDFs with a SQL body. #
#####################################################################
--source include/have_udf.inc
#
# To run this tests the "sql/udf_example.c" need to be compiled into
# udf_example.so and LD_LIBRARY_PATH should be setup to point out where
# the library are.
#
connection master;
--disable_warnings
drop table if exists t1;
--enable_warnings
#
# Test 1) Test UDFs via loadable libraries
#
--echo "*** Test 1) Test UDFs via loadable libraries ***
--echo "Running on the master"
--enable_info
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
eval CREATE FUNCTION myfunc_double RETURNS REAL SONAME "$UDF_EXAMPLE_LIB";
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
--error ER_CANT_FIND_DL_ENTRY
eval CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
--replace_column 3 UDF_LIB
SELECT * FROM mysql.func;
--disable_info
save_master_pos;
connection slave;
sync_with_master;
# Check to see that UDF CREATE statements were replicated
--echo "Running on the slave"
--enable_info
--replace_column 3 UDF_LIB
SELECT * FROM mysql.func;
--disable_info
connection master;
# Use the UDFs to do something
--echo "Running on the master"
--enable_info
eval CREATE TABLE t1(sum INT, price FLOAT(24)) ENGINE=$engine_type;
INSERT INTO t1 VALUES(myfunc_int(100), myfunc_double(50.00));
INSERT INTO t1 VALUES(myfunc_int(10), myfunc_double(5.00));
INSERT INTO t1 VALUES(myfunc_int(200), myfunc_double(25.00));
INSERT INTO t1 VALUES(myfunc_int(1), myfunc_double(500.00));
SELECT * FROM t1 ORDER BY sum;
--disable_info
sync_slave_with_master;
# Check to see if data was replicated
--echo "Running on the slave"
--enable_info
SELECT * FROM t1 ORDER BY sum;
# Check to see that the functions are available for execution on the slave
SELECT myfunc_int(25);
SELECT myfunc_double(75.00);
--disable_info
connection master;
# Drop the functions
--echo "Running on the master"
--enable_info
DROP FUNCTION myfunc_double;
DROP FUNCTION myfunc_int;
SELECT * FROM mysql.func;
--disable_info
sync_slave_with_master;
# Check to see if the UDFs were dropped on the slave
--echo "Running on the slave"
--enable_info
SELECT * FROM mysql.func;
--disable_info
connection master;
# Cleanup
--echo "Running on the master"
--enable_info
DROP TABLE t1;
--disable_info
#
# Test 2) Test UDFs with SQL body
#
--echo "*** Test 2) Test UDFs with SQL body ***
--echo "Running on the master"
--enable_info
CREATE FUNCTION myfuncsql_int(i INT) RETURNS INTEGER DETERMINISTIC RETURN i;
CREATE FUNCTION myfuncsql_double(d DOUBLE) RETURNS INTEGER DETERMINISTIC RETURN d * 2.00;
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
--disable_info
sync_slave_with_master;
# Check to see that UDF CREATE statements were replicated
--echo "Running on the slave"
--enable_info
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
--disable_info
connection master;
# Use the UDFs to do something
--echo "Running on the master"
--enable_info
eval CREATE TABLE t1(sum INT, price FLOAT(24)) ENGINE=$engine_type;
INSERT INTO t1 VALUES(myfuncsql_int(100), myfuncsql_double(50.00));
INSERT INTO t1 VALUES(myfuncsql_int(10), myfuncsql_double(5.00));
INSERT INTO t1 VALUES(myfuncsql_int(200), myfuncsql_double(25.00));
INSERT INTO t1 VALUES(myfuncsql_int(1), myfuncsql_double(500.00));
SELECT * FROM t1 ORDER BY sum;
--disable_info
sync_slave_with_master;
# Check to see if data was replicated
--echo "Running on the slave"
--enable_info
SELECT * FROM t1 ORDER BY sum;
--disable_info
connection master;
# Modify the UDFs to add a comment
--echo "Running on the master"
--enable_info
ALTER FUNCTION myfuncsql_int COMMENT "This was altered.";
ALTER FUNCTION myfuncsql_double COMMENT "This was altered.";
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
--disable_info
sync_slave_with_master;
# Check to see if data was replicated
--echo "Running on the slave"
--enable_info
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
# Check to see that the functions are available for execution on the slave
SELECT myfuncsql_int(25);
SELECT myfuncsql_double(75.00);
--disable_info
connection master;
# Drop the functions
--echo "Running on the master"
--enable_info
DROP FUNCTION myfuncsql_double;
DROP FUNCTION myfuncsql_int;
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
--disable_info
sync_slave_with_master;
# Check to see if the UDFs were dropped on the slave
--echo "Running on the slave"
--enable_info
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
--disable_info
connection master;
# Cleanup
--echo "Running on the master"
--enable_info
DROP TABLE t1;
--disable_info
--let $binlog_start=102 --let $binlog_start=106
--replace_result $binlog_start <binlog_start> --replace_result $binlog_start <binlog_start>
--replace_column 2 # 4 # 5 # --replace_column 2 # 4 # 5 #
--replace_regex /table_id: [0-9]+/table_id: #/ --replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
--eval show binlog events from $binlog_start --eval show binlog events from $binlog_start
This diff is collapsed.
...@@ -104,23 +104,22 @@ select * from t2; ...@@ -104,23 +104,22 @@ select * from t2;
a a
select * from t3; select * from t3;
a a
show binlog events; 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 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4 master-bin.000001 # Query # # use `test`; drop table t1,t2
master-bin.000001 # Query 1 # use `test`; drop table t1,t2 master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole
master-bin.000001 # Query 1 # use `test`; create table t1 (a int) engine=blackhole master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map 1 # table_id: # (test.t1) master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map 1 # table_id: # (test.t1) master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map 1 # table_id: # (test.t1) master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000001 # Query # # use `test`; create table t2 (a varchar(200)) engine=blackhole
master-bin.000001 # Query 1 # use `test`; create table t2 (a varchar(200)) engine=blackhole master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map 1 # table_id: # (test.t2) master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000001 # Query # # use `test`; alter table t1 add b int
master-bin.000001 # Query 1 # use `test`; alter table t1 add b int master-bin.000001 # Query # # use `test`; alter table t1 drop b
master-bin.000001 # Query 1 # use `test`; alter table t1 drop b master-bin.000001 # Query # # use `test`; create table t3 like t1
master-bin.000001 # Query 1 # use `test`; create table t3 like t1
drop table t1,t2,t3; drop table t1,t2,t3;
CREATE TABLE t1(a INT, b INT) ENGINE=BLACKHOLE; CREATE TABLE t1(a INT, b INT) ENGINE=BLACKHOLE;
DELETE FROM t1 WHERE a=10; DELETE FROM t1 WHERE a=10;
...@@ -143,12 +142,11 @@ start transaction; ...@@ -143,12 +142,11 @@ start transaction;
insert into t1 values(2); insert into t1 values(2);
rollback; rollback;
set autocommit=1; set autocommit=1;
show binlog events; 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 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4 master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole
master-bin.000001 # Query 1 # use `test`; create table t1 (a int) engine=blackhole master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query 1 # use `test`; BEGIN master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Table_map 1 # table_id: # (test.t1) master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000001 # Query # # use `test`; COMMIT
master-bin.000001 # Query 1 # use `test`; COMMIT
drop table if exists t1; drop table if exists t1;
...@@ -3,10 +3,10 @@ create table t2 (c char(30)) charset=ucs2; ...@@ -3,10 +3,10 @@ create table t2 (c char(30)) charset=ucs2;
set @v=convert('abc' using ucs2); set @v=convert('abc' using ucs2);
reset master; reset master;
insert into t2 values (@v); insert into t2 values (@v);
show binlog events from 102; 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 102 Table_map 1 141 table_id: # (test.t2) master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 141 Write_rows 1 231 table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
flush logs; flush logs;
/*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
......
...@@ -11,8 +11,7 @@ get_lock("a",10) ...@@ -11,8 +11,7 @@ get_lock("a",10)
select get_lock("a",10); select get_lock("a",10);
get_lock("a",10) get_lock("a",10)
1 1
show binlog events; 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 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4 master-bin.000001 # Query # # create database `drop-temp+table-test`
master-bin.000001 # Query 1 # create database `drop-temp+table-test`
drop database `drop-temp+table-test`; drop database `drop-temp+table-test`;
...@@ -6,11 +6,10 @@ insert into t2 values(1),(2); ...@@ -6,11 +6,10 @@ insert into t2 values(1),(2);
reset master; reset master;
insert into t1 select * from t2; 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; 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 4 Format_desc 1 102 Server ver: VERSION, Binlog ver: 4 master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 102 Table_map 1 141 table_id: # (test.t1) master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 141 Write_rows 1 175 table_id: # flags: STMT_END_F
select * from t1; select * from t1;
a a
1 1
...@@ -21,7 +20,6 @@ insert into t1 values(1),(1); ...@@ -21,7 +20,6 @@ insert into t1 values(1),(1);
reset master; reset master;
create table t2(unique(a)) select a from t1; create table t2(unique(a)) select a from t1;
ERROR 23000: Duplicate entry '1' for key 'a' ERROR 23000: Duplicate entry '1' for key 'a'
show binlog events; 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 4 Format_desc 1 102 Server ver: VERSION, Binlog ver: 4
drop table t1; drop table t1;
This diff is collapsed.
...@@ -104,24 +104,23 @@ select * from t2; ...@@ -104,24 +104,23 @@ select * from t2;
a a
select * from t3; select * from t3;
a a
show binlog events; 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 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4 master-bin.000001 # Query # # use `test`; drop table t1,t2
master-bin.000001 # Query 1 # use `test`; drop table t1,t2 master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole
master-bin.000001 # Query 1 # use `test`; create table t1 (a int) engine=blackhole master-bin.000001 # Query # # use `test`; delete from t1 where a=10
master-bin.000001 # Query 1 # use `test`; delete from t1 where a=10 master-bin.000001 # Query # # use `test`; update t1 set a=11 where a=15
master-bin.000001 # Query 1 # use `test`; update t1 set a=11 where a=15 master-bin.000001 # Query # # use `test`; insert into t1 values(1)
master-bin.000001 # Query 1 # use `test`; insert into t1 values(1) master-bin.000001 # Query # # use `test`; insert ignore into t1 values(1)
master-bin.000001 # Query 1 # use `test`; insert ignore into t1 values(1) master-bin.000001 # Query # # use `test`; replace into t1 values(100)
master-bin.000001 # Query 1 # use `test`; replace into t1 values(100) master-bin.000001 # Query # # use `test`; create table t2 (a varchar(200)) engine=blackhole
master-bin.000001 # Query 1 # use `test`; create table t2 (a varchar(200)) engine=blackhole master-bin.000001 # Begin_load_query # # ;file_id=1;block_len=581
master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581 master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/words.dat' into table t2 ;file_id=1
master-bin.000001 # Execute_load_query 1 # use `test`; load data infile '../std_data_ln/words.dat' into table t2 ;file_id=1 master-bin.000001 # Query # # use `test`; alter table t1 add b int
master-bin.000001 # Query 1 # use `test`; alter table t1 add b int master-bin.000001 # Query # # use `test`; alter table t1 drop b
master-bin.000001 # Query 1 # use `test`; alter table t1 drop b master-bin.000001 # Query # # use `test`; create table t3 like t1
master-bin.000001 # Query 1 # use `test`; create table t3 like t1 master-bin.000001 # Query # # use `test`; insert into t1 select * from t3
master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t3 master-bin.000001 # Query # # use `test`; replace into t1 select * from t3
master-bin.000001 # Query 1 # use `test`; replace into t1 select * from t3
drop table t1,t2,t3; drop table t1,t2,t3;
CREATE TABLE t1(a INT, b INT) ENGINE=BLACKHOLE; CREATE TABLE t1(a INT, b INT) ENGINE=BLACKHOLE;
DELETE FROM t1 WHERE a=10; DELETE FROM t1 WHERE a=10;
...@@ -144,11 +143,10 @@ start transaction; ...@@ -144,11 +143,10 @@ start transaction;
insert into t1 values(2); insert into t1 values(2);
rollback; rollback;
set autocommit=1; set autocommit=1;
show binlog events; 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 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4 master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole
master-bin.000001 # Query 1 # use `test`; create table t1 (a int) engine=blackhole master-bin.000001 # Query # # use `test`; BEGIN
master-bin.000001 # Query 1 # use `test`; BEGIN master-bin.000001 # Query # # use `test`; insert into t1 values(1)
master-bin.000001 # Query 1 # use `test`; insert into t1 values(1) master-bin.000001 # Query # # use `test`; COMMIT
master-bin.000001 # Query 1 # use `test`; COMMIT
drop table if exists t1; drop table if exists t1;
...@@ -3,10 +3,10 @@ create table t2 (c char(30)) charset=ucs2; ...@@ -3,10 +3,10 @@ create table t2 (c char(30)) charset=ucs2;
set @v=convert('abc' using ucs2); set @v=convert('abc' using ucs2);
reset master; reset master;
insert into t2 values (@v); insert into t2 values (@v);
show binlog events from 102; 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 102 User var 1 142 @`v`=_ucs2 0x006100620063 COLLATE ucs2_general_ci master-bin.000001 # User var # # @`v`=_ucs2 0x006100620063 COLLATE ucs2_general_ci
master-bin.000001 142 Query 1 231 use `test`; insert into t2 values (@v) master-bin.000001 # Query # # use `test`; insert into t2 values (@v)
flush logs; flush logs;
/*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
......
...@@ -11,12 +11,11 @@ get_lock("a",10) ...@@ -11,12 +11,11 @@ get_lock("a",10)
select get_lock("a",10); select get_lock("a",10);
get_lock("a",10) get_lock("a",10)
1 1
show binlog events; 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 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4 master-bin.000001 # Query # # create database `drop-temp+table-test`
master-bin.000001 # Query 1 # create database `drop-temp+table-test` master-bin.000001 # Query # # use `drop-temp+table-test`; create temporary table shortn1 (a int)
master-bin.000001 # Query 1 # use `drop-temp+table-test`; create temporary table shortn1 (a int) master-bin.000001 # Query # # use `drop-temp+table-test`; create temporary table `table:name` (a int)
master-bin.000001 # Query 1 # use `drop-temp+table-test`; create temporary table `table:name` (a int) master-bin.000001 # Query # # use `drop-temp+table-test`; create temporary table shortn2 (a int)
master-bin.000001 # Query 1 # use `drop-temp+table-test`; create temporary table shortn2 (a int) master-bin.000001 # Query # # use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `drop-temp+table-test`.`shortn2`,`drop-temp+table-test`.`table:name`,`drop-temp+table-test`.`shortn1`
master-bin.000001 # Query 1 # use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `drop-temp+table-test`.`shortn2`,`drop-temp+table-test`.`table:name`,`drop-temp+table-test`.`shortn1`
drop database `drop-temp+table-test`; drop database `drop-temp+table-test`;
...@@ -6,10 +6,9 @@ insert into t2 values(1),(2); ...@@ -6,10 +6,9 @@ insert into t2 values(1),(2);
reset master; reset master;
insert into t1 select * from t2; 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; 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 4 Format_desc 1 102 Server ver: VERSION, Binlog ver: 4 master-bin.000001 # Query # # use `test`; insert into t1 select * from t2
master-bin.000001 102 Query 1 196 use `test`; insert into t1 select * from t2
select * from t1; select * from t1;
a a
1 1
...@@ -20,7 +19,6 @@ insert into t1 values(1),(1); ...@@ -20,7 +19,6 @@ insert into t1 values(1),(1);
reset master; reset master;
create table t2(unique(a)) select a from t1; create table t2(unique(a)) select a from t1;
ERROR 23000: Duplicate entry '1' for key 'a' ERROR 23000: Duplicate entry '1' for key 'a'
show binlog events; 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 4 Format_desc 1 102 Server ver: VERSION, Binlog ver: 4
drop table t1; drop table t1;
...@@ -7,7 +7,7 @@ insert into t1 values (1, 2, 'a&b a<b a>b'); ...@@ -7,7 +7,7 @@ insert into t1 values (1, 2, 'a&b a<b a>b');
<?xml version="1.0"?> <?xml version="1.0"?>
<resultset statement="select * from t1 <resultset statement="select * from t1
"> " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row> <row>
<field name="a&amp;b">1</field> <field name="a&amp;b">1</field>
<field name="a&lt;b">2</field> <field name="a&lt;b">2</field>
...@@ -34,7 +34,7 @@ insert into t1 values (1, 2, 'a&b a<b a>b'); ...@@ -34,7 +34,7 @@ insert into t1 values (1, 2, 'a&b a<b a>b');
<?xml version="1.0"?> <?xml version="1.0"?>
<resultset statement="select count(*) from t1 <resultset statement="select count(*) from t1
"> " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row> <row>
<field name="count(*)">1</field> <field name="count(*)">1</field>
</row> </row>
...@@ -42,7 +42,7 @@ insert into t1 values (1, 2, 'a&b a<b a>b'); ...@@ -42,7 +42,7 @@ insert into t1 values (1, 2, 'a&b a<b a>b');
<?xml version="1.0"?> <?xml version="1.0"?>
<resultset statement="select 1 &lt; 2 from dual <resultset statement="select 1 &lt; 2 from dual
"> " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row> <row>
<field name="1 &lt; 2">1</field> <field name="1 &lt; 2">1</field>
</row> </row>
...@@ -50,7 +50,7 @@ insert into t1 values (1, 2, 'a&b a<b a>b'); ...@@ -50,7 +50,7 @@ insert into t1 values (1, 2, 'a&b a<b a>b');
<?xml version="1.0"?> <?xml version="1.0"?>
<resultset statement="select 1 &gt; 2 from dual <resultset statement="select 1 &gt; 2 from dual
"> " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row> <row>
<field name="1 &gt; 2">0</field> <field name="1 &gt; 2">0</field>
</row> </row>
...@@ -58,7 +58,7 @@ insert into t1 values (1, 2, 'a&b a<b a>b'); ...@@ -58,7 +58,7 @@ insert into t1 values (1, 2, 'a&b a<b a>b');
<?xml version="1.0"?> <?xml version="1.0"?>
<resultset statement="select 1 &amp; 3 from dual <resultset statement="select 1 &amp; 3 from dual
"> " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row> <row>
<field name="1 &amp; 3">1</field> <field name="1 &amp; 3">1</field>
</row> </row>
...@@ -66,7 +66,7 @@ insert into t1 values (1, 2, 'a&b a<b a>b'); ...@@ -66,7 +66,7 @@ insert into t1 values (1, 2, 'a&b a<b a>b');
<?xml version="1.0"?> <?xml version="1.0"?>
<resultset statement="select null from dual <resultset statement="select null from dual
"> " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row> <row>
<field name="NULL" xsi:nil="true" /> <field name="NULL" xsi:nil="true" />
</row> </row>
......
...@@ -6,11 +6,11 @@ CREATE TABLE t1(f1 blob); ...@@ -6,11 +6,11 @@ CREATE TABLE t1(f1 blob);
PREPARE stmt1 FROM 'INSERT INTO t1 VALUES(?)'; PREPARE stmt1 FROM 'INSERT INTO t1 VALUES(?)';
SET @var1= x'8300'; SET @var1= x'8300';
EXECUTE stmt1 USING @var1; EXECUTE stmt1 USING @var1;
SHOW BINLOG EVENTS FROM 102; 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 1 # use `test`; CREATE TABLE t1(f1 blob) master-bin.000001 # Query # # use `test`; CREATE TABLE t1(f1 blob)
master-bin.000001 # Table_map 1 # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
SELECT HEX(f1) FROM t1; SELECT HEX(f1) FROM t1;
HEX(f1) HEX(f1)
8300 8300
......
...@@ -6,11 +6,11 @@ CREATE TABLE t1(f1 blob); ...@@ -6,11 +6,11 @@ CREATE TABLE t1(f1 blob);
PREPARE stmt1 FROM 'INSERT INTO t1 VALUES(?)'; PREPARE stmt1 FROM 'INSERT INTO t1 VALUES(?)';
SET @var1= x'8300'; SET @var1= x'8300';
EXECUTE stmt1 USING @var1; EXECUTE stmt1 USING @var1;
SHOW BINLOG EVENTS FROM 102; 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 1 # use `test`; CREATE TABLE t1(f1 blob) master-bin.000001 # Query # # use `test`; CREATE TABLE t1(f1 blob)
master-bin.000001 # User var 1 # @`var1`=_binary 0x8300 COLLATE binary master-bin.000001 # User var # # @`var1`=_binary 0x8300 COLLATE binary
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES(@'var1') master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(@'var1')
SELECT HEX(f1) FROM t1; SELECT HEX(f1) FROM t1;
HEX(f1) HEX(f1)
8300 8300
...@@ -30,17 +30,17 @@ HEX(s1) HEX(s2) d ...@@ -30,17 +30,17 @@ HEX(s1) HEX(s2) d
466F6F2773206120426172 ED40ED41ED42 47.93 466F6F2773206120426172 ED40ED41ED42 47.93
DROP PROCEDURE bug18293| DROP PROCEDURE bug18293|
DROP TABLE t4| DROP TABLE t4|
SHOW BINLOG EVENTS FROM 406| SHOW BINLOG EVENTS FROM 410|
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 406 Query 1 572 use `test`; CREATE TABLE t4 (s1 CHAR(50) CHARACTER SET latin1, master-bin.000001 410 Query 1 576 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 572 Query 1 820 use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE bug18293 (IN ins1 CHAR(50), master-bin.000001 576 Query 1 824 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 820 Query 1 1039 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172), NAME_CONST('ins2',_cp932 0xED40ED41ED42), NAME_CONST('ind',47.93)) master-bin.000001 824 Query 1 1043 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172), NAME_CONST('ins2',_cp932 0xED40ED41ED42), NAME_CONST('ind',47.93))
master-bin.000001 1039 Query 1 1128 use `test`; DROP PROCEDURE bug18293 master-bin.000001 1043 Query 1 1132 use `test`; DROP PROCEDURE bug18293
master-bin.000001 1128 Query 1 1207 use `test`; DROP TABLE t4 master-bin.000001 1132 Query 1 1211 use `test`; DROP TABLE t4
...@@ -2654,3 +2654,12 @@ ii 2 ii 2 İİ 4 ...@@ -2654,3 +2654,12 @@ ii 2 ii 2 İİ 4
İİ 4 ii 2 İİ 4 İİ 4 ii 2 İİ 4
II 2 ıı 4 II 2 II 2 ıı 4 II 2
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 (
c1 text character set ucs2 collate ucs2_polish_ci NOT NULL
) ENGINE=MyISAM;
insert into t1 values (''),('a');
SELECT COUNT(*), c1 FROM t1 GROUP BY c1;
COUNT(*) c1
1
1 a
DROP TABLE IF EXISTS t1;
...@@ -839,6 +839,24 @@ lily ...@@ -839,6 +839,24 @@ lily
river river
drop table t1; drop table t1;
deallocate prepare stmt; deallocate prepare stmt;
set names latin1;
set character_set_connection=ucs2;
select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
soundex('') soundex('he') soundex('hello all folks') soundex('#3556 in bugdb')
H000 H4142 I51231
select hex(soundex('')),hex(soundex('he')),hex(soundex('hello all folks')),hex(soundex('#3556 in bugdb'));
hex(soundex('')) hex(soundex('he')) hex(soundex('hello all folks')) hex(soundex('#3556 in bugdb'))
0048003000300030 00480034003100340032 004900350031003200330031
select 'mood' sounds like 'mud';
'mood' sounds like 'mud'
1
select hex(soundex(_ucs2 0x041004110412));
hex(soundex(_ucs2 0x041004110412))
0410003000300030
select hex(soundex(_ucs2 0x00BF00C0));
hex(soundex(_ucs2 0x00BF00C0))
00C0003000300030
set names latin1;
create table t1(a blob, b text charset utf8, c text charset ucs2); create table t1(a blob, b text charset utf8, c text charset ucs2);
select data_type, character_octet_length, character_maximum_length select data_type, character_octet_length, character_maximum_length
from information_schema.columns where table_name='t1'; from information_schema.columns where table_name='t1';
......
...@@ -854,6 +854,18 @@ select * from t1 where soundex(a) = soundex('test'); ...@@ -854,6 +854,18 @@ select * from t1 where soundex(a) = soundex('test');
id a id a
1 Test 1 Test
drop table t1; drop table t1;
select soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB);
soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB)
阅000
select hex(soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB));
hex(soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB))
E99885303030
select soundex(_utf8 0xD091D092D093);
soundex(_utf8 0xD091D092D093)
Б000
select hex(soundex(_utf8 0xD091D092D093));
hex(soundex(_utf8 0xD091D092D093))
D091303030
SET collation_connection='utf8_general_ci'; SET collation_connection='utf8_general_ci';
create table t1 select repeat('a',4000) a; create table t1 select repeat('a',4000) a;
delete from t1; delete from t1;
......
...@@ -193,7 +193,7 @@ create event ...@@ -193,7 +193,7 @@ create event
SHOW CREATE EVENT ðóóò21; SHOW CREATE EVENT ðóóò21;
Event sql_mode time_zone Create Event Event sql_mode time_zone Create Event
ðóóò21 SYSTEM CREATE EVENT `ðóóò21` ON SCHEDULE EVERY '51 0:0:35' DAY_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE COMMENT 'òîâà å 1251 êîìåíòàð' DO select 1 ðóóò21 SYSTEM CREATE EVENT `ðóóò21` ON SCHEDULE EVERY '51 0:0:35' DAY_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE COMMENT 'òîâà å 1251 êîìåíòàð' DO select 1
insert into mysql.event (db, name, body, definer, interval_value, interval_field) values (database(), "root22", "select 1", user(), 100, "SECOND_MICROSECOND"); insert into mysql.event (db, name, body, definer, interval_value, interval_field, originator) values (database(), "root22", "select 1", user(), 100, "SECOND_MICROSECOND", 1);
show create event root22; show create event root22;
ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND' ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
SHOW EVENTS; SHOW EVENTS;
...@@ -225,18 +225,18 @@ drop event ...@@ -225,18 +225,18 @@ drop event
set names latin1; set names latin1;
CREATE EVENT intact_check ON SCHEDULE EVERY 10 HOUR DO SELECT "nothing"; CREATE EVENT intact_check ON SCHEDULE EVERY 10 HOUR DO SELECT "nothing";
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
events_test intact_check root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED events_test intact_check root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1
ALTER TABLE mysql.event ADD dummy INT FIRST; ALTER TABLE mysql.event ADD dummy INT FIRST;
SHOW EVENTS; SHOW EVENTS;
ERROR HY000: Column count of mysql.event is wrong. Expected 17, found 18. Table probably corrupted ERROR HY000: Column count of mysql.event is wrong. Expected 18, found 19. Table probably corrupted
ALTER TABLE mysql.event DROP dummy, ADD dummy2 VARCHAR(64) FIRST; ALTER TABLE mysql.event DROP dummy, ADD dummy2 VARCHAR(64) FIRST;
SHOW EVENTS; SHOW EVENTS;
ERROR HY000: Column count of mysql.event is wrong. Expected 17, found 18. Table probably corrupted ERROR HY000: Column count of mysql.event is wrong. Expected 18, found 19. Table probably corrupted
ALTER TABLE mysql.event DROP dummy2; ALTER TABLE mysql.event DROP dummy2;
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
events_test intact_check root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED events_test intact_check root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1
CREATE TABLE event_like LIKE mysql.event; CREATE TABLE event_like LIKE mysql.event;
INSERT INTO event_like SELECT * FROM mysql.event; INSERT INTO event_like SELECT * FROM mysql.event;
ALTER TABLE mysql.event MODIFY db char(64) character set cp1251 default ''; ALTER TABLE mysql.event MODIFY db char(64) character set cp1251 default '';
...@@ -258,10 +258,11 @@ event CREATE TABLE `event` ( ...@@ -258,10 +258,11 @@ event CREATE TABLE `event` (
`last_executed` datetime DEFAULT NULL, `last_executed` datetime DEFAULT NULL,
`starts` datetime DEFAULT NULL, `starts` datetime DEFAULT NULL,
`ends` datetime DEFAULT NULL, `ends` datetime DEFAULT NULL,
`status` enum('ENABLED','DISABLED') NOT NULL DEFAULT 'ENABLED', `status` enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL DEFAULT 'ENABLED',
`on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP', `on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP',
`sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') NOT NULL DEFAULT '', `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') NOT NULL DEFAULT '',
`comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`originator` int(10) NOT NULL,
`time_zone` char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM', `time_zone` char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM',
PRIMARY KEY (`db`,`name`) PRIMARY KEY (`db`,`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Events' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Events'
...@@ -270,8 +271,8 @@ ERROR HY000: Cannot load from mysql.event. Table probably corrupted. See error l ...@@ -270,8 +271,8 @@ ERROR HY000: Cannot load from mysql.event. Table probably corrupted. See error l
ALTER TABLE mysql.event MODIFY db char(64) character set utf8 collate utf8_bin default ''; ALTER TABLE mysql.event MODIFY db char(64) character set utf8 collate utf8_bin default '';
"This should work" "This should work"
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
events_test intact_check root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED events_test intact_check root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1
ALTER TABLE mysql.event MODIFY db char(64) character set cp1251 default ''; ALTER TABLE mysql.event MODIFY db char(64) character set cp1251 default '';
SELECT event_name FROM INFORMATION_SCHEMA.EVENTS; SELECT event_name FROM INFORMATION_SCHEMA.EVENTS;
ERROR HY000: Cannot load from mysql.event. Table probably corrupted. See error log. ERROR HY000: Cannot load from mysql.event. Table probably corrupted. See error log.
...@@ -280,14 +281,14 @@ SELECT event_name FROM INFORMATION_SCHEMA.EVENTS; ...@@ -280,14 +281,14 @@ SELECT event_name FROM INFORMATION_SCHEMA.EVENTS;
ERROR HY000: Cannot load from mysql.event. Table probably corrupted. See error log. ERROR HY000: Cannot load from mysql.event. Table probably corrupted. See error log.
ALTER TABLE mysql.event DROP comment, DROP starts; ALTER TABLE mysql.event DROP comment, DROP starts;
SELECT event_name FROM INFORMATION_SCHEMA.EVENTS; SELECT event_name FROM INFORMATION_SCHEMA.EVENTS;
ERROR HY000: Column count of mysql.event is wrong. Expected 17, found 15. Table probably corrupted ERROR HY000: Column count of mysql.event is wrong. Expected 18, found 16. Table probably corrupted
DROP TABLE mysql.event; DROP TABLE mysql.event;
CREATE TABLE mysql.event like event_like; CREATE TABLE mysql.event like event_like;
INSERT INTO mysql.event SELECT * FROM event_like; INSERT INTO mysql.event SELECT * FROM event_like;
DROP TABLE event_like; DROP TABLE event_like;
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
events_test intact_check root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED events_test intact_check root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1
DROP EVENT intact_check; DROP EVENT intact_check;
create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5; create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5;
select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event; select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event;
...@@ -400,5 +401,5 @@ ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ...@@ -400,5 +401,5 @@ ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
SHOW EVENTS FROM ``; SHOW EVENTS FROM ``;
ERROR 42000: Incorrect database name '' ERROR 42000: Incorrect database name ''
SHOW EVENTS FROM `events\\test`; SHOW EVENTS FROM `events\\test`;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
drop database events_test; drop database events_test;
...@@ -30,7 +30,7 @@ create event e_55 on schedule at 20000101000000 do drop table t; ...@@ -30,7 +30,7 @@ create event e_55 on schedule at 20000101000000 do drop table t;
Warnings: Warnings:
Note 1584 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. Event has not been created Note 1584 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. Event has not been created
show events; show events;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
create event e_55 on schedule at 20200101000000 starts 10000101000000 do drop table t; create event e_55 on schedule at 20200101000000 starts 10000101000000 do drop table t;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'starts 10000101000000 do drop table t' at line 1 ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'starts 10000101000000 do drop table t' at line 1
create event e_55 on schedule at 20200101000000 ends 10000101000000 do drop table t; create event e_55 on schedule at 20200101000000 ends 10000101000000 do drop table t;
......
...@@ -2,8 +2,8 @@ CREATE DATABASE IF NOT EXISTS events_test; ...@@ -2,8 +2,8 @@ CREATE DATABASE IF NOT EXISTS events_test;
use events_test; use events_test;
CREATE EVENT one_event ON SCHEDULE EVERY 10 SECOND DO SELECT 123; CREATE EVENT one_event ON SCHEDULE EVERY 10 SECOND DO SELECT 123;
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
events_test one_event root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED events_test one_event root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS ORDER BY EVENT_SCHEMA, EVENT_NAME; SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS ORDER BY EVENT_SCHEMA, EVENT_NAME;
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
...@@ -29,8 +29,8 @@ ERROR 42000: Access denied for user 'ev_test'@'localhost' to database 'events_te ...@@ -29,8 +29,8 @@ ERROR 42000: Access denied for user 'ev_test'@'localhost' to database 'events_te
USE events_test; USE events_test;
"We should see one event"; "We should see one event";
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
events_test one_event root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED events_test one_event root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1
SELECT CONCAT("Let's create some new events from the name of ", USER()); SELECT CONCAT("Let's create some new events from the name of ", USER());
CONCAT("Let's create some new events from the name of ", USER()) CONCAT("Let's create some new events from the name of ", USER())
Let's create some new events from the name of ev_test@localhost Let's create some new events from the name of ev_test@localhost
...@@ -40,18 +40,18 @@ CREATE EVENT two_event ON SCHEDULE EVERY 20 SECOND ON COMPLETION NOT PRESERVE CO ...@@ -40,18 +40,18 @@ CREATE EVENT two_event ON SCHEDULE EVERY 20 SECOND ON COMPLETION NOT PRESERVE CO
CREATE EVENT three_event ON SCHEDULE EVERY 20 SECOND ON COMPLETION PRESERVE COMMENT "three event" DO SELECT 123; CREATE EVENT three_event ON SCHEDULE EVERY 20 SECOND ON COMPLETION PRESERVE COMMENT "three event" DO SELECT 123;
"Now we should see 3 events:"; "Now we should see 3 events:";
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
events_test one_event root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED events_test one_event root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1
events_test three_event ev_test@localhost SYSTEM RECURRING NULL 20 # # NULL ENABLED events_test three_event ev_test@localhost SYSTEM RECURRING NULL 20 # # NULL ENABLED 1
events_test two_event ev_test@localhost SYSTEM RECURRING NULL 20 # # NULL ENABLED events_test two_event ev_test@localhost SYSTEM RECURRING NULL 20 # # NULL ENABLED 1
"This should show us only 2 events:"; "This should show us only 2 events:";
SHOW EVENTS LIKE 't%event'; SHOW EVENTS LIKE 't%event';
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
events_test three_event ev_test@localhost SYSTEM RECURRING NULL 20 # # NULL ENABLED events_test three_event ev_test@localhost SYSTEM RECURRING NULL 20 # # NULL ENABLED 1
events_test two_event ev_test@localhost SYSTEM RECURRING NULL 20 # # NULL ENABLED events_test two_event ev_test@localhost SYSTEM RECURRING NULL 20 # # NULL ENABLED 1
"This should show us no events:"; "This should show us no events:";
SHOW EVENTS FROM test LIKE '%'; SHOW EVENTS FROM test LIKE '%';
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
GRANT EVENT ON events_test2.* TO ev_test@localhost; GRANT EVENT ON events_test2.* TO ev_test@localhost;
USE events_test2; USE events_test2;
CREATE EVENT four_event ON SCHEDULE EVERY 20 SECOND DO SELECT 42; CREATE EVENT four_event ON SCHEDULE EVERY 20 SECOND DO SELECT 42;
......
...@@ -7,6 +7,6 @@ create event abc2 on schedule every 1 second do insert into execution_log value( ...@@ -7,6 +7,6 @@ create event abc2 on schedule every 1 second do insert into execution_log value(
create event abc3 on schedule every 1 second do insert into execution_log value('abc3'); create event abc3 on schedule every 1 second do insert into execution_log value('abc3');
select name from execution_log; select name from execution_log;
name name
insert into mysql.event values ('db1','bad','select 42','root@localhost',NULL,1000,'MICROSECOND','2006-05-05 17:39:11','2006-05-05 17:39:20','2016-05-05 15:39:24','2016-05-05 15:39:11',NULL,'ENABLED','DROP','','comment1','SYSTEM'); insert into mysql.event values ('db1','bad','select 42','root@localhost',NULL,1000,'MICROSECOND','2006-05-05 17:39:11','2006-05-05 17:39:20','2016-05-05 15:39:24','2016-05-05 15:39:11',NULL,'ENABLED','DROP','','comment1',1,'SYSTEM');
insert into mysql.event values ('db1','bad2','sect','root@localhost',NULL,1000,'SECOND','2006-05-05 17:39:11','2006-05-05 17:39:20','2016-05-05 15:39:24','2016-05-05 15:39:11',NULL,'ENABLED','DROP','','comment2','SYSTEM'); insert into mysql.event values ('db1','bad2','sect','root@localhost',NULL,1000,'SECOND','2006-05-05 17:39:11','2006-05-05 17:39:20','2016-05-05 15:39:24','2016-05-05 15:39:11',NULL,'ENABLED','DROP','','comment2',1,'SYSTEM');
"Now we restart the server" "Now we restart the server"
...@@ -69,7 +69,7 @@ OK ...@@ -69,7 +69,7 @@ OK
SELECT IF(LAST_EXECUTED-ENDS < 3, 'OK', 'ERROR') FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA=DATABASE() AND EVENT_NAME='start_n_end' AND ENDS IS NOT NULL; SELECT IF(LAST_EXECUTED-ENDS < 3, 'OK', 'ERROR') FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA=DATABASE() AND EVENT_NAME='start_n_end' AND ENDS IS NOT NULL;
IF(LAST_EXECUTED-ENDS < 3, 'OK', 'ERROR') IF(LAST_EXECUTED-ENDS < 3, 'OK', 'ERROR')
OK OK
DROP EVENT start_n_end; DROP EVENT IF EXISTS events_test.start_n_end;
"Already dropped because ended. Therefore an error." "Already dropped because ended. Therefore an error."
DROP EVENT only_one_time; DROP EVENT only_one_time;
ERROR HY000: Unknown event 'only_one_time' ERROR HY000: Unknown event 'only_one_time'
......
...@@ -7,30 +7,30 @@ SET TIME_ZONE= '+00:00'; ...@@ -7,30 +7,30 @@ SET TIME_ZONE= '+00:00';
SET TIMESTAMP= UNIX_TIMESTAMP('2005-12-31 23:58:59'); SET TIMESTAMP= UNIX_TIMESTAMP('2005-12-31 23:58:59');
CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1; CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
mysqltest_db1 e1 root@localhost +00:00 RECURRING NULL 1 DAY 2005-12-31 23:58:59 NULL ENABLED mysqltest_db1 e1 root@localhost +00:00 RECURRING NULL 1 DAY 2005-12-31 23:58:59 NULL ENABLED 1
SET TIME_ZONE= '-01:00'; SET TIME_ZONE= '-01:00';
ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY STARTS '2000-01-01 00:00:00'; ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY STARTS '2000-01-01 00:00:00';
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
mysqltest_db1 e1 root@localhost -01:00 RECURRING NULL 1 DAY 2000-01-01 00:00:00 NULL ENABLED mysqltest_db1 e1 root@localhost -01:00 RECURRING NULL 1 DAY 2000-01-01 00:00:00 NULL ENABLED 1
SET TIME_ZONE= '+02:00'; SET TIME_ZONE= '+02:00';
ALTER EVENT e1 ON SCHEDULE AT '2000-01-02 00:00:00' ALTER EVENT e1 ON SCHEDULE AT '2000-01-02 00:00:00'
ON COMPLETION PRESERVE DISABLE; ON COMPLETION PRESERVE DISABLE;
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
mysqltest_db1 e1 root@localhost +02:00 ONE TIME 2000-01-02 00:00:00 NULL NULL NULL NULL DISABLED mysqltest_db1 e1 root@localhost +02:00 ONE TIME 2000-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1
SET TIME_ZONE= '-03:00'; SET TIME_ZONE= '-03:00';
ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2030-01-03 00:00:00' ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2030-01-03 00:00:00'
ON COMPLETION PRESERVE DISABLE; ON COMPLETION PRESERVE DISABLE;
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
mysqltest_db1 e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 DISABLED mysqltest_db1 e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 DISABLED 1
SET TIME_ZONE= '+04:00'; SET TIME_ZONE= '+04:00';
ALTER EVENT e1 DO SELECT 2; ALTER EVENT e1 DO SELECT 2;
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
mysqltest_db1 e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 ENABLED mysqltest_db1 e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 ENABLED 1
DROP EVENT e1; DROP EVENT e1;
SET TIME_ZONE='+05:00'; SET TIME_ZONE='+05:00';
CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' DO CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' DO
...@@ -44,15 +44,15 @@ SET TIME_ZONE='+00:00'; ...@@ -44,15 +44,15 @@ SET TIME_ZONE='+00:00';
CREATE EVENT e3 ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' DO CREATE EVENT e3 ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' DO
SELECT 1; SELECT 1;
SELECT * FROM INFORMATION_SCHEMA.EVENTS; SELECT * FROM INFORMATION_SCHEMA.EVENTS;
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR
NULL mysqltest_db1 e1 root@localhost +05:00 SQL SELECT 1 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED NOT PRESERVE 2005-12-31 23:58:59 2005-12-31 23:58:59 NULL NULL mysqltest_db1 e1 root@localhost +05:00 SQL SELECT 1 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED NOT PRESERVE 2005-12-31 23:58:59 2005-12-31 23:58:59 NULL 1
NULL mysqltest_db1 e2 root@localhost -05:00 SQL SELECT 1 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED NOT PRESERVE 2005-12-31 23:59:00 2005-12-31 23:59:00 NULL NULL mysqltest_db1 e2 root@localhost -05:00 SQL SELECT 1 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED NOT PRESERVE 2005-12-31 23:59:00 2005-12-31 23:59:00 NULL 1
NULL mysqltest_db1 e3 root@localhost +00:00 SQL SELECT 1 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED NOT PRESERVE 2005-12-31 23:59:01 2005-12-31 23:59:01 NULL NULL mysqltest_db1 e3 root@localhost +00:00 SQL SELECT 1 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED NOT PRESERVE 2005-12-31 23:59:01 2005-12-31 23:59:01 NULL 1
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
mysqltest_db1 e1 root@localhost +05:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED mysqltest_db1 e1 root@localhost +05:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED 1
mysqltest_db1 e2 root@localhost -05:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED mysqltest_db1 e2 root@localhost -05:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED 1
mysqltest_db1 e3 root@localhost +00:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED mysqltest_db1 e3 root@localhost +00:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED 1
SHOW CREATE EVENT e1; SHOW CREATE EVENT e1;
Event sql_mode time_zone Create Event Event sql_mode time_zone Create Event
e1 +05:00 CREATE EVENT `e1` ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO SELECT 1 e1 +05:00 CREATE EVENT `e1` ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO SELECT 1
...@@ -92,10 +92,10 @@ SELECT 1; ...@@ -92,10 +92,10 @@ SELECT 1;
Warnings: Warnings:
Note 1584 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. Event has not been created Note 1584 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. Event has not been created
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
mysqltest_db1 e1 root@localhost +05:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED mysqltest_db1 e1 root@localhost +05:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED 1
mysqltest_db1 e2 root@localhost -05:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED mysqltest_db1 e2 root@localhost -05:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED 1
mysqltest_db1 e3 root@localhost +00:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED mysqltest_db1 e3 root@localhost +00:00 RECURRING NULL 1 DAY 2006-01-01 00:00:00 NULL ENABLED 1
The following should succeed giving a warning. The following should succeed giving a warning.
ALTER EVENT e1 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00' ALTER EVENT e1 ON SCHEDULE EVERY 1 HOUR STARTS '1999-01-01 00:00:00'
ENDS '1999-01-02 00:00:00' ON COMPLETION PRESERVE; ENDS '1999-01-02 00:00:00' ON COMPLETION PRESERVE;
...@@ -128,15 +128,15 @@ CREATE EVENT e8 ON SCHEDULE AT '1999-01-01 00:00:00' ...@@ -128,15 +128,15 @@ CREATE EVENT e8 ON SCHEDULE AT '1999-01-01 00:00:00'
DO DO
SELECT 1; SELECT 1;
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
mysqltest_db1 e1 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 1999-01-02 00:00:00 DISABLED mysqltest_db1 e1 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 1999-01-02 00:00:00 DISABLED 1
mysqltest_db1 e2 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 NULL ENABLED mysqltest_db1 e2 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 NULL ENABLED 1
mysqltest_db1 e3 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 1999-01-02 00:00:00 DISABLED mysqltest_db1 e3 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 1999-01-02 00:00:00 DISABLED 1
mysqltest_db1 e4 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 1999-01-02 00:00:00 DISABLED mysqltest_db1 e4 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 1999-01-02 00:00:00 DISABLED 1
mysqltest_db1 e5 root@localhost +00:00 ONE TIME 1999-01-01 00:00:00 NULL NULL NULL NULL DISABLED mysqltest_db1 e5 root@localhost +00:00 ONE TIME 1999-01-01 00:00:00 NULL NULL NULL NULL DISABLED 1
mysqltest_db1 e6 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 NULL ENABLED mysqltest_db1 e6 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 NULL ENABLED 1
mysqltest_db1 e7 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 1999-01-02 00:00:00 DISABLED mysqltest_db1 e7 root@localhost +00:00 RECURRING NULL 1 HOUR 1999-01-01 00:00:00 1999-01-02 00:00:00 DISABLED 1
mysqltest_db1 e8 root@localhost +00:00 ONE TIME 1999-01-01 00:00:00 NULL NULL NULL NULL DISABLED mysqltest_db1 e8 root@localhost +00:00 ONE TIME 1999-01-01 00:00:00 NULL NULL NULL NULL DISABLED 1
DROP EVENT e8; DROP EVENT e8;
DROP EVENT e7; DROP EVENT e7;
DROP EVENT e6; DROP EVENT e6;
......
...@@ -5,11 +5,11 @@ insert t1 values (1); ...@@ -5,11 +5,11 @@ insert t1 values (1);
flush tables with read lock; flush tables with read lock;
show master status; show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 102 master-bin.000001 106
commit; commit;
show master status; show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 102 master-bin.000001 106
unlock tables; unlock tables;
drop table t1; drop table t1;
set autocommit=1; set autocommit=1;
...@@ -3440,8 +3440,8 @@ use first; ...@@ -3440,8 +3440,8 @@ use first;
set time_zone = 'UTC'; set time_zone = 'UTC';
create event ee1 on schedule at '2035-12-31 20:01:23' do set @a=5; create event ee1 on schedule at '2035-12-31 20:01:23' do set @a=5;
show events; show events;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
first ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED first ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED 1
show create event ee1; show create event ee1;
Event sql_mode time_zone Create Event Event sql_mode time_zone Create Event
ee1 UTC CREATE EVENT `ee1` ON SCHEDULE AT '2035-12-31 20:01:23' ON COMPLETION NOT PRESERVE ENABLE DO set @a=5 ee1 UTC CREATE EVENT `ee1` ON SCHEDULE AT '2035-12-31 20:01:23' ON COMPLETION NOT PRESERVE ENABLE DO set @a=5
...@@ -3449,26 +3449,26 @@ drop database first; ...@@ -3449,26 +3449,26 @@ drop database first;
create database second; create database second;
use second; use second;
show events; show events;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
second ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED second ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED 1
show create event ee1; show create event ee1;
Event sql_mode time_zone Create Event Event sql_mode time_zone Create Event
ee1 NO_AUTO_VALUE_ON_ZERO UTC CREATE EVENT `ee1` ON SCHEDULE AT '2035-12-31 20:01:23' ON COMPLETION NOT PRESERVE ENABLE DO set @a=5 ee1 NO_AUTO_VALUE_ON_ZERO UTC CREATE EVENT `ee1` ON SCHEDULE AT '2035-12-31 20:01:23' ON COMPLETION NOT PRESERVE ENABLE DO set @a=5
create event ee2 on schedule at '2018-12-31 21:01:23' do set @a=5; create event ee2 on schedule at '2018-12-31 21:01:23' do set @a=5;
create event ee3 on schedule at '2030-12-31 22:01:23' do set @a=5; create event ee3 on schedule at '2030-12-31 22:01:23' do set @a=5;
show events; show events;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
second ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED second ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED 1
second ee2 root@localhost UTC ONE TIME 2018-12-31 21:01:23 NULL NULL NULL NULL ENABLED second ee2 root@localhost UTC ONE TIME 2018-12-31 21:01:23 NULL NULL NULL NULL ENABLED 1
second ee3 root@localhost UTC ONE TIME 2030-12-31 22:01:23 NULL NULL NULL NULL ENABLED second ee3 root@localhost UTC ONE TIME 2030-12-31 22:01:23 NULL NULL NULL NULL ENABLED 1
drop database second; drop database second;
create database third; create database third;
use third; use third;
show events; show events;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
third ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED third ee1 root@localhost UTC ONE TIME 2035-12-31 20:01:23 NULL NULL NULL NULL ENABLED 1
third ee2 root@localhost UTC ONE TIME 2018-12-31 21:01:23 NULL NULL NULL NULL ENABLED third ee2 root@localhost UTC ONE TIME 2018-12-31 21:01:23 NULL NULL NULL NULL ENABLED 1
third ee3 root@localhost UTC ONE TIME 2030-12-31 22:01:23 NULL NULL NULL NULL ENABLED third ee3 root@localhost UTC ONE TIME 2030-12-31 22:01:23 NULL NULL NULL NULL ENABLED 1
drop database third; drop database third;
set time_zone = 'SYSTEM'; set time_zone = 'SYSTEM';
use test; use test;
......
...@@ -13,6 +13,7 @@ master-bin1.000001 # Query # # BEGIN ...@@ -13,6 +13,7 @@ master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # table_id: # (test.t2) master-bin1.000001 # Table_map # # table_id: # (test.t2)
master-bin1.000001 # Table_map # # table_id: # (mysql.ndb_apply_status) master-bin1.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
master-bin1.000001 # Write_rows # # table_id: # master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT master-bin1.000001 # Query # # COMMIT
select * from t2 order by a; select * from t2 order by a;
...@@ -35,6 +36,7 @@ master-bin.000001 # Query # # BEGIN ...@@ -35,6 +36,7 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t2) master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status) master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
master-bin.000001 # Write_rows # # table_id: # master-bin.000001 # Write_rows # # table_id: #
master-bin.000001 # Write_rows # # table_id: #
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 # Query # # use `test`; DROP TABLE t2 master-bin.000001 # Query # # use `test`; DROP TABLE t2
...@@ -53,6 +55,7 @@ master-bin1.000001 # Query # # BEGIN ...@@ -53,6 +55,7 @@ master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # table_id: # (test.t1) master-bin1.000001 # Table_map # # table_id: # (test.t1)
master-bin1.000001 # Table_map # # table_id: # (mysql.ndb_apply_status) master-bin1.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
master-bin1.000001 # Write_rows # # table_id: # master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT master-bin1.000001 # Query # # COMMIT
SELECT @the_epoch2:=epoch,inserts,updates,deletes,schemaops FROM SELECT @the_epoch2:=epoch,inserts,updates,deletes,schemaops FROM
...@@ -71,6 +74,7 @@ master-bin1.000001 # Query # # BEGIN ...@@ -71,6 +74,7 @@ master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # table_id: # (test.t1) master-bin1.000001 # Table_map # # table_id: # (test.t1)
master-bin1.000001 # Table_map # # table_id: # (mysql.ndb_apply_status) master-bin1.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
master-bin1.000001 # Write_rows # # table_id: # master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # use `test`; drop table t1 master-bin1.000001 # Query # # use `test`; drop table t1
......
...@@ -1968,11 +1968,11 @@ prepare abc from "show master logs"; ...@@ -1968,11 +1968,11 @@ prepare abc from "show master logs";
deallocate prepare abc; deallocate prepare abc;
create procedure proc_1() show events; create procedure proc_1() show events;
call proc_1(); call proc_1();
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
call proc_1(); call proc_1();
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
call proc_1(); call proc_1();
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
drop procedure proc_1; drop procedure proc_1;
create function func_1() returns int begin show events; return 1; end| create function func_1() returns int begin show events; return 1; end|
ERROR 0A000: Not allowed to return a result set from a function ERROR 0A000: Not allowed to return a result set from a function
...@@ -1982,11 +1982,11 @@ drop function func_1; ...@@ -1982,11 +1982,11 @@ drop function func_1;
ERROR 42000: FUNCTION test.func_1 does not exist ERROR 42000: FUNCTION test.func_1 does not exist
prepare abc from "show events"; prepare abc from "show events";
execute abc; execute abc;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
execute abc; execute abc;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
execute abc; execute abc;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator
deallocate prepare abc; deallocate prepare abc;
drop procedure if exists a; drop procedure if exists a;
create procedure a() select 42; create procedure a() select 42;
......
reset master; reset master;
show master status; show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 102 master-bin.000001 106
reset slave; reset slave;
show slave status; show slave status;
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
...@@ -17,7 +17,7 @@ Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File ...@@ -17,7 +17,7 @@ Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File
start slave; start slave;
show slave status; show slave status;
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
# 127.0.0.1 root MASTER_PORT 7 master-bin.000001 102 # # master-bin.000001 Yes Yes 0 0 102 # None 0 No # # 127.0.0.1 root MASTER_PORT 7 master-bin.000001 106 # # master-bin.000001 Yes Yes 0 0 106 # None 0 No #
drop table if exists t1; drop table if exists t1;
create table t1 (n int, PRIMARY KEY(n)); create table t1 (n int, PRIMARY KEY(n));
insert into t1 values (10),(45),(90); insert into t1 values (10),(45),(90);
......
...@@ -13,11 +13,11 @@ insert into t1 values(2); ...@@ -13,11 +13,11 @@ insert into t1 values(2);
stop slave; stop slave;
show slave status; show slave status;
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 # # # master-bin.000001 No No 0 0 187 # None 0 No # # 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 # # # master-bin.000001 No No 0 0 191 # None 0 No #
change master to master_user='root'; change master to master_user='root';
show slave status; show slave status;
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 # # # master-bin.000001 No No 0 0 187 # None 0 No # # 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 # # # master-bin.000001 No No 0 0 191 # None 0 No #
start slave; start slave;
select * from t1; select * from t1;
n n
......
This diff is collapsed.
...@@ -80,7 +80,7 @@ Master_SSL_Key ...@@ -80,7 +80,7 @@ Master_SSL_Key
Seconds_Behind_Master # Seconds_Behind_Master #
stop slave; stop slave;
delete from t3; delete from t3;
change master to master_log_pos=544; change master to master_log_pos=548;
begin; begin;
select * from t2 for update; select * from t2 for update;
a a
...@@ -136,7 +136,7 @@ set @my_max_relay_log_size= @@global.max_relay_log_size; ...@@ -136,7 +136,7 @@ set @my_max_relay_log_size= @@global.max_relay_log_size;
set global max_relay_log_size=0; set global max_relay_log_size=0;
stop slave; stop slave;
delete from t3; delete from t3;
change master to master_log_pos=544; change master to master_log_pos=548;
begin; begin;
select * from t2 for update; select * from t2 for update;
a a
......
set global event_scheduler=1;
stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
set binlog_format=row;
DROP EVENT IF EXISTS test.justonce;
drop table if exists t1,t2;
CREATE TABLE `t1` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`c` VARCHAR(50) NOT NULL,
`ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO t1 (c) VALUES ('manually');
CREATE EVENT test.justonce ON SCHEDULE AT NOW() + INTERVAL 2 SECOND DO INSERT INTO t1
(c) VALUES ('from justonce');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce';
db name status originator
test justonce ENABLED 1
"in the master"
SELECT * FROM t1 WHERE c = 'from justonce' OR c = 'manually' ORDER BY id;
id c ts
1 manually TIMESTAMP
2 from justonce TIMESTAMP
affected rows: 2
"in the slave"
SELECT * FROM t1 WHERE c = 'from justonce' OR c = 'manually' ORDER BY id;
id c ts
1 manually TIMESTAMP
2 from justonce TIMESTAMP
affected rows: 2
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce';
db name status originator
test justonce SLAVESIDE_DISABLED 1
DROP EVENT IF EXISTS test.slave_once;
CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE DO
INSERT INTO t1(c) VALUES ('from slave_once');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_once';
db name status originator
test slave_once ENABLED 2
DROP EVENT IF EXISTS test.slave_once;
DROP EVENT IF EXISTS test.justonce;
CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND DO
INSERT INTO t1(c) VALUES ('from er');
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
db name status originator body
test er ENABLED 1 INSERT INTO t1(c) VALUES ('from er')
"in the slave"
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
db name status originator body
test er SLAVESIDE_DISABLED 1 INSERT INTO t1(c) VALUES ('from er')
"in the master"
ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND DO INSERT into t1(c) VALUES ('from alter er');
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
db name status originator body
test er ENABLED 1 INSERT into t1(c) VALUES ('from alter er')
"in the slave"
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
db name status originator body
test er SLAVESIDE_DISABLED 1 INSERT into t1(c) VALUES ('from alter er')
"in the master"
DROP EVENT test.er;
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test';
db name status originator
"in the slave"
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test';
db name status originator
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND
DO INSERT INTO t1(c) VALUES ('from slave_terminate');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_terminate';
db name status originator
test slave_terminate ENABLED 2
DROP EVENT test.slave_terminate;
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND
DISABLE ON SLAVE DO INSERT INTO t1(c) VALUES ('from slave_terminate');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_terminate';
db name status originator
test slave_terminate SLAVESIDE_DISABLED 2
DROP EVENT test.slave_terminate;
"in the master"
DROP TABLE t1;
set binlog_format=statement;
DROP EVENT IF EXISTS test.justonce;
drop table if exists t1,t2;
CREATE TABLE `t1` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`c` VARCHAR(50) NOT NULL,
`ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO t1 (c) VALUES ('manually');
CREATE EVENT test.justonce ON SCHEDULE AT NOW() + INTERVAL 2 SECOND DO INSERT INTO t1
(c) VALUES ('from justonce');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce';
db name status originator
test justonce ENABLED 1
"in the master"
SELECT * FROM t1 WHERE c = 'from justonce' OR c = 'manually' ORDER BY id;
id c ts
1 manually TIMESTAMP
2 from justonce TIMESTAMP
affected rows: 2
"in the slave"
SELECT * FROM t1 WHERE c = 'from justonce' OR c = 'manually' ORDER BY id;
id c ts
1 manually TIMESTAMP
2 from justonce TIMESTAMP
affected rows: 2
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce';
db name status originator
test justonce SLAVESIDE_DISABLED 1
DROP EVENT IF EXISTS test.slave_once;
CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE DO
INSERT INTO t1(c) VALUES ('from slave_once');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_once';
db name status originator
test slave_once ENABLED 2
DROP EVENT IF EXISTS test.slave_once;
DROP EVENT IF EXISTS test.justonce;
CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND DO
INSERT INTO t1(c) VALUES ('from er');
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
db name status originator body
test er ENABLED 1 INSERT INTO t1(c) VALUES ('from er')
"in the slave"
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
db name status originator body
test er SLAVESIDE_DISABLED 1 INSERT INTO t1(c) VALUES ('from er')
"in the master"
ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND DO INSERT into t1(c) VALUES ('from alter er');
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
db name status originator body
test er ENABLED 1 INSERT into t1(c) VALUES ('from alter er')
"in the slave"
SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er';
db name status originator body
test er SLAVESIDE_DISABLED 1 INSERT into t1(c) VALUES ('from alter er')
"in the master"
DROP EVENT test.er;
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test';
db name status originator
"in the slave"
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test';
db name status originator
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND
DO INSERT INTO t1(c) VALUES ('from slave_terminate');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_terminate';
db name status originator
test slave_terminate ENABLED 2
DROP EVENT test.slave_terminate;
CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND
DISABLE ON SLAVE DO INSERT INTO t1(c) VALUES ('from slave_terminate');
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_terminate';
db name status originator
test slave_terminate SLAVESIDE_DISABLED 2
DROP EVENT test.slave_terminate;
"in the master"
DROP TABLE t1;
...@@ -24,7 +24,7 @@ Master_User root ...@@ -24,7 +24,7 @@ Master_User root
Master_Port SLAVE_PORT Master_Port SLAVE_PORT
Connect_Retry 60 Connect_Retry 60
Master_Log_File slave-bin.000001 Master_Log_File slave-bin.000001
Read_Master_Log_Pos 212 Read_Master_Log_Pos 216
Relay_Log_File # Relay_Log_File #
Relay_Log_Pos # Relay_Log_Pos #
Relay_Master_Log_File slave-bin.000001 Relay_Master_Log_File slave-bin.000001
...@@ -39,7 +39,7 @@ Replicate_Wild_Ignore_Table ...@@ -39,7 +39,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 0 Last_Errno 0
Last_Error Last_Error
Skip_Counter 0 Skip_Counter 0
Exec_Master_Log_Pos 212 Exec_Master_Log_Pos 216
Relay_Log_Space # Relay_Log_Space #
Until_Condition None Until_Condition None
Until_Log_File Until_Log_File
......
This diff is collapsed.
...@@ -33,7 +33,7 @@ Replicate_Wild_Ignore_Table ...@@ -33,7 +33,7 @@ Replicate_Wild_Ignore_Table
Last_Errno 1105 Last_Errno 1105
Last_Error Error 'master may suffer from http://bugs.mysql.com/bug.php?id=24432 so slave stops; check error log on slave for more info' on query. Default database: 'test'. Query: 'INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10' Last_Error Error 'master may suffer from http://bugs.mysql.com/bug.php?id=24432 so slave stops; check error log on slave for more info' on query. Default database: 'test'. Query: 'INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10'
Skip_Counter 0 Skip_Counter 0
Exec_Master_Log_Pos 242 Exec_Master_Log_Pos 246
Relay_Log_Space # Relay_Log_Space #
Until_Condition None Until_Condition None
Until_Log_File Until_Log_File
...@@ -115,7 +115,7 @@ FROM t2 ...@@ -115,7 +115,7 @@ FROM t2
ON DUPLICATE KEY UPDATE ON DUPLICATE KEY UPDATE
t1.field_3 = t2.field_c' t1.field_3 = t2.field_c'
Skip_Counter 0 Skip_Counter 0
Exec_Master_Log_Pos 1274 Exec_Master_Log_Pos 1278
Relay_Log_Space # Relay_Log_Space #
Until_Condition None Until_Condition None
Until_Log_File Until_Log_File
......
...@@ -28,7 +28,7 @@ day id category name ...@@ -28,7 +28,7 @@ day id category name
2003-03-22 2416 a bbbbb 2003-03-22 2416 a bbbbb
show master status; show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB File Position Binlog_Do_DB Binlog_Ignore_DB
slave-bin.000001 1276 slave-bin.000001 1280
drop table t1; drop table t1;
drop table t2; drop table t2;
drop table t3; drop table t3;
...@@ -39,7 +39,7 @@ set global sql_slave_skip_counter=1; ...@@ -39,7 +39,7 @@ set global sql_slave_skip_counter=1;
start slave; start slave;
show slave status; show slave status;
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 1793 # # master-bin.000001 Yes Yes # 0 0 1793 # None 0 No # # 127.0.0.1 root MASTER_PORT 1 master-bin.000001 1797 # # master-bin.000001 Yes Yes # 0 0 1797 # None 0 No #
set sql_log_bin=0; set sql_log_bin=0;
delete from t1; delete from t1;
set sql_log_bin=1; set sql_log_bin=1;
...@@ -49,7 +49,7 @@ change master to master_user='test'; ...@@ -49,7 +49,7 @@ change master to master_user='test';
change master to master_user='root'; change master to master_user='root';
show slave status; show slave status;
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 1828 # # master-bin.000001 No No # 0 0 1828 # None 0 No # # 127.0.0.1 root MASTER_PORT 1 master-bin.000001 1832 # # master-bin.000001 No No # 0 0 1832 # None 0 No #
set global sql_slave_skip_counter=1; set global sql_slave_skip_counter=1;
start slave; start slave;
set sql_log_bin=0; set sql_log_bin=0;
......
...@@ -10,6 +10,6 @@ load data infile '../std_data_ln/rpl_loaddata.dat' into table test.t1; ...@@ -10,6 +10,6 @@ load data infile '../std_data_ln/rpl_loaddata.dat' into table test.t1;
select count(*) from test.t1; select count(*) from test.t1;
count(*) count(*)
2 2
show binlog events from 102; 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
drop table test.t1; drop table test.t1;
This diff is collapsed.
This diff is collapsed.
...@@ -132,8 +132,8 @@ Replicate_Do_Table ...@@ -132,8 +132,8 @@ Replicate_Do_Table
Replicate_Ignore_Table <Replicate_Ignore_Table> Replicate_Ignore_Table <Replicate_Ignore_Table>
Replicate_Wild_Do_Table Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table Replicate_Wild_Ignore_Table
Last_Errno 146 Last_Errno 1105
Last_Error Error in Write_rows event: error during transaction execution on table test.t1 Last_Error Unknown error
Skip_Counter 0 Skip_Counter 0
Exec_Master_Log_Pos <Exec_Master_Log_Pos> Exec_Master_Log_Pos <Exec_Master_Log_Pos>
Relay_Log_Space <Relay_Log_Space> Relay_Log_Space <Relay_Log_Space>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -26,11 +26,11 @@ stop slave; ...@@ -26,11 +26,11 @@ stop slave;
SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1) SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1)
FROM mysql.ndb_binlog_index WHERE epoch = <the_epoch> ; FROM mysql.ndb_binlog_index WHERE epoch = <the_epoch> ;
@the_pos:=Position @the_file:=SUBSTRING_INDEX(FILE, '/', -1) @the_pos:=Position @the_file:=SUBSTRING_INDEX(FILE, '/', -1)
102 master-bin1.000001 106 master-bin1.000001
CHANGE MASTER TO CHANGE MASTER TO
master_port=<MASTER_PORT1>, master_port=<MASTER_PORT1>,
master_log_file = 'master-bin1.000001', master_log_file = 'master-bin1.000001',
master_log_pos = 102 ; master_log_pos = 106 ;
start slave; start slave;
INSERT INTO t1 VALUES ("row2","will go away",2),("row3","will change",3),("row4","D",4); INSERT INTO t1 VALUES ("row2","will go away",2),("row3","will change",3),("row4","D",4);
DELETE FROM t1 WHERE c3 = 1; DELETE FROM t1 WHERE c3 = 1;
......
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