Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-rpl client/Makefile.am: Auto merged mysql-test/r/rpl_ndb_basic.result: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/ha_ndbcluster.h: Auto merged sql/ha_ndbcluster_binlog.cc: Auto merged sql/mysqld.cc: Auto merged
This commit is contained in:
commit
146a86a202
@ -121,11 +121,7 @@ select * from t2;
|
||||
select * from t3;
|
||||
|
||||
let $VERSION=`select version()`;
|
||||
--replace_result $VERSION VERSION
|
||||
--replace_column 2 # 5 #
|
||||
--replace_regex /table_id: [0-9]+/table_id: #/
|
||||
show binlog events;
|
||||
|
||||
source include/show_binlog_events.inc;
|
||||
drop table t1,t2,t3;
|
||||
|
||||
#
|
||||
@ -157,10 +153,7 @@ start transaction;
|
||||
insert into t1 values(2);
|
||||
rollback;
|
||||
set autocommit=1;
|
||||
--replace_result $VERSION VERSION
|
||||
--replace_column 2 # 5 #
|
||||
--replace_regex /table_id: [0-9]+/table_id: #/
|
||||
show binlog events;
|
||||
source include/show_binlog_events.inc;
|
||||
drop table if exists t1;
|
||||
|
||||
# End of 5.0 tests
|
||||
|
@ -23,10 +23,7 @@ connection con2;
|
||||
# To be sure that logging has been done, we use a user lock.
|
||||
select get_lock("a",10);
|
||||
let $VERSION=`select version()`;
|
||||
--replace_result $VERSION VERSION
|
||||
--replace_column 2 # 5 #
|
||||
--replace_regex /table_id: [0-9]+/table_id: #/
|
||||
show binlog events;
|
||||
source include/show_binlog_events.inc;
|
||||
drop database `drop-temp+table-test`;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
@ -18,9 +18,7 @@ insert into t1 select * from t2;
|
||||
# The above should produce an error, but still be in the binlog;
|
||||
# verify the binlog :
|
||||
let $VERSION=`select version()`;
|
||||
--replace_result $VERSION VERSION
|
||||
--replace_regex /table_id: [0-9]+/table_id: #/
|
||||
show binlog events;
|
||||
source include/show_binlog_events.inc;
|
||||
select * from t1;
|
||||
drop table t1, t2;
|
||||
|
||||
@ -33,9 +31,7 @@ reset master;
|
||||
create table t2(unique(a)) select a from t1;
|
||||
# The above should produce an error, *and* not appear in the binlog
|
||||
let $VERSION=`select version()`;
|
||||
--replace_result $VERSION VERSION
|
||||
--replace_regex /table_id: [0-9]+/table_id: #/
|
||||
show binlog events;
|
||||
source include/show_binlog_events.inc;
|
||||
drop table t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
@ -1,31 +1,128 @@
|
||||
######################## rpl_ddl.test ########################
|
||||
# #
|
||||
# DDL statements (sometimes with implicit COMMIT) executed #
|
||||
# by the master and it's propagation into the slave #
|
||||
# #
|
||||
##############################################################
|
||||
################# extra/rpl_tests/rpl_ddl.test ########################
|
||||
# #
|
||||
# DDL statements (sometimes with implicit COMMIT) and other stuff #
|
||||
# executed on the master and it's propagation into the slave. #
|
||||
# #
|
||||
# The variables #
|
||||
# $engine_type -- storage engine to be tested/used for the #
|
||||
# permanent tables within the master #
|
||||
# $temp_engine_type -- storage engine which supports TEMPORARY #
|
||||
# tables <> $engine_type #
|
||||
# $temp_engine_type must point to an all #
|
||||
# time available storage engine #
|
||||
# 2007-02 MySQL 5.1 MyISAM and MEMORY only #
|
||||
# $show_binlog -- print binlog entries #
|
||||
# 0 - no (default) + fits to the file with #
|
||||
# results #
|
||||
# 1 - yes (important 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. #
|
||||
# #
|
||||
# General assumption about the ideal replication behaviour: #
|
||||
# Whatever on the master is executed the content of the slave must #
|
||||
# be in sync with it. #
|
||||
# #
|
||||
# Tests of special interest: #
|
||||
# a) Which DDL commands cause an implicit COMMIT ? #
|
||||
# This is also of interest outside of replication. #
|
||||
# b) Transactions modifying table content ending with #
|
||||
# - explicit COMMIT or ROLLBACK #
|
||||
# - implicit COMMIT because the connection to the master #
|
||||
# executed a corresponding DDL statement or runs in #
|
||||
# AUTOCOMMIT mode #
|
||||
# - something similar to "implicit COMMIT" if the storage #
|
||||
# engine (master) is not transactional #
|
||||
# c) Command which change no data like SELECT or SHOW #
|
||||
# They do not change anything within the master but #
|
||||
# this must be also valid for the slave. #
|
||||
# #
|
||||
#######################################################################
|
||||
|
||||
# Last update:
|
||||
# 2007-02-12 ML: - slave needs AUTOCOMMIT = 1, because we want to check only
|
||||
# the propagation of actions of the master connection.
|
||||
# - replace comments via SQL by "--echo ..."
|
||||
# - remove some bugs within the testscripts
|
||||
# - remove the use of include/rpl_stmt_seq2.inc
|
||||
#
|
||||
#
|
||||
# NOTE, PLEASE BE CAREFUL, WHEN MODIFYING THE TESTS !!
|
||||
# NOTES:
|
||||
# 2006-11-15 Lars: Matthias (ML) is the "owner" of this test case.
|
||||
# So, please get him to review it whenever you want to
|
||||
# do changes to it.
|
||||
#
|
||||
# 1. !All! objects to be dropped, renamed, altered ... must be created
|
||||
# in AUTOCOMMIT= 1 mode before AUTOCOMMIT is set to 0 and the test
|
||||
# sequences start.
|
||||
# PLEASE BE CAREFUL, WHEN MODIFYING THE TESTS !!
|
||||
#
|
||||
# 2. Never use a test object, which was direct or indirect affected by a
|
||||
# preceeding test sequence again.
|
||||
# Except table d1.t1 where ONLY DML is allowed.
|
||||
# Typical test architecture (--> include/rpl_stmt_seq.inc)
|
||||
# --------------------------------------------------------
|
||||
# 1. Master (no AUTOCOMMIT!): INSERT INTO mysqltest1.t1 without commit
|
||||
# 2. Master and slave: Check the content of mysqltest1.t1
|
||||
# 3. Master (no AUTOCOMMIT!): EXECUTE the statement to be tested
|
||||
# 4. Master and slave: Check the content of mysqltest1.t1
|
||||
# 5. Master (no AUTOCOMMIT!): ROLLBACK
|
||||
# 6. Master and slave: Check the content of mysqltest1.t1
|
||||
# If the previous into mysqltest1.t1 inserted row is visible,
|
||||
# than the statement to be tested caused an explicit COMMIT
|
||||
# (statement = COMMIT) or an implicit COMMIT (example CREATE TABLE).
|
||||
# If the previous into mysqltest1.t1 inserted row is not visible,
|
||||
# than the statement to be tested caused either an explicit ROLLBACK
|
||||
# (statement = ROLLBACK), an implicit ROLLBACK (deadlock etc. but
|
||||
# not tested here) or it does not cause any transaction end.
|
||||
# 7. Flush the logs
|
||||
#
|
||||
# Some rules:
|
||||
# -----------
|
||||
# 1. Any use of mysqltest1.t1 within the statement to be tested must be
|
||||
# avoided if possible. The only known exception is around LOCK TABLE.
|
||||
#
|
||||
# 2. The test logics needs for
|
||||
# master connection: AUTOCOMMIT = 0
|
||||
# slave connection: AUTOCOMMIT = 1
|
||||
# The master connection is the actor and the slave connection is
|
||||
# only an observer. I.e. the slave connection must not influence
|
||||
# the activities of master connection.
|
||||
#
|
||||
# If one preceeding test sequence hits a (sometimes not good visible,
|
||||
# because the sql error code of the statement might be 0) bug
|
||||
# and these rules are ignored, a following test sequence might earn ugly
|
||||
# effects like failing 'sync_slave_with_master', crashes of the slave or
|
||||
# abort of the test case etc..
|
||||
# 3. !All! objects to be dropped, renamed, altered ... must be created
|
||||
# before the tests start.
|
||||
# --> less switching of AUTOCOMMIT mode on master side.
|
||||
#
|
||||
# 3. The assignment of the DDL command to be tested to $my_stmt can
|
||||
# be a bit difficult. "'" must be avoided, because the test
|
||||
# routine "include/rpl_stmt_seq.inc" performs a
|
||||
# eval SELECT CONCAT('######## ','$my_stmt',' ########') as "";
|
||||
# 4. Never use a test object, which was direct or indirect affected by a
|
||||
# preceeding test sequence again.
|
||||
# If one preceeding test sequence hits a (sometimes not visible,
|
||||
# because the sql error code of the statement might be 0) bug
|
||||
# and these rules are ignored, a following test sequence might earn ugly
|
||||
# effects like failing 'sync_slave_with_master', crashes of the slave or
|
||||
# abort of the test case etc.. This means during analysis the first look
|
||||
# points into a totally wrong area.
|
||||
# Except table mysqltest1.t1 where ONLY DML is allowed.
|
||||
#
|
||||
# 5. This file is used in several tests (t/rpl_ddl_<whatever>.test).
|
||||
# Please be aware that every change of the current file affects
|
||||
# the results of these tests.
|
||||
#
|
||||
# ML: Some maybe banal hints:
|
||||
# 1. The fact that we have here a master - slave replication does
|
||||
# not cause that many general MySQL properties do not apply.
|
||||
# Example:
|
||||
# The connection to the slave is just a simple session and not a however
|
||||
# magic working "copy" of the master session or something similar.
|
||||
# - TEMPORARY TABLES and @variables are session specific
|
||||
# - the slave session cannot see these things of the master.
|
||||
# 2. The slave connection must not call sync_slave_with_master.
|
||||
# 3. SHOW STATUS SLAVE must be run within the slave connection.
|
||||
# 4. Testcase analysis becomes much more comfortable if
|
||||
# $show_binlog within include/rpl_stmt_seq.inc is set to 1.
|
||||
#
|
||||
|
||||
###############################################################
|
||||
@ -33,8 +130,10 @@
|
||||
###############################################################
|
||||
# The sync_slave_with_master is needed to make the xids deterministic.
|
||||
sync_slave_with_master;
|
||||
connection master;
|
||||
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
SET AUTOCOMMIT = 1;
|
||||
#
|
||||
# 1. DROP all objects, which probably already exist, but must be created here
|
||||
@ -47,7 +146,7 @@ DROP DATABASE IF EXISTS mysqltest3;
|
||||
#
|
||||
# 2. CREATE all objects needed
|
||||
# working database is mysqltest1
|
||||
# working (transactional!) is mysqltest1.t1
|
||||
# working table (transactional!) is mysqltest1.t1
|
||||
#
|
||||
CREATE DATABASE mysqltest1;
|
||||
CREATE DATABASE mysqltest2;
|
||||
@ -73,25 +172,23 @@ eval CREATE TABLE mysqltest1.t16 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t17 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t18 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t19 (f1 BIGINT) ENGINE=$engine_type;
|
||||
CREATE TEMPORARY TABLE mysqltest1.t23 (f1 BIGINT);
|
||||
eval CREATE TEMPORARY TABLE mysqltest1.t23 (f1 BIGINT) ENGINE=$temp_engine_type;
|
||||
|
||||
#
|
||||
# 3. master sessions: never do AUTOCOMMIT
|
||||
# slave sessions: never do AUTOCOMMIT
|
||||
# slave sessions: do AUTOCOMMIT
|
||||
#
|
||||
SET AUTOCOMMIT = 0;
|
||||
use mysqltest1;
|
||||
sync_slave_with_master;
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SET AUTOCOMMIT = 0;
|
||||
SET AUTOCOMMIT = 1;
|
||||
use mysqltest1;
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
|
||||
# We don't want to abort the whole test if one statement sent
|
||||
@ -99,6 +196,21 @@ SELECT '-------- switch to master -------' as "";
|
||||
# sequences are nearly independend of the previous statements.
|
||||
--disable_abort_on_error
|
||||
|
||||
###############################################################
|
||||
# Banal case: commands which should never commit
|
||||
# Just for checking if the test sequence is usable
|
||||
###############################################################
|
||||
|
||||
let $my_stmt= SELECT 1;
|
||||
let $my_master_commit= false;
|
||||
let $my_slave_commit= false;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
|
||||
let $my_stmt= SELECT COUNT(*) FROM t1;
|
||||
let $my_master_commit= false;
|
||||
let $my_slave_commit= false;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
|
||||
###############################################################
|
||||
# Banal case: (explicit) COMMIT and ROLLBACK
|
||||
# Just for checking if the test sequence is usable
|
||||
@ -143,84 +255,64 @@ let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW TABLES LIKE 't2';
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW TABLES LIKE 't2';
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
# Note: Since this test is executed with a skip-innodb slave, the
|
||||
# slave incorrectly commits the insert. One can *not* have InnoDB on
|
||||
# master and MyISAM on slave and expect that a transactional rollback
|
||||
# after a CREATE TEMPORARY TABLE should work correctly on the slave.
|
||||
# For this to work properly the handler on the slave must be able to
|
||||
# handle transactions (e.g. InnoDB or NDB).
|
||||
let $my_stmt= DROP TEMPORARY TABLE mysqltest1.t23;
|
||||
let $my_master_commit= false;
|
||||
let $my_slave_commit= true;
|
||||
let $my_slave_commit= false;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW TABLES LIKE 't23';
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW TABLES LIKE 't23';
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
let $my_stmt= RENAME TABLE mysqltest1.t3 to mysqltest1.t20;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW TABLES LIKE 't20';
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW TABLES LIKE 't20';
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
let $my_stmt= ALTER TABLE mysqltest1.t4 ADD column f2 BIGINT;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
describe mysqltest1.t4;
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
describe mysqltest1.t4;
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
let $my_stmt= CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE=;
|
||||
let $my_stmt= CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE= $engine_type;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq2.inc
|
||||
--source include/rpl_stmt_seq.inc
|
||||
|
||||
# Note: Since this test is executed with a skip-innodb slave, the
|
||||
# slave incorrectly commits the insert. One can *not* have InnoDB on
|
||||
# master and MyISAM on slave and expect that a transactional rollback
|
||||
# after a CREATE TEMPORARY TABLE should work correctly on the slave.
|
||||
# For this to work properly the handler on the slave must be able to
|
||||
# handle transactions (e.g. InnoDB or NDB).
|
||||
let $engine='';
|
||||
let $eng_type='';
|
||||
|
||||
let $my_stmt= CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT);
|
||||
let $my_stmt= CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT) ENGINE=$temp_engine_type;
|
||||
let $my_master_commit= false;
|
||||
let $my_slave_commit= true;
|
||||
let $my_slave_commit= false;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
|
||||
let $my_stmt= TRUNCATE TABLE mysqltest1.t7;
|
||||
@ -228,9 +320,12 @@ let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SELECT * FROM mysqltest1.t7;
|
||||
--echo -------- switch to slave --------
|
||||
sync_slave_with_master;
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
SELECT * FROM mysqltest1.t7;
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
|
||||
@ -238,8 +333,13 @@ connection master;
|
||||
# Cases with LOCK/UNLOCK
|
||||
###############################################################
|
||||
|
||||
# MySQL insists in locking mysqltest1.t1, because rpl_stmt_seq performs an
|
||||
# INSERT into this table.
|
||||
# Attention:
|
||||
# We have to LOCK mysqltest1.t1 here, though it violates the testing
|
||||
# philosophy.
|
||||
# Mysql response in case without previous LOCK TABLES mysqltest1.t1
|
||||
# is:
|
||||
# SELECT MAX(...) FROM mysqltest1.t1 is
|
||||
# ERROR HY000: Table 't1' was not locked with LOCK TABLES
|
||||
let $my_stmt= LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
@ -253,8 +353,9 @@ let $my_slave_commit= false;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
|
||||
# With prior read locking
|
||||
# Note that this test generate an error since the rpl_stmt_seq.inc
|
||||
# tries to insert into t1.
|
||||
# Attention:
|
||||
# This subtest generates an error since the rpl_stmt_seq.inc
|
||||
# tries to insert into t1.
|
||||
LOCK TABLES mysqltest1.t1 READ;
|
||||
let $my_stmt= UNLOCK TABLES;
|
||||
let $my_master_commit= false;
|
||||
@ -277,30 +378,26 @@ let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW INDEX FROM mysqltest1.t6;
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW INDEX FROM mysqltest1.t6;
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
let $my_stmt= CREATE INDEX my_idx5 ON mysqltest1.t5(f1);
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW INDEX FROM mysqltest1.t5;
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW INDEX FROM mysqltest1.t5;
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
###############################################################
|
||||
# Cases with DATABASE
|
||||
@ -311,35 +408,31 @@ let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW DATABASES LIKE "mysqltest2";
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW DATABASES LIKE "mysqltest2";
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
let $my_stmt= CREATE DATABASE mysqltest3;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW DATABASES LIKE "mysqltest3";
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW DATABASES LIKE "mysqltest3";
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
###############################################################
|
||||
# Cases with stored procedures
|
||||
# Cases with STORED PROCEDUREs
|
||||
###############################################################
|
||||
let $my_stmt= CREATE PROCEDURE p1() READS SQL DATA SELECT "this is p1";
|
||||
let $my_master_commit= true;
|
||||
@ -348,12 +441,13 @@ let $my_slave_commit= true;
|
||||
--vertical_results
|
||||
--replace_column 5 # 6 #
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
--replace_column 5 # 6 #
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--horizontal_results
|
||||
|
||||
@ -364,12 +458,13 @@ let $my_slave_commit= true;
|
||||
--vertical_results
|
||||
--replace_column 5 # 6 #
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
--replace_column 5 # 6 #
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--horizontal_results
|
||||
|
||||
@ -379,11 +474,12 @@ let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
--vertical_results
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--horizontal_results
|
||||
|
||||
@ -395,11 +491,12 @@ let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW CREATE VIEW v1;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
SHOW CREATE VIEW v1;
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
|
||||
let $my_stmt= ALTER VIEW v1 AS select f1 from t1;
|
||||
@ -407,11 +504,12 @@ let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW CREATE VIEW v1;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
SHOW CREATE VIEW v1;
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
|
||||
let $my_stmt= DROP VIEW IF EXISTS v1;
|
||||
@ -420,12 +518,13 @@ let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
--error 1146
|
||||
SHOW CREATE VIEW v1;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
--error 1146
|
||||
SHOW CREATE VIEW v1;
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
|
||||
###############################################################
|
||||
@ -436,11 +535,12 @@ let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW TRIGGERS;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
SHOW TRIGGERS;
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
|
||||
let $my_stmt= DROP TRIGGER trg1;
|
||||
@ -448,11 +548,12 @@ let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW TRIGGERS;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
SHOW TRIGGERS;
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
|
||||
###############################################################
|
||||
@ -463,11 +564,12 @@ let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SELECT user FROM mysql.user WHERE user = 'user1';
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
SELECT user FROM mysql.user WHERE user = 'user1';
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
|
||||
let $my_stmt= RENAME USER user1@localhost TO rename1@localhost;
|
||||
@ -475,11 +577,12 @@ let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
|
||||
let $my_stmt= DROP USER rename1@localhost;
|
||||
@ -487,21 +590,21 @@ let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
connection slave;
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
connection master;
|
||||
|
||||
###############################################################
|
||||
# Cleanup
|
||||
###############################################################
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS mysqltest1;
|
||||
DROP DATABASE IF EXISTS mysqltest2;
|
||||
DROP DATABASE IF EXISTS mysqltest3;
|
||||
use test;
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
DROP DATABASE mysqltest1;
|
||||
# mysqltest2 was alreday DROPPED some tests before.
|
||||
DROP DATABASE mysqltest3;
|
||||
--enable_warnings
|
||||
|
||||
-- source include/master-slave-end.inc
|
||||
|
||||
|
@ -88,10 +88,7 @@ connection master;
|
||||
|
||||
eval create table t2 (n int)ENGINE=$engine_type;
|
||||
insert into t2 values (1);
|
||||
--replace_result $VERSION VERSION
|
||||
--replace_column 2 # 5 #
|
||||
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
|
||||
show binlog events;
|
||||
source include/show_binlog_events.inc;
|
||||
--replace_result $VERSION VERSION
|
||||
--replace_column 2 # 5 #
|
||||
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
|
||||
@ -142,10 +139,7 @@ insert into t1 values (NULL, 1);
|
||||
reset master;
|
||||
set insert_id=5;
|
||||
insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id());
|
||||
--replace_result $VERSION VERSION
|
||||
--replace_column 2 # 5 #
|
||||
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
|
||||
show binlog events;
|
||||
source include/show_binlog_events.inc;
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
|
@ -1,507 +0,0 @@
|
||||
######################## rpl_ddl.test ########################
|
||||
# #
|
||||
# DDL statements (sometimes with implicit COMMIT) executed #
|
||||
# by the master and it's propagation into the slave #
|
||||
# #
|
||||
##############################################################
|
||||
|
||||
#
|
||||
# NOTE, PLEASE BE CAREFUL, WHEN MODIFYING THE TESTS !!
|
||||
#
|
||||
# 1. !All! objects to be dropped, renamed, altered ... must be created
|
||||
# in AUTOCOMMIT= 1 mode before AUTOCOMMIT is set to 0 and the test
|
||||
# sequences start.
|
||||
#
|
||||
# 2. Never use a test object, which was direct or indirect affected by a
|
||||
# preceeding test sequence again.
|
||||
# Except table d1.t1 where ONLY DML is allowed.
|
||||
#
|
||||
# If one preceeding test sequence hits a (sometimes not good visible,
|
||||
# because the sql error code of the statement might be 0) bug
|
||||
# and these rules are ignored, a following test sequence might earn ugly
|
||||
# effects like failing 'sync_slave_with_master', crashes of the slave or
|
||||
# abort of the test case etc..
|
||||
#
|
||||
# 3. The assignment of the DDL command to be tested to $my_stmt can
|
||||
# be a bit difficult. "'" must be avoided, because the test
|
||||
# routine "include/rpl_stmt_seq.inc" performs a
|
||||
# eval SELECT CONCAT('######## ','$my_stmt',' ########') as "";
|
||||
#
|
||||
|
||||
###############################################################
|
||||
# Some preparations
|
||||
###############################################################
|
||||
# The sync_slave_with_master is needed to make the xids deterministic.
|
||||
sync_slave_with_master;
|
||||
connection master;
|
||||
|
||||
SET AUTOCOMMIT = 1;
|
||||
#
|
||||
# 1. DROP all objects, which probably already exist, but must be created here
|
||||
#
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS mysqltest1;
|
||||
DROP DATABASE IF EXISTS mysqltest2;
|
||||
DROP DATABASE IF EXISTS mysqltest3;
|
||||
--enable_warnings
|
||||
#
|
||||
# 2. CREATE all objects needed
|
||||
# working database is mysqltest1
|
||||
# working (transactional!) is mysqltest1.t1
|
||||
#
|
||||
CREATE DATABASE mysqltest1;
|
||||
CREATE DATABASE mysqltest2;
|
||||
eval CREATE TABLE mysqltest1.t1 (f1 BIGINT) ENGINE=$engine_type;
|
||||
INSERT INTO mysqltest1.t1 SET f1= 0;
|
||||
eval CREATE TABLE mysqltest1.t2 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t3 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t4 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t5 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t6 (f1 BIGINT) ENGINE=$engine_type;
|
||||
CREATE INDEX my_idx6 ON mysqltest1.t6(f1);
|
||||
eval CREATE TABLE mysqltest1.t7 (f1 BIGINT) ENGINE=$engine_type;
|
||||
INSERT INTO mysqltest1.t7 SET f1= 0;
|
||||
eval CREATE TABLE mysqltest1.t8 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t9 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t10 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t11 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t12 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t13 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t14 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t15 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t16 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t17 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t18 (f1 BIGINT) ENGINE=$engine_type;
|
||||
eval CREATE TABLE mysqltest1.t19 (f1 BIGINT) ENGINE=$engine_type;
|
||||
CREATE TEMPORARY TABLE mysqltest1.t23 (f1 BIGINT);
|
||||
|
||||
#
|
||||
# 3. master sessions: never do AUTOCOMMIT
|
||||
# slave sessions: never do AUTOCOMMIT
|
||||
#
|
||||
SET AUTOCOMMIT = 0;
|
||||
use mysqltest1;
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SET AUTOCOMMIT = 0;
|
||||
use mysqltest1;
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
|
||||
# We don't want to abort the whole test if one statement sent
|
||||
# to the server gets an error, because the following test
|
||||
# sequences are nearly independend of the previous statements.
|
||||
--disable_abort_on_error
|
||||
|
||||
###############################################################
|
||||
# Banal case: (explicit) COMMIT and ROLLBACK
|
||||
# Just for checking if the test sequence is usable
|
||||
###############################################################
|
||||
|
||||
let $my_stmt= COMMIT;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
|
||||
let $my_stmt= ROLLBACK;
|
||||
let $my_master_commit= false;
|
||||
let $my_slave_commit= false;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
|
||||
###############################################################
|
||||
# Cases with commands very similar to COMMIT
|
||||
###############################################################
|
||||
|
||||
let $my_stmt= SET AUTOCOMMIT=1;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SET AUTOCOMMIT=0;
|
||||
|
||||
let $my_stmt= START TRANSACTION;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
|
||||
let $my_stmt= BEGIN;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
|
||||
###############################################################
|
||||
# Cases with (BASE) TABLES and (UPDATABLE) VIEWs
|
||||
###############################################################
|
||||
|
||||
let $my_stmt= DROP TABLE mysqltest1.t2;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW TABLES LIKE 't2';
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW TABLES LIKE 't2';
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
# Note: Since this test is executed with a skip-innodb slave, the
|
||||
# slave incorrectly commits the insert. One can *not* have InnoDB on
|
||||
# master and MyISAM on slave and expect that a transactional rollback
|
||||
# after a CREATE TEMPORARY TABLE should work correctly on the slave.
|
||||
# For this to work properly the handler on the slave must be able to
|
||||
# handle transactions (e.g. InnoDB or NDB).
|
||||
let $my_stmt= DROP TEMPORARY TABLE mysqltest1.t23;
|
||||
let $my_master_commit= false;
|
||||
let $my_slave_commit= false;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW TABLES LIKE 't23';
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW TABLES LIKE 't23';
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
let $my_stmt= RENAME TABLE mysqltest1.t3 to mysqltest1.t20;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW TABLES LIKE 't20';
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW TABLES LIKE 't20';
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
let $my_stmt= ALTER TABLE mysqltest1.t4 ADD column f2 BIGINT;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
describe mysqltest1.t4;
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
describe mysqltest1.t4;
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
let $my_stmt= CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE=;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq2.inc
|
||||
|
||||
# Note: Since this test is executed with a skip-innodb slave, the
|
||||
# slave incorrectly commits the insert. One can *not* have InnoDB on
|
||||
# master and MyISAM on slave and expect that a transactional rollback
|
||||
# after a CREATE TEMPORARY TABLE should work correctly on the slave.
|
||||
# For this to work properly the handler on the slave must be able to
|
||||
# handle transactions (e.g. InnoDB or NDB).
|
||||
let $engine='';
|
||||
let $eng_type='';
|
||||
|
||||
let $my_stmt= CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT);
|
||||
let $my_master_commit= false;
|
||||
let $my_slave_commit= false;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
|
||||
let $my_stmt= TRUNCATE TABLE mysqltest1.t7;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SELECT * FROM mysqltest1.t7;
|
||||
--echo -------- switch to slave --------
|
||||
sync_slave_with_master;
|
||||
SELECT * FROM mysqltest1.t7;
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
|
||||
###############################################################
|
||||
# Cases with LOCK/UNLOCK
|
||||
###############################################################
|
||||
|
||||
# MySQL insists in locking mysqltest1.t1, because rpl_stmt_seq performs an
|
||||
# INSERT into this table.
|
||||
let $my_stmt= LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
UNLOCK TABLES;
|
||||
|
||||
# No prior locking
|
||||
let $my_stmt= UNLOCK TABLES;
|
||||
let $my_master_commit= false;
|
||||
let $my_slave_commit= false;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
|
||||
# With prior read locking
|
||||
# Note that this test generate an error since the rpl_stmt_seq.inc
|
||||
# tries to insert into t1.
|
||||
LOCK TABLES mysqltest1.t1 READ;
|
||||
let $my_stmt= UNLOCK TABLES;
|
||||
let $my_master_commit= false;
|
||||
let $my_slave_commit= false;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
|
||||
# With prior write locking
|
||||
LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ;
|
||||
let $my_stmt= UNLOCK TABLES;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
|
||||
###############################################################
|
||||
# Cases with INDEXES
|
||||
###############################################################
|
||||
|
||||
let $my_stmt= DROP INDEX my_idx6 ON mysqltest1.t6;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW INDEX FROM mysqltest1.t6;
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW INDEX FROM mysqltest1.t6;
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
let $my_stmt= CREATE INDEX my_idx5 ON mysqltest1.t5(f1);
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW INDEX FROM mysqltest1.t5;
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW INDEX FROM mysqltest1.t5;
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
###############################################################
|
||||
# Cases with DATABASE
|
||||
###############################################################
|
||||
|
||||
let $my_stmt= DROP DATABASE mysqltest2;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW DATABASES LIKE "mysqltest2";
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW DATABASES LIKE "mysqltest2";
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
let $my_stmt= CREATE DATABASE mysqltest3;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW DATABASES LIKE "mysqltest3";
|
||||
connection slave;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave --------' as "";
|
||||
--enable_query_log
|
||||
SHOW DATABASES LIKE "mysqltest3";
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
###############################################################
|
||||
# Cases with stored procedures
|
||||
###############################################################
|
||||
let $my_stmt= CREATE PROCEDURE p1() READS SQL DATA SELECT "this is p1";
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
--vertical_results
|
||||
--replace_column 5 # 6 #
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
connection slave;
|
||||
--replace_column 5 # 6 #
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
connection master;
|
||||
--horizontal_results
|
||||
|
||||
let $my_stmt= ALTER PROCEDURE p1 COMMENT "I have been altered";
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
--vertical_results
|
||||
--replace_column 5 # 6 #
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
connection slave;
|
||||
--replace_column 5 # 6 #
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
connection master;
|
||||
--horizontal_results
|
||||
|
||||
let $my_stmt= DROP PROCEDURE p1;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
--vertical_results
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
connection slave;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
connection master;
|
||||
--horizontal_results
|
||||
|
||||
###############################################################
|
||||
# Cases with VIEWs
|
||||
###############################################################
|
||||
let $my_stmt= CREATE OR REPLACE VIEW v1 as select * from t1;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW CREATE VIEW v1;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
connection slave;
|
||||
SHOW CREATE VIEW v1;
|
||||
connection master;
|
||||
|
||||
let $my_stmt= ALTER VIEW v1 AS select f1 from t1;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW CREATE VIEW v1;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
connection slave;
|
||||
SHOW CREATE VIEW v1;
|
||||
connection master;
|
||||
|
||||
let $my_stmt= DROP VIEW IF EXISTS v1;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
--error 1146
|
||||
SHOW CREATE VIEW v1;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
connection slave;
|
||||
--error 1146
|
||||
SHOW CREATE VIEW v1;
|
||||
connection master;
|
||||
|
||||
###############################################################
|
||||
# Cases with TRIGGERs
|
||||
###############################################################
|
||||
let $my_stmt= CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a:=1;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW TRIGGERS;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
connection slave;
|
||||
SHOW TRIGGERS;
|
||||
connection master;
|
||||
|
||||
let $my_stmt= DROP TRIGGER trg1;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SHOW TRIGGERS;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
connection slave;
|
||||
SHOW TRIGGERS;
|
||||
connection master;
|
||||
|
||||
###############################################################
|
||||
# Cases with USERs
|
||||
###############################################################
|
||||
let $my_stmt= CREATE USER user1@localhost;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SELECT user FROM mysql.user WHERE user = 'user1';
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
connection slave;
|
||||
SELECT user FROM mysql.user WHERE user = 'user1';
|
||||
connection master;
|
||||
|
||||
let $my_stmt= RENAME USER user1@localhost TO rename1@localhost;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
connection slave;
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
connection master;
|
||||
|
||||
let $my_stmt= DROP USER rename1@localhost;
|
||||
let $my_master_commit= true;
|
||||
let $my_slave_commit= true;
|
||||
--source include/rpl_stmt_seq.inc
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to slave -------' as "";
|
||||
--enable_query_log
|
||||
connection slave;
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
connection master;
|
||||
|
||||
###############################################################
|
||||
# Cleanup
|
||||
###############################################################
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS mysqltest1;
|
||||
DROP DATABASE IF EXISTS mysqltest2;
|
||||
DROP DATABASE IF EXISTS mysqltest3;
|
||||
--enable_warnings
|
||||
|
||||
-- source include/master-slave-end.inc
|
||||
|
@ -15,9 +15,7 @@ SELECT * FROM t1 ORDER BY a;
|
||||
sync_slave_with_master;
|
||||
|
||||
connection master;
|
||||
--replace_result $VERSION VERSION
|
||||
--replace_regex /table_id: [0-9]+/table_id: #/
|
||||
show binlog events;
|
||||
source include/show_binlog_events.inc;
|
||||
sync_slave_with_master;
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
connection master;
|
||||
|
@ -37,6 +37,4 @@ SELECT * FROM t1;
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
let $SERVER_VERSION=`select version()`;
|
||||
--replace_result $SERVER_VERSION SERVER_VERSION
|
||||
--replace_regex /\/\* xid=[0-9]+ \*\//\/* xid= *\// /table_id: [0-9]+/table_id: #/
|
||||
SHOW BINLOG EVENTS;
|
||||
source include/show_binlog_events.inc;
|
||||
|
@ -15,8 +15,7 @@ drop table if exists t1,t2;
|
||||
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,
|
||||
`ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=$engine_type DEFAULT CHARSET=utf8;
|
||||
|
||||
@ -35,7 +34,7 @@ SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name
|
||||
--echo "in the master"
|
||||
--enable_info
|
||||
--replace_column 3 TIMESTAMP
|
||||
SELECT * FROM t1;
|
||||
SELECT * FROM t1 WHERE c = 'from justonce' OR c = 'manually' ORDER BY id;
|
||||
--disable_info
|
||||
|
||||
sync_slave_with_master;
|
||||
@ -43,7 +42,7 @@ sync_slave_with_master;
|
||||
--echo "in the slave"
|
||||
--enable_info
|
||||
--replace_column 3 TIMESTAMP
|
||||
SELECT * FROM t1;
|
||||
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';
|
||||
@ -99,6 +98,21 @@ 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;
|
||||
|
@ -1,30 +1,51 @@
|
||||
# include/rpl_stmt_seq.inc
|
||||
#
|
||||
# Please be very careful when editing this routine, because the handling of
|
||||
# the $variables is extreme sensitive.
|
||||
#
|
||||
################### include/rpl_stmt_seq.inc ###########################
|
||||
# #
|
||||
# Check if a given SQL statement (->$my_stmt) / AUTOCOMMIT mode / #
|
||||
# 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. #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
###############################################################
|
||||
# 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
|
||||
# Last update:
|
||||
# 2007-02-12 ML Replace comments via SQL by "--echo ..."
|
||||
#
|
||||
|
||||
let $VERSION=`select version()`;
|
||||
|
||||
--disable_query_log
|
||||
# SELECT '######## new test sequence ########' as "";
|
||||
eval SELECT CONCAT('######## ','$my_stmt',' ########') as "";
|
||||
--enable_query_log
|
||||
--echo
|
||||
--echo ######## $my_stmt ########
|
||||
|
||||
|
||||
###############################################################
|
||||
@ -49,11 +70,10 @@ let $_log_num_s= `select @aux`;
|
||||
###############################################################
|
||||
# INSERT
|
||||
###############################################################
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
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.
|
||||
# Maybe it would be smarter to use a table with an autoincrement column.
|
||||
let $MAX= `SELECT MAX(f1) FROM t1` ;
|
||||
eval INSERT INTO t1 SET f1= $MAX + 1;
|
||||
# results before DDL(to be tested)
|
||||
@ -66,10 +86,9 @@ eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
|
||||
}
|
||||
sync_slave_with_master;
|
||||
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
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)
|
||||
@ -82,10 +101,9 @@ eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s';
|
||||
###############################################################
|
||||
# command to be tested
|
||||
###############################################################
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
eval $my_stmt;
|
||||
# Devaluate $my_stmt, to detect script bugs
|
||||
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';
|
||||
}
|
||||
sync_slave_with_master;
|
||||
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
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)
|
||||
@ -115,10 +132,9 @@ eval SHOW BINLOG EVENTS IN 'slave-bin.$_log_num_s';
|
||||
###############################################################
|
||||
# ROLLBACK
|
||||
###############################################################
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
ROLLBACK;
|
||||
# results after final ROLLBACK
|
||||
SELECT MAX(f1) FROM t1;
|
||||
@ -140,10 +156,9 @@ eval SHOW BINLOG EVENTS IN 'master-bin.$_log_num_s';
|
||||
}
|
||||
sync_slave_with_master;
|
||||
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
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
|
||||
@ -172,19 +187,17 @@ if ($manipulate)
|
||||
# - flush the master and the slave log
|
||||
# ---> both start to write into new logs with incremented number
|
||||
# - increment $_log_num_n
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
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;
|
||||
|
||||
--echo
|
||||
--echo -------- switch to slave --------
|
||||
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.
|
||||
@ -195,7 +208,6 @@ flush logs;
|
||||
inc $_log_num_n;
|
||||
}
|
||||
|
||||
--echo
|
||||
--echo -------- switch to master -------
|
||||
connection master;
|
||||
--disable_query_log
|
||||
SELECT '-------- switch to master -------' as "";
|
||||
--enable_query_log
|
||||
|
@ -1,201 +0,0 @@
|
||||
# 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
|
@ -45,6 +45,7 @@ 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
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
--let $binlog_start=106
|
||||
--replace_result $binlog_start <binlog_start>
|
||||
--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
|
||||
|
@ -8,18 +8,18 @@ commit;
|
||||
begin;
|
||||
insert t2 values (5);
|
||||
commit;
|
||||
source include/show_binlog_events.inc;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (a int) engine=innodb
|
||||
master-bin.000001 # Query 1 # use `test`; create table t2 (a int) engine=innodb
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=innodb
|
||||
master-bin.000001 # Query # # use `test`; create table t2 (a int) engine=innodb
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
drop table t1,t2;
|
||||
reset master;
|
||||
create table t1 (n int) engine=innodb;
|
||||
@ -254,58 +254,58 @@ INSERT INTO user SET host='localhost', user='@#@', password=password('Just a tes
|
||||
UPDATE user SET password=password('Another password') WHERE host='localhost' AND user='@#@';
|
||||
DELETE FROM user WHERE host='localhost' AND user='@#@';
|
||||
use test;
|
||||
source include/show_binlog_events.inc;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (id tinyint auto_increment primary key)
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE TABLE IF NOT EXISTS `t2` (
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (id tinyint auto_increment primary key)
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; drop table t1
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (a int)
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t2` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
)
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE TABLE IF NOT EXISTS `t3` (
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t3` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
)
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysql.user)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysql.user)
|
||||
master-bin.000001 # Update_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysql.user)
|
||||
master-bin.000001 # Delete_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysql.user)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysql.user)
|
||||
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysql.user)
|
||||
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
|
||||
drop table t1,t2,t3,tt1;
|
||||
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
|
||||
set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1;
|
||||
insert delayed into t1 values (207);
|
||||
insert delayed into t1 values (null);
|
||||
insert delayed into t1 values (300);
|
||||
source include/show_binlog_events.inc;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (id tinyint auto_increment primary key)
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (a int)
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE TABLE IF NOT EXISTS `t2` (
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (id tinyint auto_increment primary key)
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; drop table t1
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (a int)
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t2` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
)
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE TABLE IF NOT EXISTS `t3` (
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t3` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
)
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysql.user)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysql.user)
|
||||
master-bin.000001 # Update_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysql.user)
|
||||
master-bin.000001 # Delete_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; DROP TABLE `t1`,`t2`,`t3` /* generated by server */
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysql.user)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysql.user)
|
||||
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysql.user)
|
||||
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2`,`t3` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
insert delayed into t1 values (null),(null),(null),(null);
|
||||
insert delayed into t1 values (null),(null),(400),(null);
|
||||
11 == 11
|
||||
@ -328,12 +328,12 @@ drop table if exists t3;
|
||||
create table t3 (a int(11) NOT NULL AUTO_INCREMENT, b text, PRIMARY KEY (a) ) engine=innodb;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 342
|
||||
master-bin.000001 346
|
||||
insert into t3(b) values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
|
||||
insert into t3(b) values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
|
||||
insert into t3(b) values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
|
||||
insert into t3(b) values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
|
||||
show master status /* must show new binlog index after rotating */;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000002 102
|
||||
master-bin.000002 106
|
||||
drop table t3;
|
||||
|
@ -104,23 +104,22 @@ select * from t2;
|
||||
a
|
||||
select * from t3;
|
||||
a
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 1 # use `test`; drop table t1,t2
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (a int) engine=blackhole
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; create table t2 (a varchar(200)) engine=blackhole
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; alter table t1 add b int
|
||||
master-bin.000001 # Query 1 # use `test`; alter table t1 drop b
|
||||
master-bin.000001 # Query 1 # use `test`; create table t3 like t1
|
||||
master-bin.000001 # Query # # use `test`; drop table t1,t2
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; create table t2 (a varchar(200)) engine=blackhole
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; alter table t1 add b int
|
||||
master-bin.000001 # Query # # use `test`; alter table t1 drop b
|
||||
master-bin.000001 # Query # # use `test`; create table t3 like t1
|
||||
drop table t1,t2,t3;
|
||||
CREATE TABLE t1(a INT, b INT) ENGINE=BLACKHOLE;
|
||||
DELETE FROM t1 WHERE a=10;
|
||||
@ -143,12 +142,11 @@ start transaction;
|
||||
insert into t1 values(2);
|
||||
rollback;
|
||||
set autocommit=1;
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 1 # use `test`; create table t1 (a int) engine=blackhole
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; COMMIT
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; COMMIT
|
||||
drop table if exists t1;
|
||||
|
@ -3,10 +3,10 @@ create table t2 (c char(30)) charset=ucs2;
|
||||
set @v=convert('abc' using ucs2);
|
||||
reset master;
|
||||
insert into t2 values (@v);
|
||||
show binlog events from 106;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 106 Table_map 1 145 table_id: # (test.t2)
|
||||
master-bin.000001 145 Write_rows 1 235 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
flush logs;
|
||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
|
@ -11,8 +11,7 @@ get_lock("a",10)
|
||||
select get_lock("a",10);
|
||||
get_lock("a",10)
|
||||
1
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 1 # create database `drop-temp+table-test`
|
||||
master-bin.000001 # Query # # create database `drop-temp+table-test`
|
||||
drop database `drop-temp+table-test`;
|
||||
|
@ -6,7 +6,7 @@ insert into t2 values(1),(2);
|
||||
reset master;
|
||||
insert into t1 select * from t2;
|
||||
ERROR 23000: Duplicate entry '2' for key 'a'
|
||||
source include/show_binlog_events.inc;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
@ -20,6 +20,6 @@ insert into t1 values(1),(1);
|
||||
reset master;
|
||||
create table t2(unique(a)) select a from t1;
|
||||
ERROR 23000: Duplicate entry '1' for key 'a'
|
||||
source include/show_binlog_events.inc;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
drop table t1;
|
||||
|
@ -8,12 +8,12 @@ insert into t2 select * from t1;
|
||||
commit;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -25,12 +25,12 @@ Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; ROLLBACK
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; ROLLBACK
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -45,16 +45,16 @@ Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
commit;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; savepoint my_savepoint
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; rollback to savepoint my_savepoint
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; savepoint my_savepoint
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; rollback to savepoint my_savepoint
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -74,18 +74,18 @@ a
|
||||
7
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; savepoint my_savepoint
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; rollback to savepoint my_savepoint
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; savepoint my_savepoint
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; rollback to savepoint my_savepoint
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -100,12 +100,12 @@ get_lock("a",10)
|
||||
1
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; ROLLBACK
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; ROLLBACK
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -113,11 +113,11 @@ insert into t1 values(9);
|
||||
insert into t2 select * from t1;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -126,24 +126,24 @@ begin;
|
||||
insert into t2 select * from t1;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
insert into t1 values(11);
|
||||
commit;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
alter table t2 engine=INNODB;
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
@ -154,12 +154,12 @@ insert into t2 select * from t1;
|
||||
commit;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -181,10 +181,10 @@ rollback to savepoint my_savepoint;
|
||||
commit;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -202,12 +202,12 @@ a
|
||||
18
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
alter table t2 engine=MyISAM;
|
||||
@ -254,28 +254,28 @@ get_lock("lock1",60)
|
||||
1
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Delete_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; alter table t2 engine=MyISAM
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; drop table t1,t2
|
||||
master-bin.000001 # Query 1 # use `test`; create table t0 (n int)
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t0)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t0)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; create table t2 (n int) engine=innodb
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; alter table t2 engine=MyISAM
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; drop table t1,t2
|
||||
master-bin.000001 # Query # # use `test`; create table t0 (n int)
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t0)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t0)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; create table t2 (n int) engine=innodb
|
||||
do release_lock("lock1");
|
||||
drop table t0,t2;
|
||||
set autocommit=0;
|
||||
@ -357,37 +357,37 @@ a b
|
||||
DROP TABLE t1,t2;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; DROP TABLE if exists t2
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; DROP TABLE IF EXISTS t2
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; TRUNCATE table t2
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; DROP TABLE t2
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; TRUNCATE table t2
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; DROP TABLE `t1` /* generated by server */
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE if exists t2
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t2
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; TRUNCATE table t2
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t2
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; TRUNCATE table t2
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
|
||||
reset master;
|
||||
create table t1 (a int) engine=innodb;
|
||||
create table t2 (a int) engine=myisam;
|
||||
|
@ -26,10 +26,10 @@ master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=innodb
|
||||
master-bin.000001 # Query # # use `test`; create table t2 (a int) engine=innodb
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert t1 values (5)
|
||||
master-bin.000001 # Xid # # COMMIT /* xid=17 */
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert t2 values (5)
|
||||
master-bin.000001 # Xid # # COMMIT /* xid=20 */
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
drop table t1,t2;
|
||||
reset master;
|
||||
create table t1 (n int) engine=innodb;
|
||||
|
@ -104,24 +104,23 @@ select * from t2;
|
||||
a
|
||||
select * from t3;
|
||||
a
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 1 # use `test`; drop table t1,t2
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (a int) engine=blackhole
|
||||
master-bin.000001 # Query 1 # use `test`; delete from t1 where a=10
|
||||
master-bin.000001 # Query 1 # use `test`; update t1 set a=11 where a=15
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(1)
|
||||
master-bin.000001 # Query 1 # use `test`; insert ignore into t1 values(1)
|
||||
master-bin.000001 # Query 1 # use `test`; replace into t1 values(100)
|
||||
master-bin.000001 # Query 1 # use `test`; create table t2 (a varchar(200)) engine=blackhole
|
||||
master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581
|
||||
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 1 # use `test`; alter table t1 add b int
|
||||
master-bin.000001 # Query 1 # use `test`; alter table t1 drop b
|
||||
master-bin.000001 # Query 1 # use `test`; create table t3 like t1
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t3
|
||||
master-bin.000001 # Query 1 # use `test`; replace into t1 select * from t3
|
||||
master-bin.000001 # Query # # use `test`; drop table t1,t2
|
||||
master-bin.000001 # Query # # 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 # # 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 # # use `test`; insert ignore into t1 values(1)
|
||||
master-bin.000001 # Query # # use `test`; replace into t1 values(100)
|
||||
master-bin.000001 # Query # # 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 # Execute_load_query # # 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 # # use `test`; alter table t1 drop b
|
||||
master-bin.000001 # Query # # use `test`; create table t3 like t1
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 select * from t3
|
||||
master-bin.000001 # Query # # use `test`; replace into t1 select * from t3
|
||||
drop table t1,t2,t3;
|
||||
CREATE TABLE t1(a INT, b INT) ENGINE=BLACKHOLE;
|
||||
DELETE FROM t1 WHERE a=10;
|
||||
@ -144,11 +143,10 @@ start transaction;
|
||||
insert into t1 values(2);
|
||||
rollback;
|
||||
set autocommit=1;
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 1 # use `test`; create table t1 (a int) engine=blackhole
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(1)
|
||||
master-bin.000001 # Query 1 # use `test`; COMMIT
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(1)
|
||||
master-bin.000001 # Query # # use `test`; COMMIT
|
||||
drop table if exists t1;
|
||||
|
@ -11,12 +11,11 @@ get_lock("a",10)
|
||||
select get_lock("a",10);
|
||||
get_lock("a",10)
|
||||
1
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 1 # create database `drop-temp+table-test`
|
||||
master-bin.000001 # Query 1 # use `drop-temp+table-test`; create temporary table shortn1 (a int)
|
||||
master-bin.000001 # Query 1 # 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 shortn2 (a int)
|
||||
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`
|
||||
master-bin.000001 # Query # # 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 # # 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 # # 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`;
|
||||
|
@ -6,10 +6,9 @@ insert into t2 values(1),(2);
|
||||
reset master;
|
||||
insert into t1 select * from t2;
|
||||
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
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 200 use `test`; insert into t1 select * from t2
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 select * from t2
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
@ -20,7 +19,6 @@ insert into t1 values(1),(1);
|
||||
reset master;
|
||||
create table t2(unique(a)) select a from t1;
|
||||
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
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: VERSION, Binlog ver: 4
|
||||
drop table t1;
|
||||
|
@ -8,10 +8,10 @@ insert into t2 select * from t1;
|
||||
commit;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(1)
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(1)
|
||||
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -23,10 +23,10 @@ Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(2)
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query 1 # use `test`; ROLLBACK
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(2)
|
||||
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query # # use `test`; ROLLBACK
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -41,13 +41,13 @@ Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
commit;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(3)
|
||||
master-bin.000001 # Query 1 # use `test`; savepoint my_savepoint
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(4)
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query 1 # use `test`; rollback to savepoint my_savepoint
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(3)
|
||||
master-bin.000001 # Query # # use `test`; savepoint my_savepoint
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(4)
|
||||
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query # # use `test`; rollback to savepoint my_savepoint
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -67,14 +67,14 @@ a
|
||||
7
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(5)
|
||||
master-bin.000001 # Query 1 # use `test`; savepoint my_savepoint
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(6)
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query 1 # use `test`; rollback to savepoint my_savepoint
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(7)
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(5)
|
||||
master-bin.000001 # Query # # use `test`; savepoint my_savepoint
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(6)
|
||||
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query # # use `test`; rollback to savepoint my_savepoint
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(7)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -89,10 +89,10 @@ get_lock("a",10)
|
||||
1
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(8)
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query 1 # use `test`; ROLLBACK
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(8)
|
||||
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query # # use `test`; ROLLBACK
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -100,9 +100,9 @@ insert into t1 values(9);
|
||||
insert into t2 select * from t1;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(9)
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(9)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -111,19 +111,19 @@ begin;
|
||||
insert into t2 select * from t1;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(10)
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(10)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
|
||||
insert into t1 values(11);
|
||||
commit;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(10)
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(11)
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(10)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(11)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
alter table t2 engine=INNODB;
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
@ -134,10 +134,10 @@ insert into t2 select * from t1;
|
||||
commit;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(12)
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(12)
|
||||
master-bin.000001 # Query # # use `test`; insert into t2 select * from t1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -159,9 +159,9 @@ rollback to savepoint my_savepoint;
|
||||
commit;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(14)
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(14)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -177,12 +177,12 @@ select a from t1 order by a;
|
||||
a
|
||||
16
|
||||
18
|
||||
show binlog events from <binlog_start>s;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(16)
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(18)
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(16)
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(18)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
alter table t2 engine=MyISAM;
|
||||
@ -229,29 +229,29 @@ get_lock("lock1",60)
|
||||
1
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(16)
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(18)
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; delete from t1
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; delete from t2
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; alter table t2 engine=MyISAM
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values (1)
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t2 values (20)
|
||||
master-bin.000001 # Query 1 # use `test`; drop table t1,t2
|
||||
master-bin.000001 # Query 1 # use `test`; create temporary table ti (a int) engine=innodb
|
||||
master-bin.000001 # Query 1 # use `test`; insert into ti values(1)
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; create temporary table t1 (a int) engine=myisam
|
||||
master-bin.000001 # Query 1 # use `test`; insert t1 values (1)
|
||||
master-bin.000001 # Query 1 # use `test`; create table t0 (n int)
|
||||
master-bin.000001 # Query 1 # use `test`; insert t0 select * from t1
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t0 select GET_LOCK("lock1",null)
|
||||
master-bin.000001 # Query 1 # use `test`; create table t2 (n int) engine=innodb
|
||||
master-bin.000001 # Query 1 # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `test`.`t1`,`test`.`ti`
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(16)
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values(18)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; delete from t1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; delete from t2
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; alter table t2 engine=MyISAM
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values (1)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; insert into t2 values (20)
|
||||
master-bin.000001 # Query # # use `test`; drop table t1,t2
|
||||
master-bin.000001 # Query # # use `test`; create temporary table ti (a int) engine=innodb
|
||||
master-bin.000001 # Query # # use `test`; insert into ti values(1)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; create temporary table t1 (a int) engine=myisam
|
||||
master-bin.000001 # Query # # use `test`; insert t1 values (1)
|
||||
master-bin.000001 # Query # # use `test`; create table t0 (n int)
|
||||
master-bin.000001 # Query # # use `test`; insert t0 select * from t1
|
||||
master-bin.000001 # Query # # use `test`; insert into t0 select GET_LOCK("lock1",null)
|
||||
master-bin.000001 # Query # # use `test`; create table t2 (n int) engine=innodb
|
||||
master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `test`.`t1`,`test`.`ti`
|
||||
do release_lock("lock1");
|
||||
drop table t0,t2;
|
||||
set autocommit=0;
|
||||
@ -333,28 +333,28 @@ a b
|
||||
DROP TABLE t1,t2;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 values (1,1),(1,2)
|
||||
master-bin.000001 # Query 1 # use `test`; DROP TABLE if exists t2
|
||||
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 values (3,3)
|
||||
master-bin.000001 # Query 1 # use `test`; DROP TABLE IF EXISTS t2
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb
|
||||
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES (4,4)
|
||||
master-bin.000001 # Query 1 # use `test`; TRUNCATE table t2
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES (5,5)
|
||||
master-bin.000001 # Query 1 # use `test`; DROP TABLE t2
|
||||
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 values (6,6)
|
||||
master-bin.000001 # Query 1 # use `test`; CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a)) engine=innodb
|
||||
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 values (7,7)
|
||||
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 values (8,8)
|
||||
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 values (9,9)
|
||||
master-bin.000001 # Query 1 # use `test`; TRUNCATE table t2
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 values (10,10)
|
||||
master-bin.000001 # Query 1 # use `test`; BEGIN
|
||||
master-bin.000001 # Query 1 # use `test`; INSERT INTO t2 values (100,100)
|
||||
master-bin.000001 # Xid 1 # COMMIT /* xid= */
|
||||
master-bin.000001 # Query 1 # use `test`; DROP TABLE t1,t2
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (1,1),(1,2)
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE if exists t2
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (3,3)
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t2
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4,4)
|
||||
master-bin.000001 # Query # # use `test`; TRUNCATE table t2
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (5,5)
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t2
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (6,6)
|
||||
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a)) engine=innodb
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (7,7)
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (8,8)
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (9,9)
|
||||
master-bin.000001 # Query # # use `test`; TRUNCATE table t2
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (10,10)
|
||||
master-bin.000001 # Query # # use `test`; BEGIN
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t2 values (100,100)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1,t2
|
||||
reset master;
|
||||
create table t1 (a int) engine=innodb;
|
||||
create table t2 (a int) engine=myisam;
|
||||
|
@ -8,9 +8,9 @@ SET @var1= x'8300';
|
||||
EXECUTE stmt1 USING @var1;
|
||||
show binlog events from <binlog_start>;
|
||||
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 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(f1 blob)
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
SELECT HEX(f1) FROM t1;
|
||||
HEX(f1)
|
||||
8300
|
||||
|
@ -839,6 +839,24 @@ lily
|
||||
river
|
||||
drop table t1;
|
||||
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);
|
||||
select data_type, character_octet_length, character_maximum_length
|
||||
from information_schema.columns where table_name='t1';
|
||||
|
@ -854,6 +854,18 @@ select * from t1 where soundex(a) = soundex('test');
|
||||
id a
|
||||
1 Test
|
||||
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';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
|
@ -214,3 +214,12 @@ select count(*) from t1;
|
||||
count(*)
|
||||
0
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
DELETE FROM t1 ORDER BY x;
|
||||
ERROR 42S22: Unknown column 'x' in 'order clause'
|
||||
DELETE FROM t1 ORDER BY t2.x;
|
||||
ERROR 42S22: Unknown column 't2.x' in 'order clause'
|
||||
DELETE FROM t1 ORDER BY (SELECT x);
|
||||
ERROR 42S22: Unknown column 'x' in 'field list'
|
||||
DROP TABLE t1;
|
||||
|
@ -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;
|
||||
IF(LAST_EXECUTED-ENDS < 3, 'OK', 'ERROR')
|
||||
OK
|
||||
DROP EVENT start_n_end;
|
||||
DROP EVENT IF EXISTS events_test.start_n_end;
|
||||
"Already dropped because ended. Therefore an error."
|
||||
DROP EVENT only_one_time;
|
||||
ERROR HY000: Unknown event 'only_one_time'
|
||||
|
@ -20,6 +20,14 @@ CREATE TABLE first_db.t1 (
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
DEFAULT CHARSET=latin1;
|
||||
DROP TABLE IF EXISTS first_db.t2;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't2'
|
||||
CREATE TABLE first_db.t2 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
DEFAULT CHARSET=latin1;
|
||||
use second_db;
|
||||
DROP TABLE IF EXISTS second_db.t1;
|
||||
Warnings:
|
||||
@ -29,6 +37,14 @@ CREATE TABLE second_db.t1 (
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
DEFAULT CHARSET=latin1;
|
||||
DROP TABLE IF EXISTS second_db.t2;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't2'
|
||||
CREATE TABLE second_db.t2 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
DEFAULT CHARSET=latin1;
|
||||
drop server if exists 'server_one';
|
||||
create server 'server_one' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
@ -60,10 +76,10 @@ CREATE TABLE federated.old (
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/first_db/t1';
|
||||
INSERT INTO federated.old (id, name) values (1, 'federated.old url');
|
||||
INSERT INTO federated.old (id, name) values (1, 'federated.old-> first_db.t1, url format');
|
||||
SELECT * FROM federated.old;
|
||||
id name
|
||||
1 federated.old url
|
||||
1 federated.old-> first_db.t1, url format
|
||||
DROP TABLE IF EXISTS federated.old2;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'old2'
|
||||
@ -72,8 +88,37 @@ CREATE TABLE federated.old2 (
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/first_db/t2';
|
||||
INSERT INTO federated.old2 (id, name) values (1, 'federated.old2-> first_db.t2, url format');
|
||||
SELECT * FROM federated.old2;
|
||||
id name
|
||||
1 federated.old2-> first_db.t2, url format
|
||||
DROP TABLE IF EXISTS federated.urldb2t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'urldb2t1'
|
||||
CREATE TABLE federated.urldb2t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/second_db/t1';
|
||||
INSERT INTO federated.old2 (id, name) values (1, 'federated.old2 url');
|
||||
INSERT INTO federated.urldb2t1 (id, name) values (1, 'federated.urldb2t1 -> second_db.t1, url format');
|
||||
SELECT * FROM federated.urldb2t1;
|
||||
id name
|
||||
1 federated.urldb2t1 -> second_db.t1, url format
|
||||
DROP TABLE IF EXISTS federated.urldb2t2;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'urldb2t2'
|
||||
CREATE TABLE federated.urldb2t2 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/second_db/t2';
|
||||
INSERT INTO federated.urldb2t2 (id, name) values (1, 'federated.urldb2t2 -> second_db.t2, url format');
|
||||
SELECT * FROM federated.urldb2t2;
|
||||
id name
|
||||
1 federated.urldb2t2 -> second_db.t2, url format
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1'
|
||||
@ -83,18 +128,38 @@ CREATE TABLE federated.t1 (
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='server_one';
|
||||
INSERT INTO federated.t1 (id, name) values (1, 'server_one, new scheme');
|
||||
INSERT INTO federated.t1 (id, name) values (1, 'server_one, new scheme, first_db.t1');
|
||||
SELECT * FROM federated.t1;
|
||||
id name
|
||||
1 federated.old url
|
||||
1 server_one, new scheme
|
||||
1 federated.old-> first_db.t1, url format
|
||||
1 server_one, new scheme, first_db.t1
|
||||
DROP TABLE IF EXISTS federated.whatever;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'whatever'
|
||||
CREATE TABLE federated.whatever (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='server_one/t1';
|
||||
INSERT INTO federated.whatever (id, name) values (1, 'server_one, new scheme, whatever, first_db.t1');
|
||||
SELECT * FROM federated.whatever;
|
||||
id name
|
||||
1 federated.old-> first_db.t1, url format
|
||||
1 server_one, new scheme, first_db.t1
|
||||
1 server_one, new scheme, whatever, first_db.t1
|
||||
ALTER SERVER 'server_one' options(DATABASE 'second_db');
|
||||
flush tables;
|
||||
INSERT INTO federated.t1 (id, name) values (1, 'server_two, new scheme');
|
||||
INSERT INTO federated.t1 (id, name) values (1, 'server_two, new scheme, second_db.t1');
|
||||
SELECT * FROM federated.t1;
|
||||
id name
|
||||
1 federated.old2 url
|
||||
1 server_two, new scheme
|
||||
1 federated.urldb2t1 -> second_db.t1, url format
|
||||
1 server_two, new scheme, second_db.t1
|
||||
INSERT INTO federated.whatever (id, name) values (1, 'server_two, new scheme, whatever, second_db.t1');
|
||||
SELECT * FROM federated.whatever;
|
||||
id name
|
||||
1 federated.urldb2t1 -> second_db.t1, url format
|
||||
1 server_two, new scheme, second_db.t1
|
||||
1 server_two, new scheme, whatever, second_db.t1
|
||||
drop table federated.t1;
|
||||
drop server 'server_one';
|
||||
drop server 'server_two';
|
||||
@ -104,6 +169,116 @@ drop table first_db.t1;
|
||||
drop table second_db.t1;
|
||||
drop database first_db;
|
||||
drop database second_db;
|
||||
create database db_legitimate;
|
||||
create database db_bogus;
|
||||
use db_legitimate;
|
||||
CREATE TABLE db_legitimate.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
);
|
||||
INSERT INTO db_legitimate.t1 VALUES ('1','this is legitimate');
|
||||
use db_bogus;
|
||||
CREATE TABLE db_bogus.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
;
|
||||
INSERT INTO db_bogus.t1 VALUES ('2','this is bogus');
|
||||
create server 's1' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
DATABASE 'db_legitimate',
|
||||
USER 'root',
|
||||
PASSWORD '',
|
||||
PORT SLAVE_PORT,
|
||||
SOCKET '',
|
||||
OWNER 'root');
|
||||
create user guest_select@localhost;
|
||||
grant select on federated.* to guest_select@localhost;
|
||||
create user guest_super@localhost;
|
||||
grant select,SUPER,RELOAD on *.* to guest_super@localhost;
|
||||
create user guest_usage@localhost;
|
||||
grant usage on *.* to guest_usage@localhost;
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
) ENGINE = FEDERATED CONNECTION = 's1';
|
||||
select * from federated.t1;
|
||||
id name
|
||||
1 this is legitimate
|
||||
alter server s1 options (database 'db_bogus');
|
||||
ERROR 42000: Access denied; you need the SUPER privilege for this operation
|
||||
flush tables;
|
||||
select * from federated.t1;
|
||||
id name
|
||||
1 this is legitimate
|
||||
alter server s1 options (database 'db_bogus');
|
||||
ERROR 42000: Access denied; you need the SUPER privilege for this operation
|
||||
flush tables;
|
||||
select * from federated.t1;
|
||||
id name
|
||||
1 this is legitimate
|
||||
alter server s1 options (database 'db_bogus');
|
||||
flush tables;
|
||||
select * from federated.t1;
|
||||
id name
|
||||
2 this is bogus
|
||||
drop server if exists 's1';
|
||||
ERROR 42000: Access denied; you need the SUPER privilege for this operation
|
||||
create server 's1' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
DATABASE 'db_legitimate',
|
||||
USER 'root',
|
||||
PASSWORD '',
|
||||
PORT SLAVE_PORT,
|
||||
SOCKET '',
|
||||
OWNER 'root');
|
||||
ERROR 42000: Access denied; you need the SUPER privilege for this operation
|
||||
drop server 's1';
|
||||
create server 's1' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
DATABASE 'db_legitimate',
|
||||
USER 'root',
|
||||
PASSWORD '',
|
||||
PORT SLAVE_PORT,
|
||||
SOCKET '',
|
||||
OWNER 'root');
|
||||
flush tables;
|
||||
select * from federated.t1;
|
||||
id name
|
||||
1 this is legitimate
|
||||
drop database db_legitimate;
|
||||
drop database db_bogus;
|
||||
drop user guest_super@localhost;
|
||||
drop user guest_usage@localhost;
|
||||
drop user guest_select@localhost;
|
||||
drop table federated.t1;
|
||||
drop server 's1';
|
||||
# End of 5.1 tests
|
||||
use test;
|
||||
create procedure p1 ()
|
||||
begin
|
||||
DECLARE v INT DEFAULT 0;
|
||||
DECLARE e INT DEFAULT 0;
|
||||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET e = e + 1;
|
||||
WHILE v < 10000 do
|
||||
CREATE SERVER s
|
||||
FOREIGN DATA WRAPPER mysql
|
||||
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
|
||||
ALTER SERVER s OPTIONS (USER 'Remote');
|
||||
DROP SERVER s;
|
||||
SET v = v + 1;
|
||||
END WHILE;
|
||||
SELECT e > 0;
|
||||
END//
|
||||
use test;
|
||||
call p1();
|
||||
call p1();
|
||||
e > 0
|
||||
1
|
||||
e > 0
|
||||
1
|
||||
drop procedure p1;
|
||||
drop server if exists s;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
|
@ -734,3 +734,13 @@ f2 group_concat(f1)
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1
|
||||
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 2
|
||||
drop table t1;
|
||||
CREATE TABLE t1(a TEXT, b CHAR(20));
|
||||
INSERT INTO t1 VALUES ("one.1","one.1"),("two.2","two.2"),("one.3","one.3");
|
||||
SELECT GROUP_CONCAT(DISTINCT UCASE(a)) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT UCASE(a))
|
||||
ONE.1,TWO.2,ONE.3
|
||||
SELECT GROUP_CONCAT(DISTINCT UCASE(b)) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT UCASE(b))
|
||||
ONE.1,TWO.2,ONE.3
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
|
@ -730,6 +730,12 @@ point(b, b) IS NULL linestring(b) IS NULL polygon(b) IS NULL multipoint(b) IS NU
|
||||
1 1 1 1 1 1 1
|
||||
0 1 1 1 1 1 1
|
||||
drop table t1;
|
||||
CREATE TABLE t1(a POINT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
NULL
|
||||
DROP TABLE t1;
|
||||
End of 4.1 tests
|
||||
create table t1 (s1 geometry not null,s2 char(100));
|
||||
create trigger t1_bu before update on t1 for each row set new.s1 = null;
|
||||
@ -764,6 +770,17 @@ create table t1 (g geometry not null);
|
||||
insert into t1 values(default);
|
||||
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a GEOMETRY);
|
||||
CREATE VIEW v1 AS SELECT GeomFromwkb(ASBINARY(a)) FROM t1;
|
||||
CREATE VIEW v2 AS SELECT a FROM t1;
|
||||
DESCRIBE v1;
|
||||
Field Type Null Key Default Extra
|
||||
GeomFromwkb(ASBINARY(a)) geometry YES NULL
|
||||
DESCRIBE v2;
|
||||
Field Type Null Key Default Extra
|
||||
a geometry YES NULL
|
||||
DROP VIEW v1,v2;
|
||||
DROP TABLE t1;
|
||||
create table t1 (f1 tinyint(1), f2 char(1), f3 varchar(1), f4 geometry, f5 datetime);
|
||||
create view v1 as select * from t1;
|
||||
desc v1;
|
||||
|
@ -1141,4 +1141,9 @@ EXPLAIN SELECT 1 FROM t2 WHERE a IN
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t2 index NULL a 5 NULL 4 Using where; Using index
|
||||
2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 256 Using where
|
||||
SHOW VARIABLES LIKE 'old';
|
||||
Variable_name Value
|
||||
old OFF
|
||||
SET @@old = off;
|
||||
ERROR HY000: Variable 'old' is a read only variable
|
||||
DROP TABLE t1, t2;
|
||||
|
@ -280,6 +280,33 @@ a
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
c1 CHAR(3),
|
||||
c2 INTEGER,
|
||||
KEY USING BTREE(c1),
|
||||
KEY USING BTREE(c2)
|
||||
) ENGINE= MEMORY;
|
||||
INSERT INTO t1 VALUES ('ABC',0), ('A',0), ('B',0), ('C',0);
|
||||
UPDATE t1 SET c2= c2 + 1 WHERE c1 = 'A';
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
ABC 0
|
||||
A 1
|
||||
B 0
|
||||
C 0
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
c1 ENUM('1', '2'),
|
||||
UNIQUE USING BTREE(c1)
|
||||
) ENGINE= MEMORY DEFAULT CHARSET= utf8;
|
||||
INSERT INTO t1 VALUES('1'), ('2');
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
c1 SET('1', '2'),
|
||||
UNIQUE USING BTREE(c1)
|
||||
) ENGINE= MEMORY DEFAULT CHARSET= utf8;
|
||||
INSERT INTO t1 VALUES('1'), ('2');
|
||||
DROP TABLE t1;
|
||||
End of 4.1 tests
|
||||
CREATE TABLE t1(val INT, KEY USING BTREE(val)) ENGINE=memory;
|
||||
INSERT INTO t1 VALUES(0);
|
||||
|
@ -258,3 +258,81 @@ SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
1
|
||||
DROP TABLE t1;
|
||||
SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO';
|
||||
CREATE TABLE `t1` (
|
||||
`id` int(11) PRIMARY KEY auto_increment,
|
||||
`f1` varchar(10) NOT NULL UNIQUE
|
||||
);
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test1")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test1")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
1
|
||||
SELECT * FROM t1;
|
||||
id f1
|
||||
1 test1
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test2")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
SELECT * FROM t1;
|
||||
id f1
|
||||
1 test1
|
||||
2 test2
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test2")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
2
|
||||
SELECT * FROM t1;
|
||||
id f1
|
||||
1 test1
|
||||
2 test2
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test3")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
3
|
||||
SELECT * FROM t1;
|
||||
id f1
|
||||
1 test1
|
||||
2 test2
|
||||
3 test3
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE `t1` (
|
||||
`id` int(11) PRIMARY KEY auto_increment,
|
||||
`f1` varchar(10) NOT NULL UNIQUE
|
||||
);
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test1")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
1
|
||||
SELECT * FROM t1;
|
||||
id f1
|
||||
1 test1
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test1"),("test4")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
2
|
||||
SELECT * FROM t1;
|
||||
id f1
|
||||
1 test1
|
||||
2 test4
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE `t1` (
|
||||
`id` int(11) PRIMARY KEY auto_increment,
|
||||
`f1` varchar(10) NOT NULL UNIQUE,
|
||||
tim1 timestamp default '2003-01-01 00:00:00' on update current_timestamp
|
||||
);
|
||||
INSERT INTO t1 (f1) VALUES ("test1");
|
||||
SELECT id, f1 FROM t1;
|
||||
id f1
|
||||
1 test1
|
||||
REPLACE INTO t1 VALUES (0,"test1",null);
|
||||
SELECT id, f1 FROM t1;
|
||||
id f1
|
||||
0 test1
|
||||
DROP TABLE t1;
|
||||
SET SQL_MODE='';
|
||||
|
@ -943,6 +943,156 @@ SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 MyISAM 10 Dynamic X X X 72057594037927935 X X X X X X latin1_swedish_ci X max_rows=4100100100 avg_row_length=70100
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (c1 TEXT NOT NULL, KEY c1 (c1(10))) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(''), (''), (''), (''),
|
||||
(' B'), (' B'), (' B'), (' B');
|
||||
SELECT DISTINCT COUNT(*) FROM t1 WHERE c1 = '';
|
||||
COUNT(*)
|
||||
4
|
||||
SELECT DISTINCT length(c1), c1 FROM t1 WHERE c1 = '';
|
||||
length(c1) c1
|
||||
0
|
||||
SELECT DISTINCT COUNT(*) FROM t1 IGNORE INDEX (c1) WHERE c1 = '';
|
||||
COUNT(*)
|
||||
4
|
||||
SELECT DISTINCT length(c1), c1 FROM t1 IGNORE INDEX (c1) WHERE c1 = '';
|
||||
length(c1) c1
|
||||
0
|
||||
SELECT DISTINCT length(c1), c1 FROM t1 ORDER BY c1;
|
||||
length(c1) c1
|
||||
0
|
||||
2 A
|
||||
2 B
|
||||
DROP TABLE t1;
|
||||
End of 4.1 tests
|
||||
set storage_engine=MyISAM;
|
||||
drop table if exists t1,t2,t3;
|
||||
|
@ -717,6 +717,147 @@ d8c4177d225791924.30714720
|
||||
d8c4177d2380fc201.39666693
|
||||
d8c4177d24ccef970.14957924
|
||||
DROP TABLE t1;
|
||||
create table t1 (
|
||||
c1 char(10), c2 char(10), c3 char(10), c4 char(10),
|
||||
c5 char(10), c6 char(10), c7 char(10), c8 char(10),
|
||||
c9 char(10), c10 char(10), c11 char(10), c12 char(10),
|
||||
c13 char(10), c14 char(10), c15 char(10), c16 char(10),
|
||||
index(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,c13,c14,c15,c16)
|
||||
);
|
||||
insert into t1 (c1) values ('1'),('1'),('1'),('1');
|
||||
select * from t1 where
|
||||
c1 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c2 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c3 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c4 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c5 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c6 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c7 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c8 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c9 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c10 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC");
|
||||
c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16
|
||||
drop table t1;
|
||||
End of 4.1 tests
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL auto_increment,
|
||||
|
@ -4,45 +4,133 @@ reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
|
||||
-------- switch to master -------
|
||||
SET AUTOCOMMIT = 1;
|
||||
DROP DATABASE IF EXISTS mysqltest1;
|
||||
DROP DATABASE IF EXISTS mysqltest2;
|
||||
DROP DATABASE IF EXISTS mysqltest3;
|
||||
CREATE DATABASE mysqltest1;
|
||||
CREATE DATABASE mysqltest2;
|
||||
CREATE TABLE mysqltest1.t1 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t1 (f1 BIGINT) ENGINE=InnoDB;
|
||||
INSERT INTO mysqltest1.t1 SET f1= 0;
|
||||
CREATE TABLE mysqltest1.t2 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t3 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t4 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t5 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t6 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t2 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t3 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t4 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t5 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t6 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE INDEX my_idx6 ON mysqltest1.t6(f1);
|
||||
CREATE TABLE mysqltest1.t7 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t7 (f1 BIGINT) ENGINE=InnoDB;
|
||||
INSERT INTO mysqltest1.t7 SET f1= 0;
|
||||
CREATE TABLE mysqltest1.t8 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t9 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t10 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t11 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t12 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t13 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t14 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t15 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t16 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t17 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t18 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TABLE mysqltest1.t19 (f1 BIGINT) ENGINE="InnoDB";
|
||||
CREATE TEMPORARY TABLE mysqltest1.t23 (f1 BIGINT);
|
||||
CREATE TABLE mysqltest1.t8 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t9 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t10 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t11 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t12 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t13 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t14 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t15 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t16 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t17 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t18 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TABLE mysqltest1.t19 (f1 BIGINT) ENGINE=InnoDB;
|
||||
CREATE TEMPORARY TABLE mysqltest1.t23 (f1 BIGINT) ENGINE=MEMORY;
|
||||
SET AUTOCOMMIT = 0;
|
||||
use mysqltest1;
|
||||
|
||||
-------- switch to slave --------
|
||||
SET AUTOCOMMIT = 0;
|
||||
SET AUTOCOMMIT = 1;
|
||||
use mysqltest1;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## COMMIT ########
|
||||
######## SELECT 1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 0 + 1;
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
1
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
-------- switch to master -------
|
||||
SELECT 1;
|
||||
1
|
||||
1
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
1
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
-------- switch to master -------
|
||||
ROLLBACK;
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## SELECT COUNT(*) FROM t1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 0 + 1;
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
1
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
-------- switch to master -------
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
2
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
1
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
-------- switch to master -------
|
||||
ROLLBACK;
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## COMMIT ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 0 + 1;
|
||||
@ -82,14 +170,8 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## ROLLBACK ########
|
||||
######## ROLLBACK ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 1 + 1;
|
||||
@ -129,14 +211,8 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## SET AUTOCOMMIT=1 ########
|
||||
######## SET AUTOCOMMIT=1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 1 + 1;
|
||||
@ -175,16 +251,10 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SET AUTOCOMMIT=0;
|
||||
|
||||
######## START TRANSACTION ########
|
||||
######## START TRANSACTION ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 2 + 1;
|
||||
@ -224,14 +294,8 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## BEGIN ########
|
||||
######## BEGIN ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 3 + 1;
|
||||
@ -271,14 +335,8 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## DROP TABLE mysqltest1.t2 ########
|
||||
######## DROP TABLE mysqltest1.t2 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 4 + 1;
|
||||
@ -317,12 +375,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW TABLES LIKE 't2';
|
||||
Tables_in_mysqltest1 (t2)
|
||||
@ -333,7 +385,7 @@ Tables_in_mysqltest1 (t2)
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## DROP TEMPORARY TABLE mysqltest1.t23 ########
|
||||
######## DROP TEMPORARY TABLE mysqltest1.t23 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 5 + 1;
|
||||
@ -368,15 +420,9 @@ TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
6
|
||||
5
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW TABLES LIKE 't23';
|
||||
@ -388,7 +434,7 @@ Tables_in_mysqltest1 (t23)
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## RENAME TABLE mysqltest1.t3 to mysqltest1.t20 ########
|
||||
######## RENAME TABLE mysqltest1.t3 to mysqltest1.t20 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 5 + 1;
|
||||
@ -399,7 +445,7 @@ MAX(f1)
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
6
|
||||
5
|
||||
|
||||
-------- switch to master -------
|
||||
RENAME TABLE mysqltest1.t3 to mysqltest1.t20;
|
||||
@ -427,12 +473,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW TABLES LIKE 't20';
|
||||
Tables_in_mysqltest1 (t20)
|
||||
@ -445,7 +485,7 @@ t20
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## ALTER TABLE mysqltest1.t4 ADD column f2 BIGINT ########
|
||||
######## ALTER TABLE mysqltest1.t4 ADD column f2 BIGINT ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 6 + 1;
|
||||
@ -484,12 +524,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
describe mysqltest1.t4;
|
||||
Field Type Null Key Default Extra
|
||||
@ -504,7 +538,7 @@ f2 bigint(20) YES NULL
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE= "InnoDB" ########
|
||||
######## CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE= InnoDB ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 7 + 1;
|
||||
@ -518,7 +552,7 @@ MAX(f1)
|
||||
7
|
||||
|
||||
-------- switch to master -------
|
||||
CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE= "InnoDB";
|
||||
CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE= InnoDB;
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
8
|
||||
@ -544,14 +578,8 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT) ########
|
||||
######## CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT) ENGINE=MEMORY ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 8 + 1;
|
||||
@ -565,7 +593,7 @@ MAX(f1)
|
||||
8
|
||||
|
||||
-------- switch to master -------
|
||||
CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT);
|
||||
CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT) ENGINE=MEMORY;
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
9
|
||||
@ -586,19 +614,13 @@ TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
9
|
||||
8
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## TRUNCATE TABLE mysqltest1.t7 ########
|
||||
######## TRUNCATE TABLE mysqltest1.t7 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 8 + 1;
|
||||
@ -609,7 +631,7 @@ MAX(f1)
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
9
|
||||
8
|
||||
|
||||
-------- switch to master -------
|
||||
TRUNCATE TABLE mysqltest1.t7;
|
||||
@ -637,21 +659,17 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SELECT * FROM mysqltest1.t7;
|
||||
f1
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT * FROM mysqltest1.t7;
|
||||
f1
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ ########
|
||||
######## LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 9 + 1;
|
||||
@ -690,16 +708,10 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
UNLOCK TABLES;
|
||||
|
||||
######## UNLOCK TABLES ########
|
||||
######## UNLOCK TABLES ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 10 + 1;
|
||||
@ -738,16 +750,10 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
LOCK TABLES mysqltest1.t1 READ;
|
||||
|
||||
######## UNLOCK TABLES ########
|
||||
######## UNLOCK TABLES ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 10 + 1;
|
||||
@ -787,16 +793,10 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ;
|
||||
|
||||
######## UNLOCK TABLES ########
|
||||
######## UNLOCK TABLES ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 10 + 1;
|
||||
@ -836,14 +836,8 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## DROP INDEX my_idx6 ON mysqltest1.t6 ########
|
||||
######## DROP INDEX my_idx6 ON mysqltest1.t6 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 11 + 1;
|
||||
@ -882,12 +876,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW INDEX FROM mysqltest1.t6;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
@ -898,7 +886,7 @@ Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_par
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## CREATE INDEX my_idx5 ON mysqltest1.t5(f1) ########
|
||||
######## CREATE INDEX my_idx5 ON mysqltest1.t5(f1) ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 12 + 1;
|
||||
@ -937,12 +925,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW INDEX FROM mysqltest1.t5;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
@ -955,7 +937,7 @@ t5 1 my_idx5 1 f1 A NULL NULL NULL YES BTREE
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## DROP DATABASE mysqltest2 ########
|
||||
######## DROP DATABASE mysqltest2 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 13 + 1;
|
||||
@ -994,12 +976,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW DATABASES LIKE "mysqltest2";
|
||||
Database (mysqltest2)
|
||||
@ -1010,7 +986,7 @@ Database (mysqltest2)
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## CREATE DATABASE mysqltest3 ########
|
||||
######## CREATE DATABASE mysqltest3 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 14 + 1;
|
||||
@ -1049,12 +1025,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW DATABASES LIKE "mysqltest3";
|
||||
Database (mysqltest3)
|
||||
@ -1067,7 +1037,7 @@ mysqltest3
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## CREATE PROCEDURE p1() READS SQL DATA SELECT "this is p1" ########
|
||||
######## CREATE PROCEDURE p1() READS SQL DATA SELECT "this is p1" ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 15 + 1;
|
||||
@ -1107,33 +1077,30 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment
|
||||
-------- switch to slave -------
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment
|
||||
|
||||
######## ALTER PROCEDURE p1 COMMENT "I have been altered" ########
|
||||
######## ALTER PROCEDURE p1 COMMENT "I have been altered" ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 16 + 1;
|
||||
@ -1173,33 +1140,30 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment I have been altered
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment I have been altered
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment I have been altered
|
||||
-------- switch to slave -------
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment I have been altered
|
||||
|
||||
######## DROP PROCEDURE p1 ########
|
||||
######## DROP PROCEDURE p1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 17 + 1;
|
||||
@ -1239,17 +1203,14 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
-------- switch to slave -------
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
|
||||
######## CREATE OR REPLACE VIEW v1 as select * from t1 ########
|
||||
######## CREATE OR REPLACE VIEW v1 as select * from t1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 18 + 1;
|
||||
@ -1289,22 +1250,18 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
-------- switch to slave -------
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
######## ALTER VIEW v1 AS select f1 from t1 ########
|
||||
######## ALTER VIEW v1 AS select f1 from t1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 19 + 1;
|
||||
@ -1344,22 +1301,18 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
-------- switch to slave -------
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
######## DROP VIEW IF EXISTS v1 ########
|
||||
######## DROP VIEW IF EXISTS v1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 20 + 1;
|
||||
@ -1399,20 +1352,16 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW CREATE VIEW v1;
|
||||
ERROR 42S02: Table 'mysqltest1.v1' doesn't exist
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW CREATE VIEW v1;
|
||||
ERROR 42S02: Table 'mysqltest1.v1' doesn't exist
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW CREATE VIEW v1;
|
||||
ERROR 42S02: Table 'mysqltest1.v1' doesn't exist
|
||||
|
||||
-------- switch to slave -------
|
||||
SHOW CREATE VIEW v1;
|
||||
ERROR 42S02: Table 'mysqltest1.v1' doesn't exist
|
||||
|
||||
######## CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a:=1 ########
|
||||
######## CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a:=1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 21 + 1;
|
||||
@ -1452,22 +1401,18 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost
|
||||
|
||||
-------- switch to slave -------
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost
|
||||
|
||||
######## DROP TRIGGER trg1 ########
|
||||
######## DROP TRIGGER trg1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 22 + 1;
|
||||
@ -1507,20 +1452,16 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
|
||||
-------- switch to slave -------
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
|
||||
######## CREATE USER user1@localhost ########
|
||||
######## CREATE USER user1@localhost ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 23 + 1;
|
||||
@ -1560,22 +1501,18 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SELECT user FROM mysql.user WHERE user = 'user1';
|
||||
user
|
||||
user1
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SELECT user FROM mysql.user WHERE user = 'user1';
|
||||
user
|
||||
user1
|
||||
|
||||
-------- switch to master -------
|
||||
SELECT user FROM mysql.user WHERE user = 'user1';
|
||||
user
|
||||
user1
|
||||
|
||||
-------- switch to slave -------
|
||||
SELECT user FROM mysql.user WHERE user = 'user1';
|
||||
user
|
||||
user1
|
||||
|
||||
######## RENAME USER user1@localhost TO rename1@localhost ########
|
||||
######## RENAME USER user1@localhost TO rename1@localhost ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 24 + 1;
|
||||
@ -1615,22 +1552,18 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
rename1
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
rename1
|
||||
|
||||
-------- switch to master -------
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
rename1
|
||||
|
||||
-------- switch to slave -------
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
rename1
|
||||
|
||||
######## DROP USER rename1@localhost ########
|
||||
######## DROP USER rename1@localhost ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 25 + 1;
|
||||
@ -1670,18 +1603,14 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
use test;
|
||||
|
||||
-------- switch to master -------
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
|
||||
-------- switch to slave -------
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
DROP DATABASE IF EXISTS mysqltest1;
|
||||
DROP DATABASE IF EXISTS mysqltest2;
|
||||
DROP DATABASE IF EXISTS mysqltest3;
|
||||
DROP DATABASE mysqltest1;
|
||||
DROP DATABASE mysqltest3;
|
||||
|
@ -11,8 +11,7 @@ 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,
|
||||
`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');
|
||||
@ -22,13 +21,13 @@ SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name
|
||||
db name status originator
|
||||
test justonce ENABLED 1
|
||||
"in the master"
|
||||
SELECT * FROM t1;
|
||||
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;
|
||||
SELECT * FROM t1 WHERE c = 'from justonce' OR c = 'manually' ORDER BY id;
|
||||
id c ts
|
||||
1 manually TIMESTAMP
|
||||
2 from justonce TIMESTAMP
|
||||
@ -69,6 +68,18 @@ 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;
|
||||
@ -77,8 +88,7 @@ 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,
|
||||
`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');
|
||||
@ -88,13 +98,13 @@ SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name
|
||||
db name status originator
|
||||
test justonce ENABLED 1
|
||||
"in the master"
|
||||
SELECT * FROM t1;
|
||||
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;
|
||||
SELECT * FROM t1 WHERE c = 'from justonce' OR c = 'manually' ORDER BY id;
|
||||
id c ts
|
||||
1 manually TIMESTAMP
|
||||
2 from justonce TIMESTAMP
|
||||
@ -135,5 +145,17 @@ 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;
|
||||
|
@ -12,10 +12,7 @@ a
|
||||
1
|
||||
2
|
||||
3
|
||||
SET @saved = @@debug;
|
||||
SET SESSION debug="d,incident_database_resync_on_replace";
|
||||
REPLACE INTO t1 VALUES (4);
|
||||
SET SESSION debug=@saved;
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
@ -47,7 +44,7 @@ Replicate_Do_Table
|
||||
Replicate_Ignore_Table
|
||||
Replicate_Wild_Do_Table
|
||||
Replicate_Wild_Ignore_Table
|
||||
Last_Errno 1583
|
||||
Last_Errno 1586
|
||||
Last_Error The incident LOST_EVENTS occured on the master. Message: <none>
|
||||
Skip_Counter 0
|
||||
Exec_Master_Log_Pos #
|
||||
|
@ -109,39 +109,39 @@ a b
|
||||
1 cp850_general_ci
|
||||
drop database mysqltest2;
|
||||
drop database mysqltest3;
|
||||
show binlog events from 105;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # drop database if exists mysqltest2
|
||||
master-bin.000001 # Query 1 # drop database if exists mysqltest3
|
||||
master-bin.000001 # Query 1 # create database mysqltest2 character set latin2
|
||||
master-bin.000001 # Query 1 # create database mysqltest3
|
||||
master-bin.000001 # Query 1 # drop database mysqltest3
|
||||
master-bin.000001 # Query 1 # create database mysqltest3
|
||||
master-bin.000001 # Query 1 # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `mysqltest2`; truncate table t1
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `mysqltest2`; truncate table t1
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # drop database mysqltest2
|
||||
master-bin.000001 # Query 1 # drop database mysqltest3
|
||||
master-bin.000001 # Query # # drop database if exists mysqltest2
|
||||
master-bin.000001 # Query # # drop database if exists mysqltest3
|
||||
master-bin.000001 # Query # # create database mysqltest2 character set latin2
|
||||
master-bin.000001 # Query # # create database mysqltest3
|
||||
master-bin.000001 # Query # # drop database mysqltest3
|
||||
master-bin.000001 # Query # # create database mysqltest3
|
||||
master-bin.000001 # Query # # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # drop database mysqltest2
|
||||
master-bin.000001 # Query # # drop database mysqltest3
|
||||
select "--- --global--" as "";
|
||||
|
||||
--- --global--
|
||||
|
@ -4,45 +4,133 @@ reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
|
||||
-------- switch to master -------
|
||||
SET AUTOCOMMIT = 1;
|
||||
DROP DATABASE IF EXISTS mysqltest1;
|
||||
DROP DATABASE IF EXISTS mysqltest2;
|
||||
DROP DATABASE IF EXISTS mysqltest3;
|
||||
CREATE DATABASE mysqltest1;
|
||||
CREATE DATABASE mysqltest2;
|
||||
CREATE TABLE mysqltest1.t1 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t1 (f1 BIGINT) ENGINE=NDB;
|
||||
INSERT INTO mysqltest1.t1 SET f1= 0;
|
||||
CREATE TABLE mysqltest1.t2 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t3 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t4 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t5 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t6 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t2 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t3 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t4 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t5 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t6 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE INDEX my_idx6 ON mysqltest1.t6(f1);
|
||||
CREATE TABLE mysqltest1.t7 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t7 (f1 BIGINT) ENGINE=NDB;
|
||||
INSERT INTO mysqltest1.t7 SET f1= 0;
|
||||
CREATE TABLE mysqltest1.t8 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t9 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t10 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t11 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t12 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t13 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t14 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t15 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t16 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t17 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t18 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TABLE mysqltest1.t19 (f1 BIGINT) ENGINE="NDB";
|
||||
CREATE TEMPORARY TABLE mysqltest1.t23 (f1 BIGINT);
|
||||
CREATE TABLE mysqltest1.t8 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t9 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t10 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t11 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t12 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t13 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t14 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t15 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t16 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t17 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t18 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TABLE mysqltest1.t19 (f1 BIGINT) ENGINE=NDB;
|
||||
CREATE TEMPORARY TABLE mysqltest1.t23 (f1 BIGINT) ENGINE=MEMORY;
|
||||
SET AUTOCOMMIT = 0;
|
||||
use mysqltest1;
|
||||
|
||||
-------- switch to slave --------
|
||||
SET AUTOCOMMIT = 0;
|
||||
SET AUTOCOMMIT = 1;
|
||||
use mysqltest1;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## COMMIT ########
|
||||
######## SELECT 1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 0 + 1;
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
1
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
-------- switch to master -------
|
||||
SELECT 1;
|
||||
1
|
||||
1
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
1
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
-------- switch to master -------
|
||||
ROLLBACK;
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## SELECT COUNT(*) FROM t1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 0 + 1;
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
1
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
-------- switch to master -------
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
2
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
1
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
-------- switch to master -------
|
||||
ROLLBACK;
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
0
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## COMMIT ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 0 + 1;
|
||||
@ -82,14 +170,8 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## ROLLBACK ########
|
||||
######## ROLLBACK ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 1 + 1;
|
||||
@ -129,14 +211,8 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## SET AUTOCOMMIT=1 ########
|
||||
######## SET AUTOCOMMIT=1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 1 + 1;
|
||||
@ -175,16 +251,10 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SET AUTOCOMMIT=0;
|
||||
|
||||
######## START TRANSACTION ########
|
||||
######## START TRANSACTION ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 2 + 1;
|
||||
@ -224,14 +294,8 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## BEGIN ########
|
||||
######## BEGIN ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 3 + 1;
|
||||
@ -271,14 +335,8 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## DROP TABLE mysqltest1.t2 ########
|
||||
######## DROP TABLE mysqltest1.t2 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 4 + 1;
|
||||
@ -317,12 +375,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW TABLES LIKE 't2';
|
||||
Tables_in_mysqltest1 (t2)
|
||||
@ -333,7 +385,7 @@ Tables_in_mysqltest1 (t2)
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## DROP TEMPORARY TABLE mysqltest1.t23 ########
|
||||
######## DROP TEMPORARY TABLE mysqltest1.t23 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 5 + 1;
|
||||
@ -372,12 +424,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW TABLES LIKE 't23';
|
||||
Tables_in_mysqltest1 (t23)
|
||||
@ -388,7 +434,7 @@ Tables_in_mysqltest1 (t23)
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## RENAME TABLE mysqltest1.t3 to mysqltest1.t20 ########
|
||||
######## RENAME TABLE mysqltest1.t3 to mysqltest1.t20 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 5 + 1;
|
||||
@ -427,12 +473,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW TABLES LIKE 't20';
|
||||
Tables_in_mysqltest1 (t20)
|
||||
@ -445,7 +485,7 @@ t20
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## ALTER TABLE mysqltest1.t4 ADD column f2 BIGINT ########
|
||||
######## ALTER TABLE mysqltest1.t4 ADD column f2 BIGINT ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 6 + 1;
|
||||
@ -484,12 +524,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
describe mysqltest1.t4;
|
||||
Field Type Null Key Default Extra
|
||||
@ -504,7 +538,7 @@ f2 bigint(20) YES NULL
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE= "NDB" ########
|
||||
######## CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE= NDB ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 7 + 1;
|
||||
@ -518,7 +552,7 @@ MAX(f1)
|
||||
7
|
||||
|
||||
-------- switch to master -------
|
||||
CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE= "NDB";
|
||||
CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE= NDB;
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
8
|
||||
@ -544,14 +578,8 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT) ########
|
||||
######## CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT) ENGINE=MEMORY ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 8 + 1;
|
||||
@ -565,7 +593,7 @@ MAX(f1)
|
||||
8
|
||||
|
||||
-------- switch to master -------
|
||||
CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT);
|
||||
CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT) ENGINE=MEMORY;
|
||||
SELECT MAX(f1) FROM t1;
|
||||
MAX(f1)
|
||||
9
|
||||
@ -591,14 +619,8 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## TRUNCATE TABLE mysqltest1.t7 ########
|
||||
######## TRUNCATE TABLE mysqltest1.t7 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 8 + 1;
|
||||
@ -637,21 +659,17 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SELECT * FROM mysqltest1.t7;
|
||||
f1
|
||||
|
||||
-------- switch to slave --------
|
||||
SELECT * FROM mysqltest1.t7;
|
||||
f1
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ ########
|
||||
######## LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 9 + 1;
|
||||
@ -690,16 +708,10 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
UNLOCK TABLES;
|
||||
|
||||
######## UNLOCK TABLES ########
|
||||
######## UNLOCK TABLES ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 10 + 1;
|
||||
@ -738,16 +750,10 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
LOCK TABLES mysqltest1.t1 READ;
|
||||
|
||||
######## UNLOCK TABLES ########
|
||||
######## UNLOCK TABLES ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 10 + 1;
|
||||
@ -787,16 +793,10 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ;
|
||||
|
||||
######## UNLOCK TABLES ########
|
||||
######## UNLOCK TABLES ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 10 + 1;
|
||||
@ -836,14 +836,8 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## DROP INDEX my_idx6 ON mysqltest1.t6 ########
|
||||
######## DROP INDEX my_idx6 ON mysqltest1.t6 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 11 + 1;
|
||||
@ -882,12 +876,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW INDEX FROM mysqltest1.t6;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
@ -898,7 +886,7 @@ Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_par
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## CREATE INDEX my_idx5 ON mysqltest1.t5(f1) ########
|
||||
######## CREATE INDEX my_idx5 ON mysqltest1.t5(f1) ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 12 + 1;
|
||||
@ -937,12 +925,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW INDEX FROM mysqltest1.t5;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
@ -955,7 +937,7 @@ t5 1 my_idx5 1 f1 A 0 NULL NULL YES BTREE
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## DROP DATABASE mysqltest2 ########
|
||||
######## DROP DATABASE mysqltest2 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 13 + 1;
|
||||
@ -994,12 +976,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW DATABASES LIKE "mysqltest2";
|
||||
Database (mysqltest2)
|
||||
@ -1010,7 +986,7 @@ Database (mysqltest2)
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## CREATE DATABASE mysqltest3 ########
|
||||
######## CREATE DATABASE mysqltest3 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 14 + 1;
|
||||
@ -1049,12 +1025,6 @@ MAX(f1)
|
||||
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW DATABASES LIKE "mysqltest3";
|
||||
Database (mysqltest3)
|
||||
@ -1067,7 +1037,7 @@ mysqltest3
|
||||
|
||||
-------- switch to master -------
|
||||
|
||||
######## CREATE PROCEDURE p1() READS SQL DATA SELECT "this is p1" ########
|
||||
######## CREATE PROCEDURE p1() READS SQL DATA SELECT "this is p1" ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 15 + 1;
|
||||
@ -1107,33 +1077,30 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment
|
||||
-------- switch to slave -------
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment
|
||||
|
||||
######## ALTER PROCEDURE p1 COMMENT "I have been altered" ########
|
||||
######## ALTER PROCEDURE p1 COMMENT "I have been altered" ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 16 + 1;
|
||||
@ -1173,33 +1140,30 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment I have been altered
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment I have been altered
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment I have been altered
|
||||
-------- switch to slave -------
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
Db mysqltest1
|
||||
Name p1
|
||||
Type PROCEDURE
|
||||
Definer root@localhost
|
||||
Modified #
|
||||
Created #
|
||||
Security_type DEFINER
|
||||
Comment I have been altered
|
||||
|
||||
######## DROP PROCEDURE p1 ########
|
||||
######## DROP PROCEDURE p1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 17 + 1;
|
||||
@ -1239,17 +1203,14 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
-------- switch to slave -------
|
||||
SHOW PROCEDURE STATUS LIKE 'p1';
|
||||
|
||||
######## CREATE OR REPLACE VIEW v1 as select * from t1 ########
|
||||
######## CREATE OR REPLACE VIEW v1 as select * from t1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 18 + 1;
|
||||
@ -1289,22 +1250,18 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
-------- switch to slave -------
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
######## ALTER VIEW v1 AS select f1 from t1 ########
|
||||
######## ALTER VIEW v1 AS select f1 from t1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 19 + 1;
|
||||
@ -1344,22 +1301,18 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
-------- switch to slave -------
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
|
||||
|
||||
######## DROP VIEW IF EXISTS v1 ########
|
||||
######## DROP VIEW IF EXISTS v1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 20 + 1;
|
||||
@ -1399,20 +1352,16 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW CREATE VIEW v1;
|
||||
ERROR 42S02: Table 'mysqltest1.v1' doesn't exist
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW CREATE VIEW v1;
|
||||
ERROR 42S02: Table 'mysqltest1.v1' doesn't exist
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW CREATE VIEW v1;
|
||||
ERROR 42S02: Table 'mysqltest1.v1' doesn't exist
|
||||
|
||||
-------- switch to slave -------
|
||||
SHOW CREATE VIEW v1;
|
||||
ERROR 42S02: Table 'mysqltest1.v1' doesn't exist
|
||||
|
||||
######## CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a:=1 ########
|
||||
######## CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a:=1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 21 + 1;
|
||||
@ -1452,22 +1401,18 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost
|
||||
|
||||
-------- switch to slave -------
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost
|
||||
|
||||
######## DROP TRIGGER trg1 ########
|
||||
######## DROP TRIGGER trg1 ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 22 + 1;
|
||||
@ -1507,20 +1452,16 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
|
||||
-------- switch to master -------
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
|
||||
-------- switch to slave -------
|
||||
SHOW TRIGGERS;
|
||||
Trigger Event Table Statement Timing Created sql_mode Definer
|
||||
|
||||
######## CREATE USER user1@localhost ########
|
||||
######## CREATE USER user1@localhost ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 23 + 1;
|
||||
@ -1560,22 +1501,18 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SELECT user FROM mysql.user WHERE user = 'user1';
|
||||
user
|
||||
user1
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SELECT user FROM mysql.user WHERE user = 'user1';
|
||||
user
|
||||
user1
|
||||
|
||||
-------- switch to master -------
|
||||
SELECT user FROM mysql.user WHERE user = 'user1';
|
||||
user
|
||||
user1
|
||||
|
||||
-------- switch to slave -------
|
||||
SELECT user FROM mysql.user WHERE user = 'user1';
|
||||
user
|
||||
user1
|
||||
|
||||
######## RENAME USER user1@localhost TO rename1@localhost ########
|
||||
######## RENAME USER user1@localhost TO rename1@localhost ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 24 + 1;
|
||||
@ -1615,22 +1552,18 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
rename1
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
rename1
|
||||
|
||||
-------- switch to master -------
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
rename1
|
||||
|
||||
-------- switch to slave -------
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
rename1
|
||||
|
||||
######## DROP USER rename1@localhost ########
|
||||
######## DROP USER rename1@localhost ########
|
||||
|
||||
-------- switch to master -------
|
||||
INSERT INTO t1 SET f1= 25 + 1;
|
||||
@ -1670,19 +1603,14 @@ MAX(f1)
|
||||
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
|
||||
|
||||
-------- switch to master -------
|
||||
flush logs;
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
|
||||
-------- switch to slave --------
|
||||
flush logs;
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
use test;
|
||||
|
||||
-------- switch to master -------
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
|
||||
-------- switch to slave -------
|
||||
SELECT user FROM mysql.user WHERE user = 'rename1';
|
||||
user
|
||||
DROP DATABASE IF EXISTS mysqltest1;
|
||||
DROP DATABASE IF EXISTS mysqltest2;
|
||||
DROP DATABASE IF EXISTS mysqltest3;
|
||||
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
|
||||
DROP DATABASE mysqltest1;
|
||||
DROP DATABASE mysqltest3;
|
||||
|
@ -35,14 +35,14 @@ master-bin.000001 # Write_rows 1 # table_id: #
|
||||
master-bin.000001 # Write_rows 1 # table_id: #
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # COMMIT
|
||||
show binlog events from 105 limit 1;
|
||||
show binlog events from 106 limit 1;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB
|
||||
show binlog events from 105 limit 2;
|
||||
show binlog events from 106 limit 2;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB
|
||||
master-bin.000001 # Query 1 # BEGIN
|
||||
show binlog events from 105 limit 2,1;
|
||||
show binlog events from 106 limit 2,1;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
flush logs;
|
||||
@ -56,26 +56,25 @@ flush logs;
|
||||
stop slave;
|
||||
create table t2 (n int)ENGINE=NDB;
|
||||
insert into t2 values (1);
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB
|
||||
master-bin.000001 # Query 1 # BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysql.ndb_apply_status)
|
||||
master-bin.000001 # Write_rows 1 # table_id: #
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # COMMIT
|
||||
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=NDB
|
||||
master-bin.000001 # Query 1 # BEGIN
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysql.ndb_apply_status)
|
||||
master-bin.000001 # Write_rows 1 # table_id: #
|
||||
master-bin.000001 # Write_rows 1 # table_id: #
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # COMMIT
|
||||
master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
|
||||
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
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: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; drop table t1
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=NDB
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
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: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Rotate # # master-bin.000002;pos=4
|
||||
show binlog events in 'master-bin.000002';
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000002 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
|
||||
@ -89,13 +88,13 @@ master-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000002 # Query 1 # COMMIT
|
||||
show binary logs;
|
||||
Log_name File_size
|
||||
master-bin.000001 1774
|
||||
master-bin.000002 616
|
||||
master-bin.000001 1775
|
||||
master-bin.000002 617
|
||||
start slave;
|
||||
show binary logs;
|
||||
Log_name File_size
|
||||
slave-bin.000001 1869
|
||||
slave-bin.000002 201
|
||||
slave-bin.000001 1870
|
||||
slave-bin.000002 202
|
||||
show binlog events in 'slave-bin.000001' from 4;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
|
||||
@ -129,7 +128,7 @@ slave-bin.000002 # Write_rows 2 # table_id: # flags: STMT_END_F
|
||||
slave-bin.000002 # Query 2 # COMMIT
|
||||
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
|
||||
# 127.0.0.1 root MASTER_PORT 1 master-bin.000002 616 # # master-bin.000002 Yes Yes # 0 0 616 # None 0 No #
|
||||
# 127.0.0.1 root MASTER_PORT 1 master-bin.000002 617 # # master-bin.000002 Yes Yes # 0 0 617 # None 0 No #
|
||||
show binlog events in 'slave-bin.000005' from 4;
|
||||
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
|
||||
DROP TABLE t1;
|
||||
@ -140,11 +139,10 @@ insert into t1 values (NULL, 1);
|
||||
reset master;
|
||||
set insert_id=5;
|
||||
insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id());
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
select * from t1;
|
||||
a b
|
||||
1 1
|
||||
|
@ -26,11 +26,11 @@ stop slave;
|
||||
SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1)
|
||||
FROM mysql.ndb_binlog_index WHERE epoch = <the_epoch> ;
|
||||
@the_pos:=Position @the_file:=SUBSTRING_INDEX(FILE, '/', -1)
|
||||
105 master-bin1.000001
|
||||
106 master-bin1.000001
|
||||
CHANGE MASTER TO
|
||||
master_port=<MASTER_PORT1>,
|
||||
master_log_file = 'master-bin1.000001',
|
||||
master_log_pos = 105 ;
|
||||
master_log_pos = 106 ;
|
||||
start slave;
|
||||
INSERT INTO t1 VALUES ("row2","will go away",2),("row3","will change",3),("row4","D",4);
|
||||
DELETE FROM t1 WHERE c3 = 1;
|
||||
|
@ -24,11 +24,11 @@ SHOW TABLES;
|
||||
Tables_in_test_ignore
|
||||
t2
|
||||
INSERT INTO t2 VALUES (3,3), (4,4);
|
||||
SHOW BINLOG EVENTS FROM 105;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 105 Query 1 198 use `test`; CREATE TABLE t1 (a INT, b INT)
|
||||
master-bin.000001 198 Table_map 1 238 table_id: # (test.t1)
|
||||
master-bin.000001 238 Write_rows 1 285 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b INT)
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
**** On Slave ****
|
||||
SHOW DATABASES;
|
||||
Database
|
||||
@ -54,10 +54,10 @@ DELETE FROM t1 WHERE a = 0;
|
||||
UPDATE t1 SET a=99 WHERE a = 0;
|
||||
SHOW BINLOG EVENTS;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 105 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 105 Query 1 191 use `test`; CREATE TABLE t1 (a INT)
|
||||
master-bin.000001 191 Table_map 1 230 table_id: # (test.t1)
|
||||
master-bin.000001 230 Write_rows 1 269 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 192 use `test`; CREATE TABLE t1 (a INT)
|
||||
master-bin.000001 192 Table_map 1 231 table_id: # (test.t1)
|
||||
master-bin.000001 231 Write_rows 1 270 table_id: # flags: STMT_END_F
|
||||
DROP TABLE t1;
|
||||
================ Test for BUG#17620 ================
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
|
@ -109,39 +109,39 @@ a b
|
||||
1 cp850_general_ci
|
||||
drop database mysqltest2;
|
||||
drop database mysqltest3;
|
||||
show binlog events from 105;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # drop database if exists mysqltest2
|
||||
master-bin.000001 # Query 1 # drop database if exists mysqltest3
|
||||
master-bin.000001 # Query 1 # create database mysqltest2 character set latin2
|
||||
master-bin.000001 # Query 1 # create database mysqltest3
|
||||
master-bin.000001 # Query 1 # drop database mysqltest3
|
||||
master-bin.000001 # Query 1 # create database mysqltest3
|
||||
master-bin.000001 # Query 1 # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `mysqltest2`; truncate table t1
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `mysqltest2`; truncate table t1
|
||||
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # drop database mysqltest2
|
||||
master-bin.000001 # Query 1 # drop database mysqltest3
|
||||
master-bin.000001 # Query # # drop database if exists mysqltest2
|
||||
master-bin.000001 # Query # # drop database if exists mysqltest3
|
||||
master-bin.000001 # Query # # create database mysqltest2 character set latin2
|
||||
master-bin.000001 # Query # # create database mysqltest3
|
||||
master-bin.000001 # Query # # drop database mysqltest3
|
||||
master-bin.000001 # Query # # create database mysqltest3
|
||||
master-bin.000001 # Query # # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `mysqltest2`; truncate table t1
|
||||
master-bin.000001 # Table_map # # table_id: # (mysqltest2.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # drop database mysqltest2
|
||||
master-bin.000001 # Query # # drop database mysqltest3
|
||||
select "--- --global--" as "";
|
||||
|
||||
--- --global--
|
||||
|
@ -8,30 +8,30 @@ CREATE TABLE t1 (a INT, b INT);
|
||||
CREATE TABLE t2 (a INT, b INT) ENGINE=Merge;
|
||||
CREATE TABLE t3 (a INT, b INT) CHARSET=utf8;
|
||||
CREATE TABLE t4 (a INT, b INT) ENGINE=Merge CHARSET=utf8;
|
||||
SHOW BINLOG EVENTS FROM 215;
|
||||
SHOW BINLOG EVENTS FROM 216;
|
||||
Log_name #
|
||||
Pos 215
|
||||
Pos 216
|
||||
Event_type Query
|
||||
Server_id #
|
||||
End_log_pos 308
|
||||
End_log_pos 309
|
||||
Info use `test`; CREATE TABLE t1 (a INT, b INT)
|
||||
Log_name #
|
||||
Pos 308
|
||||
Pos 309
|
||||
Event_type Query
|
||||
Server_id #
|
||||
End_log_pos 414
|
||||
End_log_pos 415
|
||||
Info use `test`; CREATE TABLE t2 (a INT, b INT) ENGINE=Merge
|
||||
Log_name #
|
||||
Pos 414
|
||||
Pos 415
|
||||
Event_type Query
|
||||
Server_id #
|
||||
End_log_pos 520
|
||||
End_log_pos 521
|
||||
Info use `test`; CREATE TABLE t3 (a INT, b INT) CHARSET=utf8
|
||||
Log_name #
|
||||
Pos 520
|
||||
Pos 521
|
||||
Event_type Query
|
||||
Server_id #
|
||||
End_log_pos 639
|
||||
End_log_pos 640
|
||||
Info use `test`; CREATE TABLE t4 (a INT, b INT) ENGINE=Merge CHARSET=utf8
|
||||
**** On Master ****
|
||||
SHOW CREATE TABLE t1;
|
||||
@ -127,7 +127,7 @@ NULL 5 10
|
||||
NULL 6 12
|
||||
CREATE TABLE t7 (UNIQUE(b)) SELECT a,b FROM tt3;
|
||||
ERROR 23000: Duplicate entry '2' for key 'b'
|
||||
SHOW BINLOG EVENTS FROM 1097;
|
||||
SHOW BINLOG EVENTS FROM 1098;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
CREATE TABLE t7 (a INT, b INT UNIQUE);
|
||||
INSERT INTO t7 SELECT a,b FROM tt3;
|
||||
@ -137,11 +137,11 @@ a b
|
||||
1 2
|
||||
2 4
|
||||
3 6
|
||||
SHOW BINLOG EVENTS FROM 1097;
|
||||
SHOW BINLOG EVENTS FROM 1098;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
# 1097 Query # 1197 use `test`; CREATE TABLE t7 (a INT, b INT UNIQUE)
|
||||
# 1197 Table_map # 1237 table_id: # (test.t7)
|
||||
# 1237 Write_rows # 1293 table_id: # flags: STMT_END_F
|
||||
# 1098 Query # 1198 use `test`; CREATE TABLE t7 (a INT, b INT UNIQUE)
|
||||
# 1198 Table_map # 1238 table_id: # (test.t7)
|
||||
# 1238 Write_rows # 1294 table_id: # flags: STMT_END_F
|
||||
SELECT * FROM t7 ORDER BY a,b;
|
||||
a b
|
||||
1 2
|
||||
@ -154,10 +154,10 @@ INSERT INTO t7 SELECT a,b FROM tt4;
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
SHOW BINLOG EVENTS FROM 1293;
|
||||
SHOW BINLOG EVENTS FROM 1294;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
# 1293 Table_map # 1333 table_id: # (test.t7)
|
||||
# 1333 Write_rows # 1389 table_id: # flags: STMT_END_F
|
||||
# 1294 Table_map # 1334 table_id: # (test.t7)
|
||||
# 1334 Write_rows # 1390 table_id: # flags: STMT_END_F
|
||||
SELECT * FROM t7 ORDER BY a,b;
|
||||
a b
|
||||
1 2
|
||||
@ -192,10 +192,10 @@ Create Table CREATE TABLE `t9` (
|
||||
`a` int(11) DEFAULT NULL,
|
||||
`b` int(11) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SHOW BINLOG EVENTS FROM 1389;
|
||||
SHOW BINLOG EVENTS FROM 1390;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
# 1389 Query # 1475 use `test`; CREATE TABLE t8 LIKE t4
|
||||
# 1475 Query # 1614 use `test`; CREATE TABLE `t9` (
|
||||
# 1390 Query # 1476 use `test`; CREATE TABLE t8 LIKE t4
|
||||
# 1476 Query # 1615 use `test`; CREATE TABLE `t9` (
|
||||
`a` int(11) DEFAULT NULL,
|
||||
`b` int(11) DEFAULT NULL
|
||||
)
|
||||
@ -274,33 +274,33 @@ a
|
||||
3
|
||||
SHOW BINLOG EVENTS;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
# 4 Format_desc # 105 Server ver: #, Binlog ver: #
|
||||
# 105 Query # 191 use `test`; CREATE TABLE t1 (a INT)
|
||||
# 191 Table_map # 230 table_id: # (test.t1)
|
||||
# 230 Write_rows # 274 table_id: # flags: STMT_END_F
|
||||
# 274 Query # 342 use `test`; BEGIN
|
||||
# 342 Query # 125 use `test`; CREATE TABLE `t2` (
|
||||
# 4 Format_desc # 106 Server ver: #, Binlog ver: #
|
||||
# 106 Query # 192 use `test`; CREATE TABLE t1 (a INT)
|
||||
# 192 Table_map # 231 table_id: # (test.t1)
|
||||
# 231 Write_rows # 275 table_id: # flags: STMT_END_F
|
||||
# 275 Query # 343 use `test`; BEGIN
|
||||
# 343 Query # 125 use `test`; CREATE TABLE `t2` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
) ENGINE=InnoDB
|
||||
# 467 Table_map # 164 table_id: # (test.t2)
|
||||
# 506 Write_rows # 208 table_id: # flags: STMT_END_F
|
||||
# 550 Xid # 577 COMMIT /* XID */
|
||||
# 577 Query # 645 use `test`; BEGIN
|
||||
# 645 Query # 125 use `test`; CREATE TABLE `t3` (
|
||||
# 468 Table_map # 164 table_id: # (test.t2)
|
||||
# 507 Write_rows # 208 table_id: # flags: STMT_END_F
|
||||
# 551 Xid # 578 COMMIT /* XID */
|
||||
# 578 Query # 646 use `test`; BEGIN
|
||||
# 646 Query # 125 use `test`; CREATE TABLE `t3` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
) ENGINE=InnoDB
|
||||
# 770 Table_map # 164 table_id: # (test.t3)
|
||||
# 809 Write_rows # 208 table_id: # flags: STMT_END_F
|
||||
# 853 Xid # 880 COMMIT /* XID */
|
||||
# 880 Query # 948 use `test`; BEGIN
|
||||
# 948 Query # 125 use `test`; CREATE TABLE `t4` (
|
||||
# 771 Table_map # 164 table_id: # (test.t3)
|
||||
# 810 Write_rows # 208 table_id: # flags: STMT_END_F
|
||||
# 854 Xid # 881 COMMIT /* XID */
|
||||
# 881 Query # 949 use `test`; BEGIN
|
||||
# 949 Query # 125 use `test`; CREATE TABLE `t4` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
) ENGINE=InnoDB
|
||||
# 1073 Table_map # 164 table_id: # (test.t4)
|
||||
# 1112 Write_rows # 208 table_id: # flags: STMT_END_F
|
||||
# 1156 Xid # 1183 COMMIT /* XID */
|
||||
# 1183 Table_map # 1222 table_id: # (test.t1)
|
||||
# 1222 Write_rows # 1266 table_id: # flags: STMT_END_F
|
||||
# 1074 Table_map # 164 table_id: # (test.t4)
|
||||
# 1113 Write_rows # 208 table_id: # flags: STMT_END_F
|
||||
# 1157 Xid # 1184 COMMIT /* XID */
|
||||
# 1184 Table_map # 1223 table_id: # (test.t1)
|
||||
# 1223 Write_rows # 1267 table_id: # flags: STMT_END_F
|
||||
SHOW TABLES;
|
||||
Tables_in_test
|
||||
t1
|
||||
@ -365,17 +365,17 @@ a
|
||||
9
|
||||
SHOW BINLOG EVENTS;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
# 4 Format_desc # 105 Server ver: #, Binlog ver: #
|
||||
# 105 Query # 191 use `test`; CREATE TABLE t1 (a INT)
|
||||
# 191 Table_map # 230 table_id: # (test.t1)
|
||||
# 230 Write_rows # 274 table_id: # flags: STMT_END_F
|
||||
# 274 Query # 374 use `test`; CREATE TABLE t2 (a INT) ENGINE=INNODB
|
||||
# 374 Query # 442 use `test`; BEGIN
|
||||
# 442 Table_map # 39 table_id: # (test.t2)
|
||||
# 481 Write_rows # 83 table_id: # flags: STMT_END_F
|
||||
# 525 Table_map # 122 table_id: # (test.t2)
|
||||
# 564 Write_rows # 161 table_id: # flags: STMT_END_F
|
||||
# 603 Xid # 630 COMMIT /* XID */
|
||||
# 4 Format_desc # 106 Server ver: #, Binlog ver: #
|
||||
# 106 Query # 192 use `test`; CREATE TABLE t1 (a INT)
|
||||
# 192 Table_map # 231 table_id: # (test.t1)
|
||||
# 231 Write_rows # 275 table_id: # flags: STMT_END_F
|
||||
# 275 Query # 375 use `test`; CREATE TABLE t2 (a INT) ENGINE=INNODB
|
||||
# 375 Query # 443 use `test`; BEGIN
|
||||
# 443 Table_map # 39 table_id: # (test.t2)
|
||||
# 482 Write_rows # 83 table_id: # flags: STMT_END_F
|
||||
# 526 Table_map # 122 table_id: # (test.t2)
|
||||
# 565 Write_rows # 161 table_id: # flags: STMT_END_F
|
||||
# 604 Xid # 631 COMMIT /* XID */
|
||||
SELECT * FROM t2 ORDER BY a;
|
||||
a
|
||||
1
|
||||
@ -394,10 +394,10 @@ INSERT INTO t2 SELECT a+2 FROM tt2;
|
||||
ROLLBACK;
|
||||
SELECT * FROM t2 ORDER BY a;
|
||||
a
|
||||
SHOW BINLOG EVENTS FROM 630;
|
||||
SHOW BINLOG EVENTS FROM 631;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
# 630 Query # 80 use `test`; TRUNCATE TABLE t2
|
||||
# 710 Xid # 737 COMMIT /* XID */
|
||||
# 631 Query # 80 use `test`; TRUNCATE TABLE t2
|
||||
# 711 Xid # 738 COMMIT /* XID */
|
||||
SELECT * FROM t2 ORDER BY a;
|
||||
a
|
||||
DROP TABLE t1,t2;
|
||||
|
@ -14,17 +14,16 @@ a
|
||||
1
|
||||
2
|
||||
3
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 105 Server ver: VERSION, Binlog ver: 4
|
||||
master-bin.000001 105 Query 1 225 use `test`; create table t1(a int not null primary key) engine=myisam
|
||||
master-bin.000001 225 Table_map 1 264 table_id: # (test.t1)
|
||||
master-bin.000001 264 Write_rows 1 298 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 298 Table_map 1 337 table_id: # (test.t1)
|
||||
master-bin.000001 337 Write_rows 1 371 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 371 Table_map 1 410 table_id: # (test.t1)
|
||||
master-bin.000001 410 Write_rows 1 444 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 444 Query 1 519 use `test`; flush tables
|
||||
master-bin.000001 # Query # # use `test`; create table t1(a int not null primary key) engine=myisam
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; flush tables
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a
|
||||
1
|
||||
|
@ -43,10 +43,10 @@ t2
|
||||
DROP TABLE t1,t2;
|
||||
SHOW BINLOG EVENTS;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 105 Server ver: VERSION, Binlog ver: 4
|
||||
master-bin.000001 105 Query 1 191 use `test`; CREATE TABLE t1 (a int)
|
||||
master-bin.000001 191 Query 1 277 use `test`; CREATE TABLE t2 (a int)
|
||||
master-bin.000001 277 Query 1 381 use `test`; DROP TABLE `t1` /* generated by server */
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 192 use `test`; CREATE TABLE t1 (a int)
|
||||
master-bin.000001 192 Query 1 278 use `test`; CREATE TABLE t2 (a int)
|
||||
master-bin.000001 278 Query 1 382 use `test`; DROP TABLE `t1` /* generated by server */
|
||||
SHOW TABLES;
|
||||
Tables_in_test
|
||||
t2
|
||||
|
@ -12,13 +12,13 @@ create table t4 (a int);
|
||||
insert into t4 select * from t3;
|
||||
rename table t1 to t5, t2 to t1;
|
||||
flush no_write_to_binlog tables;
|
||||
SHOW BINLOG EVENTS FROM 618 ;
|
||||
SHOW BINLOG EVENTS FROM 619 ;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; rename table t1 to t5, t2 to t1
|
||||
select * from t3;
|
||||
a
|
||||
flush tables;
|
||||
SHOW BINLOG EVENTS FROM 618 ;
|
||||
SHOW BINLOG EVENTS FROM 619 ;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; rename table t1 to t5, t2 to t1
|
||||
master-bin.000001 # Query 1 # use `test`; flush tables
|
||||
|
@ -39,7 +39,7 @@ Replicate_Wild_Ignore_Table
|
||||
Last_Errno 1146
|
||||
Last_Error Error 'Table 'test.t1' doesn't exist' on opening table `test`.`t1`
|
||||
Skip_Counter 0
|
||||
Exec_Master_Log_Pos 523
|
||||
Exec_Master_Log_Pos 524
|
||||
Relay_Log_Space #
|
||||
Until_Condition None
|
||||
Until_Log_File
|
||||
|
@ -26,14 +26,14 @@ master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
show binlog events from 105 limit 1;
|
||||
show binlog events from 106 limit 1;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
|
||||
show binlog events from 105 limit 2;
|
||||
show binlog events from 106 limit 2;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
show binlog events from 105 limit 2,1;
|
||||
show binlog events from 106 limit 2,1;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
flush logs;
|
||||
@ -47,17 +47,16 @@ flush logs;
|
||||
stop slave;
|
||||
create table t2 (n int)ENGINE=MyISAM;
|
||||
insert into t2 values (1);
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
|
||||
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; drop table t1
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Rotate # # master-bin.000002;pos=4
|
||||
show binlog events in 'master-bin.000002';
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000002 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
|
||||
@ -67,13 +66,13 @@ master-bin.000002 # Table_map 1 # table_id: # (test.t2)
|
||||
master-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
show binary logs;
|
||||
Log_name File_size
|
||||
master-bin.000001 1259
|
||||
master-bin.000002 376
|
||||
master-bin.000001 1260
|
||||
master-bin.000002 377
|
||||
start slave;
|
||||
show binary logs;
|
||||
Log_name File_size
|
||||
slave-bin.000001 1357
|
||||
slave-bin.000002 277
|
||||
slave-bin.000001 1358
|
||||
slave-bin.000002 278
|
||||
show binlog events in 'slave-bin.000001' from 4;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
|
||||
@ -94,7 +93,7 @@ slave-bin.000002 # Table_map 1 # table_id: # (test.t2)
|
||||
slave-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
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
|
||||
# 127.0.0.1 root MASTER_PORT 1 master-bin.000002 376 # # master-bin.000002 Yes Yes # 0 0 376 # None 0 No #
|
||||
# 127.0.0.1 root MASTER_PORT 1 master-bin.000002 377 # # master-bin.000002 Yes Yes # 0 0 377 # None 0 No #
|
||||
show binlog events in 'slave-bin.000005' from 4;
|
||||
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
|
||||
DROP TABLE t1;
|
||||
@ -105,11 +104,10 @@ insert into t1 values (NULL, 1);
|
||||
reset master;
|
||||
set insert_id=5;
|
||||
insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id());
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
select * from t1;
|
||||
a b
|
||||
1 1
|
||||
|
@ -28,14 +28,14 @@ master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not nul
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* XID */
|
||||
show binlog events from 105 limit 1;
|
||||
show binlog events from 106 limit 1;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=InnoDB
|
||||
show binlog events from 105 limit 2;
|
||||
show binlog events from 106 limit 2;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=InnoDB
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
show binlog events from 105 limit 2,1;
|
||||
show binlog events from 106 limit 2,1;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
flush logs;
|
||||
@ -49,19 +49,18 @@ flush logs;
|
||||
stop slave;
|
||||
create table t2 (n int)ENGINE=InnoDB;
|
||||
insert into t2 values (1);
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=InnoDB
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* XID */
|
||||
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=InnoDB
|
||||
master-bin.000001 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid 1 # COMMIT /* XID */
|
||||
master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
|
||||
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=InnoDB
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; drop table t1
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=InnoDB
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Rotate # # master-bin.000002;pos=4
|
||||
show binlog events in 'master-bin.000002';
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000002 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
|
||||
@ -72,13 +71,13 @@ master-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000002 # Xid 1 # COMMIT /* XID */
|
||||
show binary logs;
|
||||
Log_name File_size
|
||||
master-bin.000001 1313
|
||||
master-bin.000002 403
|
||||
master-bin.000001 1314
|
||||
master-bin.000002 404
|
||||
start slave;
|
||||
show binary logs;
|
||||
Log_name File_size
|
||||
slave-bin.000001 1411
|
||||
slave-bin.000002 304
|
||||
slave-bin.000001 1412
|
||||
slave-bin.000002 305
|
||||
show binlog events in 'slave-bin.000001' from 4;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
|
||||
@ -102,7 +101,7 @@ slave-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
slave-bin.000002 # Xid 1 # COMMIT /* XID */
|
||||
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
|
||||
# 127.0.0.1 root MASTER_PORT 1 master-bin.000002 403 # # master-bin.000002 Yes Yes # 0 0 403 # None 0 No #
|
||||
# 127.0.0.1 root MASTER_PORT 1 master-bin.000002 404 # # master-bin.000002 Yes Yes # 0 0 404 # None 0 No #
|
||||
show binlog events in 'slave-bin.000005' from 4;
|
||||
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
|
||||
DROP TABLE t1;
|
||||
@ -113,11 +112,10 @@ insert into t1 values (NULL, 1);
|
||||
reset master;
|
||||
set insert_id=5;
|
||||
insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id());
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 # Table_map 1 # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
select * from t1;
|
||||
a b
|
||||
1 1
|
||||
|
@ -6,12 +6,12 @@ drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
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
|
||||
# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 105 # # master-bin.000001 Yes Yes # 0 0 105 # None 0 No #
|
||||
# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 106 # # master-bin.000001 Yes Yes # 0 0 106 # None 0 No #
|
||||
stop slave;
|
||||
change master to master_user='test';
|
||||
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
|
||||
# 127.0.0.1 test MASTER_PORT 1 master-bin.000001 105 # # master-bin.000001 No No # 0 0 105 # None 0 No #
|
||||
# 127.0.0.1 test MASTER_PORT 1 master-bin.000001 106 # # master-bin.000001 No No # 0 0 106 # None 0 No #
|
||||
reset slave;
|
||||
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
|
||||
@ -19,7 +19,7 @@ Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File
|
||||
start slave;
|
||||
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
|
||||
# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 105 # # master-bin.000001 Yes Yes # 0 0 105 # None 0 No #
|
||||
# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 106 # # master-bin.000001 Yes Yes # 0 0 106 # None 0 No #
|
||||
stop slave;
|
||||
reset slave;
|
||||
start slave;
|
||||
|
@ -21,7 +21,7 @@ n
|
||||
4
|
||||
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
|
||||
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 743 slave-relay-bin.000004 # master-bin.000001 # No 0 0 314 # Master master-bin.000001 311 No #
|
||||
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 744 slave-relay-bin.000004 # master-bin.000001 # No 0 0 315 # Master master-bin.000001 311 No #
|
||||
start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
|
||||
select * from t1;
|
||||
n
|
||||
@ -31,7 +31,7 @@ n
|
||||
4
|
||||
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
|
||||
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 743 slave-relay-bin.000004 # master-bin.000001 # No 0 0 314 # Master master-no-such-bin.000001 291 No #
|
||||
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 744 slave-relay-bin.000004 # master-bin.000001 # No 0 0 315 # Master master-no-such-bin.000001 291 No #
|
||||
start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=728;
|
||||
select * from t2;
|
||||
n
|
||||
@ -39,13 +39,13 @@ n
|
||||
2
|
||||
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
|
||||
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 743 slave-relay-bin.000004 # master-bin.000001 # No 0 0 589 # Relay slave-relay-bin.000004 728 No #
|
||||
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 744 slave-relay-bin.000004 # master-bin.000001 # No 0 0 590 # Relay slave-relay-bin.000004 728 No #
|
||||
start slave;
|
||||
stop slave;
|
||||
start slave until master_log_file='master-bin.000001', master_log_pos=740;
|
||||
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
|
||||
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 743 slave-relay-bin.000004 # master-bin.000001 Yes No 0 0 743 # Master master-bin.000001 740 No #
|
||||
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 744 slave-relay-bin.000004 # master-bin.000001 Yes No 0 0 744 # Master master-bin.000001 740 No #
|
||||
start slave until master_log_file='master-bin', master_log_pos=561;
|
||||
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
|
||||
start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
|
||||
|
@ -47,17 +47,16 @@ flush logs;
|
||||
stop slave;
|
||||
create table t2 (n int)ENGINE=MyISAM;
|
||||
insert into t2 values (1);
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
|
||||
master-bin.000001 # Intvar 1 # INSERT_ID=1
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL)
|
||||
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
|
||||
master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581
|
||||
master-bin.000001 # Execute_load_query 1 # use `test`; load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines ;file_id=1
|
||||
master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
|
||||
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
|
||||
master-bin.000001 # Intvar # # INSERT_ID=1
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values (NULL)
|
||||
master-bin.000001 # Query # # use `test`; drop table t1
|
||||
master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
|
||||
master-bin.000001 # Begin_load_query # # ;file_id=1;block_len=581
|
||||
master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/words.dat' into table t1 ignore 1 lines ;file_id=1
|
||||
master-bin.000001 # Rotate # # master-bin.000002;pos=4
|
||||
show binlog events in 'master-bin.000002';
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000002 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
|
||||
@ -103,12 +102,11 @@ insert into t1 values (NULL, 1);
|
||||
reset master;
|
||||
set insert_id=5;
|
||||
insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id());
|
||||
show binlog events;
|
||||
show binlog events from <binlog_start>;
|
||||
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 # Intvar 1 # LAST_INSERT_ID=1
|
||||
master-bin.000001 # Intvar 1 # INSERT_ID=5
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id())
|
||||
master-bin.000001 # Intvar # # LAST_INSERT_ID=1
|
||||
master-bin.000001 # Intvar # # INSERT_ID=5
|
||||
master-bin.000001 # Query # # use `test`; insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id())
|
||||
select * from t1;
|
||||
a b
|
||||
1 1
|
||||
|
@ -29,13 +29,12 @@ SELECT * FROM t1;
|
||||
a b
|
||||
**** On Master ****
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 214 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 214 Query 1 311 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 311 Query 1 391 use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 391 Query 1 467 use `test`; DROP TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=MIXED;
|
||||
SET GLOBAL BINLOG_FORMAT=MIXED;
|
||||
@ -61,13 +60,12 @@ SELECT * FROM t1;
|
||||
a b
|
||||
**** On Master ****
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 214 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 214 Query 1 311 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 311 Query 1 391 use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 391 Query 1 467 use `test`; DROP TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=ROW;
|
||||
SET GLOBAL BINLOG_FORMAT=ROW;
|
||||
@ -93,14 +91,13 @@ SELECT * FROM t1;
|
||||
a b
|
||||
**** On Master ****
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 214 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 214 Table_map 1 254 table_id: # (test.t1)
|
||||
master-bin.000001 254 Write_rows 1 301 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 301 Query 1 381 use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 381 Query 1 457 use `test`; DROP TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=STATEMENT;
|
||||
SET GLOBAL BINLOG_FORMAT=STATEMENT;
|
||||
@ -126,13 +123,12 @@ SELECT * FROM t1;
|
||||
a b
|
||||
**** On Master ****
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 214 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 214 Query 1 311 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 311 Query 1 388 use `test`; DELETE FROM t1
|
||||
master-bin.000001 388 Query 1 464 use `test`; DROP TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 # Query # # use `test`; DELETE FROM t1
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=MIXED;
|
||||
SET GLOBAL BINLOG_FORMAT=MIXED;
|
||||
@ -158,13 +154,12 @@ SELECT * FROM t1;
|
||||
a b
|
||||
**** On Master ****
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 214 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 214 Query 1 311 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 311 Query 1 388 use `test`; DELETE FROM t1
|
||||
master-bin.000001 388 Query 1 464 use `test`; DROP TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 # Query # # use `test`; DELETE FROM t1
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=ROW;
|
||||
SET GLOBAL BINLOG_FORMAT=ROW;
|
||||
@ -191,12 +186,11 @@ a b
|
||||
3 3
|
||||
**** On Master ****
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 214 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 214 Table_map 1 254 table_id: # (test.t1)
|
||||
master-bin.000001 254 Write_rows 1 301 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 301 Table_map 1 341 table_id: # (test.t1)
|
||||
master-bin.000001 341 Delete_rows 1 388 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 388 Query 1 464 use `test`; DROP TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
||||
|
@ -29,15 +29,14 @@ SELECT * FROM t1;
|
||||
a b
|
||||
**** On Master ****
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 214 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
|
||||
master-bin.000001 214 Query 1 97 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 311 Xid 1 338 COMMIT /* xid= */
|
||||
master-bin.000001 338 Query 1 80 use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 418 Xid 1 445 COMMIT /* xid= */
|
||||
master-bin.000001 445 Query 1 521 use `test`; DROP TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=MIXED;
|
||||
SET GLOBAL BINLOG_FORMAT=MIXED;
|
||||
@ -63,15 +62,14 @@ SELECT * FROM t1;
|
||||
a b
|
||||
**** On Master ****
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 214 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
|
||||
master-bin.000001 214 Query 1 97 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 311 Xid 1 338 COMMIT /* xid= */
|
||||
master-bin.000001 338 Query 1 80 use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 418 Xid 1 445 COMMIT /* xid= */
|
||||
master-bin.000001 445 Query 1 521 use `test`; DROP TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=ROW;
|
||||
SET GLOBAL BINLOG_FORMAT=ROW;
|
||||
@ -97,16 +95,15 @@ SELECT * FROM t1;
|
||||
a b
|
||||
**** On Master ****
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 214 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
|
||||
master-bin.000001 214 Table_map 1 40 table_id: # (test.t1)
|
||||
master-bin.000001 254 Write_rows 1 87 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 301 Xid 1 328 COMMIT /* xid= */
|
||||
master-bin.000001 328 Query 1 80 use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 408 Xid 1 435 COMMIT /* xid= */
|
||||
master-bin.000001 435 Query 1 511 use `test`; DROP TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=STATEMENT;
|
||||
SET GLOBAL BINLOG_FORMAT=STATEMENT;
|
||||
@ -132,15 +129,14 @@ SELECT * FROM t1;
|
||||
a b
|
||||
**** On Master ****
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 214 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
|
||||
master-bin.000001 214 Query 1 97 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 311 Xid 1 338 COMMIT /* xid= */
|
||||
master-bin.000001 338 Query 1 77 use `test`; DELETE FROM t1
|
||||
master-bin.000001 415 Xid 1 442 COMMIT /* xid= */
|
||||
master-bin.000001 442 Query 1 518 use `test`; DROP TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; DELETE FROM t1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=MIXED;
|
||||
SET GLOBAL BINLOG_FORMAT=MIXED;
|
||||
@ -166,15 +162,14 @@ SELECT * FROM t1;
|
||||
a b
|
||||
**** On Master ****
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 214 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
|
||||
master-bin.000001 214 Query 1 97 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 311 Xid 1 338 COMMIT /* xid= */
|
||||
master-bin.000001 338 Query 1 77 use `test`; DELETE FROM t1
|
||||
master-bin.000001 415 Xid 1 442 COMMIT /* xid= */
|
||||
master-bin.000001 442 Query 1 518 use `test`; DROP TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; DELETE FROM t1
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=ROW;
|
||||
SET GLOBAL BINLOG_FORMAT=ROW;
|
||||
@ -201,14 +196,13 @@ a b
|
||||
3 3
|
||||
**** On Master ****
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 106 Query 1 214 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
|
||||
master-bin.000001 214 Table_map 1 40 table_id: # (test.t1)
|
||||
master-bin.000001 254 Write_rows 1 87 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 301 Xid 1 328 COMMIT /* xid= */
|
||||
master-bin.000001 328 Table_map 1 40 table_id: # (test.t1)
|
||||
master-bin.000001 368 Delete_rows 1 87 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 415 Xid 1 442 COMMIT /* xid= */
|
||||
master-bin.000001 442 Query 1 518 use `test`; DROP TABLE t1
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
||||
|
@ -22,8 +22,8 @@ affected rows: 2
|
||||
"Running on the slave"
|
||||
SELECT * FROM mysql.func;
|
||||
name ret dl type
|
||||
myfunc_double 1 udf_example.dll function
|
||||
myfunc_int 2 udf_example.dll function
|
||||
myfunc_double 1 UDF_LIB function
|
||||
myfunc_int 2 UDF_LIB function
|
||||
affected rows: 2
|
||||
"Running on the master"
|
||||
CREATE TABLE t1(sum INT, price FLOAT(24)) ENGINE=MyISAM;
|
||||
@ -174,8 +174,8 @@ affected rows: 2
|
||||
"Running on the slave"
|
||||
SELECT * FROM mysql.func;
|
||||
name ret dl type
|
||||
myfunc_int 2 udf_example.dll function
|
||||
myfunc_double 1 udf_example.dll function
|
||||
myfunc_int 2 UDF_LIB function
|
||||
myfunc_double 1 UDF_LIB function
|
||||
affected rows: 2
|
||||
"Running on the master"
|
||||
CREATE TABLE t1(sum INT, price FLOAT(24)) ENGINE=MyISAM;
|
||||
|
@ -621,3 +621,20 @@ Pos Instruction
|
||||
0 stmt 2 "CREATE INDEX idx ON t1 (c1)"
|
||||
DROP PROCEDURE p1;
|
||||
End of 5.0 tests.
|
||||
CREATE PROCEDURE p1()
|
||||
BEGIN
|
||||
DECLARE dummy int default 0;
|
||||
CASE 12
|
||||
WHEN 12
|
||||
THEN SET dummy = 0;
|
||||
END CASE;
|
||||
END//
|
||||
SHOW PROCEDURE CODE p1;
|
||||
Pos Instruction
|
||||
0 set dummy@0 0
|
||||
1 set_case_expr (6) 0 12
|
||||
2 jump_if_not 5(6) (case_expr@0 = 12)
|
||||
3 set dummy@0 0
|
||||
4 jump 6
|
||||
5 error 1339
|
||||
DROP PROCEDURE p1;
|
||||
|
@ -3905,6 +3905,48 @@ COUNT(*) a
|
||||
2 2
|
||||
3 3
|
||||
DROP TABLE t1,t2;
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
CREATE TABLE t2 (m int, n int);
|
||||
INSERT INTO t1 VALUES (2,2), (2,2), (3,3), (3,3), (3,3), (4,4);
|
||||
INSERT INTO t2 VALUES (1,11), (2,22), (3,32), (4,44), (4,44);
|
||||
SELECT COUNT(*) c, a,
|
||||
(SELECT GROUP_CONCAT(COUNT(a)) FROM t2 WHERE m = a)
|
||||
FROM t1 GROUP BY a;
|
||||
c a (SELECT GROUP_CONCAT(COUNT(a)) FROM t2 WHERE m = a)
|
||||
2 2 2
|
||||
3 3 3
|
||||
1 4 1,1
|
||||
SELECT COUNT(*) c, a,
|
||||
(SELECT GROUP_CONCAT(COUNT(a)+1) FROM t2 WHERE m = a)
|
||||
FROM t1 GROUP BY a;
|
||||
c a (SELECT GROUP_CONCAT(COUNT(a)+1) FROM t2 WHERE m = a)
|
||||
2 2 3
|
||||
3 3 4
|
||||
1 4 2,2
|
||||
DROP table t1,t2;
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
INSERT INTO t1 VALUES (2,22),(1,11),(2,22);
|
||||
SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 0 GROUP BY a;
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 1 GROUP BY a;
|
||||
a
|
||||
SELECT a FROM t1 t0
|
||||
WHERE (SELECT COUNT(t0.b) FROM t1 t WHERE t.b>20) GROUP BY a;
|
||||
a
|
||||
1
|
||||
2
|
||||
SET @@sql_mode='ansi';
|
||||
SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 0 GROUP BY a;
|
||||
ERROR HY000: Invalid use of group function
|
||||
SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 1 GROUP BY a;
|
||||
ERROR HY000: Invalid use of group function
|
||||
SELECT a FROM t1 t0
|
||||
WHERE (SELECT COUNT(t0.b) FROM t1 t WHERE t.b>20) GROUP BY a;
|
||||
ERROR HY000: Invalid use of group function
|
||||
SET @@sql_mode=default;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (s1 char(1));
|
||||
INSERT INTO t1 VALUES ('a');
|
||||
SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1);
|
||||
|
@ -661,12 +661,6 @@ SELECT * FROM t1 GROUP by t1.a
|
||||
HAVING (MAX(t1.b) > (SELECT MAX(t2.b) FROM t2 WHERE t2.c < t1.c
|
||||
HAVING MAX(t2.b+t1.a) < 10));
|
||||
a b c
|
||||
SELECT a, AVG(b), (SELECT t.c FROM t1 AS t WHERE t1.a=t.a AND t.b=AVG(t1.b))
|
||||
AS test FROM t1 GROUP BY a;
|
||||
a AVG(b) test
|
||||
1 4.0000 NULL
|
||||
2 2.0000 k
|
||||
3 2.5000 NULL
|
||||
SELECT a,b,c FROM t1 WHERE b in (9,3,4) ORDER BY b,c;
|
||||
a b c
|
||||
1 3 c
|
||||
|
@ -20,7 +20,7 @@
|
||||
# ER_SERVER_SHUTDOWN (i.e. disconnection just rolls back transaction
|
||||
# and does not make slave to stop)
|
||||
flush logs;
|
||||
--exec $MYSQL_BINLOG --start-position=519 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
|
||||
--exec $MYSQL_BINLOG --start-position=520 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval select
|
||||
(@a:=load_file("$MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
|
||||
|
@ -12,7 +12,7 @@
|
||||
# ER_SERVER_SHUTDOWN (i.e. disconnection just rolls back transaction
|
||||
# and does not make slave to stop)
|
||||
flush logs;
|
||||
--exec $MYSQL_BINLOG --start-position=556 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
|
||||
--exec $MYSQL_BINLOG --start-position=555 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval select
|
||||
(@a:=load_file("$MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
|
||||
|
@ -572,6 +572,20 @@ select utext from t1 where utext like '%%';
|
||||
drop table t1;
|
||||
deallocate prepare stmt;
|
||||
|
||||
#
|
||||
# Bug#22638 SOUNDEX broken for international characters
|
||||
#
|
||||
set names latin1;
|
||||
set character_set_connection=ucs2;
|
||||
select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
|
||||
select hex(soundex('')),hex(soundex('he')),hex(soundex('hello all folks')),hex(soundex('#3556 in bugdb'));
|
||||
select 'mood' sounds like 'mud';
|
||||
# Cyrillic A, BE, VE
|
||||
select hex(soundex(_ucs2 0x041004110412));
|
||||
# Make sure that "U+00BF INVERTED QUESTION MARK" is not considered as letter
|
||||
select hex(soundex(_ucs2 0x00BF00C0));
|
||||
set names latin1;
|
||||
|
||||
#
|
||||
# Bug #14290: character_maximum_length for text fields
|
||||
#
|
||||
|
@ -702,6 +702,14 @@ select * from t1 where soundex(a) = soundex('TEST');
|
||||
select * from t1 where soundex(a) = soundex('test');
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#22638 SOUNDEX broken for international characters
|
||||
#
|
||||
select soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB);
|
||||
select hex(soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB));
|
||||
select soundex(_utf8 0xD091D092D093);
|
||||
select hex(soundex(_utf8 0xD091D092D093));
|
||||
|
||||
|
||||
SET collation_connection='utf8_general_ci';
|
||||
-- source include/ctype_filesort.inc
|
||||
|
@ -203,3 +203,21 @@ select * from t1 where a is null;
|
||||
delete from t1 where a is null;
|
||||
select count(*) from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #26186: delete order by, sometimes accept unknown column
|
||||
#
|
||||
CREATE TABLE t1 (a INT); INSERT INTO t1 VALUES (1);
|
||||
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
DELETE FROM t1 ORDER BY x;
|
||||
|
||||
# even columns from a table not used in query (and not even existing)
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
DELETE FROM t1 ORDER BY t2.x;
|
||||
|
||||
# subquery (as long as the subquery from is valid or DUAL)
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
DELETE FROM t1 ORDER BY (SELECT x);
|
||||
|
||||
DROP TABLE t1;
|
||||
|
@ -22,9 +22,11 @@ rpl_ndb_2innodb : BUG#19227 2006-04-20 pekka pk delete apparently not r
|
||||
rpl_ndb_2myisam : BUG#19227 Seems to pass currently
|
||||
rpl_ndb_dd_partitions : BUG#19259 2006-04-21 rpl_ndb_dd_partitions fails on s/AMD
|
||||
rpl_ndb_ddl : BUG#18946 result file needs update + test needs to checked
|
||||
rpl_ddl : BUG#26418 2007-03-01 mleich Slave out of sync after CREATE/DROP TEMPORARY TABLE + ROLLBACK on master
|
||||
rpl_ndb_innodb2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement
|
||||
rpl_ndb_myisam2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement
|
||||
rpl_row_blob_innodb : BUG#18980 2006-04-10 kent Test fails randomly
|
||||
rpl_udf : BUG#27564 2007-03-31 lars New test case for rpl of UDF shows valgrind failure
|
||||
synchronization : Bug#24529 Test 'synchronization' fails on Mac pushbuild; Also on Linux 64 bit.
|
||||
|
||||
# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
|
||||
|
@ -51,7 +51,7 @@ SELECT IF(SUM(a) > 0, 'OK', 'ERROR') FROM table_4;
|
||||
DROP EVENT two_sec;
|
||||
SELECT IF(TIME_TO_SEC(TIMEDIFF(ENDS,STARTS))=6, '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;
|
||||
DROP EVENT start_n_end;
|
||||
DROP EVENT IF EXISTS events_test.start_n_end;
|
||||
--echo "Already dropped because ended. Therefore an error."
|
||||
--error ER_EVENT_DOES_NOT_EXIST
|
||||
DROP EVENT only_one_time;
|
||||
|
@ -17,6 +17,13 @@ CREATE TABLE first_db.t1 (
|
||||
)
|
||||
DEFAULT CHARSET=latin1;
|
||||
|
||||
DROP TABLE IF EXISTS first_db.t2;
|
||||
CREATE TABLE first_db.t2 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
DEFAULT CHARSET=latin1;
|
||||
|
||||
use second_db;
|
||||
DROP TABLE IF EXISTS second_db.t1;
|
||||
CREATE TABLE second_db.t1 (
|
||||
@ -25,6 +32,13 @@ CREATE TABLE second_db.t1 (
|
||||
)
|
||||
DEFAULT CHARSET=latin1;
|
||||
|
||||
DROP TABLE IF EXISTS second_db.t2;
|
||||
CREATE TABLE second_db.t2 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
DEFAULT CHARSET=latin1;
|
||||
|
||||
connection master;
|
||||
|
||||
drop server if exists 'server_one';
|
||||
@ -61,7 +75,7 @@ eval CREATE TABLE federated.old (
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/first_db/t1';
|
||||
|
||||
INSERT INTO federated.old (id, name) values (1, 'federated.old url');
|
||||
INSERT INTO federated.old (id, name) values (1, 'federated.old-> first_db.t1, url format');
|
||||
|
||||
SELECT * FROM federated.old;
|
||||
|
||||
@ -72,9 +86,32 @@ eval CREATE TABLE federated.old2 (
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/second_db/t1';
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/first_db/t2';
|
||||
|
||||
INSERT INTO federated.old2 (id, name) values (1, 'federated.old2 url');
|
||||
INSERT INTO federated.old2 (id, name) values (1, 'federated.old2-> first_db.t2, url format');
|
||||
SELECT * FROM federated.old2;
|
||||
|
||||
DROP TABLE IF EXISTS federated.urldb2t1;
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval CREATE TABLE federated.urldb2t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/second_db/t1';
|
||||
INSERT INTO federated.urldb2t1 (id, name) values (1, 'federated.urldb2t1 -> second_db.t1, url format');
|
||||
SELECT * FROM federated.urldb2t1;
|
||||
|
||||
DROP TABLE IF EXISTS federated.urldb2t2;
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval CREATE TABLE federated.urldb2t2 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/second_db/t2';
|
||||
INSERT INTO federated.urldb2t2 (id, name) values (1, 'federated.urldb2t2 -> second_db.t2, url format');
|
||||
SELECT * FROM federated.urldb2t2;
|
||||
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
CREATE TABLE federated.t1 (
|
||||
@ -84,17 +121,30 @@ CREATE TABLE federated.t1 (
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='server_one';
|
||||
|
||||
INSERT INTO federated.t1 (id, name) values (1, 'server_one, new scheme');
|
||||
INSERT INTO federated.t1 (id, name) values (1, 'server_one, new scheme, first_db.t1');
|
||||
|
||||
SELECT * FROM federated.t1;
|
||||
|
||||
DROP TABLE IF EXISTS federated.whatever;
|
||||
CREATE TABLE federated.whatever (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='server_one/t1';
|
||||
INSERT INTO federated.whatever (id, name) values (1, 'server_one, new scheme, whatever, first_db.t1');
|
||||
SELECT * FROM federated.whatever;
|
||||
|
||||
ALTER SERVER 'server_one' options(DATABASE 'second_db');
|
||||
|
||||
flush tables;
|
||||
# FLUSH TABLES is now unneccessary
|
||||
|
||||
INSERT INTO federated.t1 (id, name) values (1, 'server_two, new scheme');
|
||||
INSERT INTO federated.t1 (id, name) values (1, 'server_two, new scheme, second_db.t1');
|
||||
SELECT * FROM federated.t1;
|
||||
|
||||
INSERT INTO federated.whatever (id, name) values (1, 'server_two, new scheme, whatever, second_db.t1');
|
||||
SELECT * FROM federated.whatever;
|
||||
|
||||
drop table federated.t1;
|
||||
|
||||
drop server 'server_one';
|
||||
@ -107,4 +157,166 @@ drop table second_db.t1;
|
||||
drop database first_db;
|
||||
drop database second_db;
|
||||
|
||||
#
|
||||
# Bug#25671 - CREATE/DROP/ALTER SERVER should require privileges
|
||||
#
|
||||
# Changes to SERVER declarations should require SUPER privilege.
|
||||
# Based upon test case by Giuseppe Maxia
|
||||
|
||||
create database db_legitimate;
|
||||
create database db_bogus;
|
||||
|
||||
use db_legitimate;
|
||||
CREATE TABLE db_legitimate.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
);
|
||||
INSERT INTO db_legitimate.t1 VALUES ('1','this is legitimate');
|
||||
|
||||
use db_bogus;
|
||||
CREATE TABLE db_bogus.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
)
|
||||
;
|
||||
INSERT INTO db_bogus.t1 VALUES ('2','this is bogus');
|
||||
|
||||
connection master;
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval create server 's1' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
DATABASE 'db_legitimate',
|
||||
USER 'root',
|
||||
PASSWORD '',
|
||||
PORT $SLAVE_MYPORT,
|
||||
SOCKET '',
|
||||
OWNER 'root');
|
||||
|
||||
create user guest_select@localhost;
|
||||
grant select on federated.* to guest_select@localhost;
|
||||
|
||||
create user guest_super@localhost;
|
||||
grant select,SUPER,RELOAD on *.* to guest_super@localhost;
|
||||
|
||||
create user guest_usage@localhost;
|
||||
grant usage on *.* to guest_usage@localhost;
|
||||
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`name` varchar(64) NOT NULL default ''
|
||||
) ENGINE = FEDERATED CONNECTION = 's1';
|
||||
|
||||
select * from federated.t1;
|
||||
|
||||
connect (conn_select,127.0.0.1,guest_select,,federated,$MASTER_MYPORT);
|
||||
connect (conn_usage,127.0.0.1,guest_usage,,,$MASTER_MYPORT);
|
||||
connect (conn_super,127.0.0.1,guest_super,,,$MASTER_MYPORT);
|
||||
|
||||
connection conn_select;
|
||||
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||
alter server s1 options (database 'db_bogus');
|
||||
|
||||
connection master;
|
||||
flush tables;
|
||||
select * from federated.t1;
|
||||
|
||||
connection conn_usage;
|
||||
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||
alter server s1 options (database 'db_bogus');
|
||||
|
||||
connection master;
|
||||
flush tables;
|
||||
select * from federated.t1;
|
||||
|
||||
connection conn_super;
|
||||
alter server s1 options (database 'db_bogus');
|
||||
|
||||
connection master;
|
||||
flush tables;
|
||||
select * from federated.t1;
|
||||
|
||||
connection conn_select;
|
||||
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||
drop server if exists 's1';
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
||||
eval create server 's1' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
DATABASE 'db_legitimate',
|
||||
USER 'root',
|
||||
PASSWORD '',
|
||||
PORT $SLAVE_MYPORT,
|
||||
SOCKET '',
|
||||
OWNER 'root');
|
||||
|
||||
connection conn_super;
|
||||
drop server 's1';
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval create server 's1' foreign data wrapper 'mysql' options
|
||||
(HOST '127.0.0.1',
|
||||
DATABASE 'db_legitimate',
|
||||
USER 'root',
|
||||
PASSWORD '',
|
||||
PORT $SLAVE_MYPORT,
|
||||
SOCKET '',
|
||||
OWNER 'root');
|
||||
|
||||
connection master;
|
||||
flush tables;
|
||||
select * from federated.t1;
|
||||
|
||||
# clean up test
|
||||
connection slave;
|
||||
drop database db_legitimate;
|
||||
drop database db_bogus;
|
||||
|
||||
disconnect conn_select;
|
||||
disconnect conn_usage;
|
||||
disconnect conn_super;
|
||||
|
||||
connection master;
|
||||
drop user guest_super@localhost;
|
||||
drop user guest_usage@localhost;
|
||||
drop user guest_select@localhost;
|
||||
drop table federated.t1;
|
||||
drop server 's1';
|
||||
|
||||
|
||||
--echo # End of 5.1 tests
|
||||
|
||||
|
||||
#
|
||||
# Bug#25721 - deadlock with ALTER/CREATE SERVER
|
||||
#
|
||||
connect (other,localhost,root,,);
|
||||
connection master;
|
||||
use test;
|
||||
delimiter //;
|
||||
create procedure p1 ()
|
||||
begin
|
||||
DECLARE v INT DEFAULT 0;
|
||||
DECLARE e INT DEFAULT 0;
|
||||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET e = e + 1;
|
||||
WHILE v < 10000 do
|
||||
CREATE SERVER s
|
||||
FOREIGN DATA WRAPPER mysql
|
||||
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
|
||||
ALTER SERVER s OPTIONS (USER 'Remote');
|
||||
DROP SERVER s;
|
||||
SET v = v + 1;
|
||||
END WHILE;
|
||||
SELECT e > 0;
|
||||
END//
|
||||
delimiter ;//
|
||||
connection other;
|
||||
use test;
|
||||
send call p1();
|
||||
connection master;
|
||||
call p1();
|
||||
connection other;
|
||||
reap;
|
||||
drop procedure p1;
|
||||
drop server if exists s;
|
||||
|
||||
|
||||
source include/federated_cleanup.inc;
|
||||
|
@ -497,4 +497,14 @@ select f2,group_concat(f1) from t1 group by f2;
|
||||
--disable_metadata
|
||||
drop table t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
#
|
||||
# Bug #26815: Unexpected built-in function behavior: group_concat(distinct
|
||||
# substring_index())
|
||||
#
|
||||
CREATE TABLE t1(a TEXT, b CHAR(20));
|
||||
INSERT INTO t1 VALUES ("one.1","one.1"),("two.2","two.2"),("one.3","one.3");
|
||||
SELECT GROUP_CONCAT(DISTINCT UCASE(a)) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT UCASE(b)) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -424,6 +424,14 @@ from t1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #27164: Crash when mixing InnoDB and MyISAM Geospatial tables
|
||||
#
|
||||
CREATE TABLE t1(a POINT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (NULL);
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 4.1 tests
|
||||
|
||||
#
|
||||
@ -472,6 +480,18 @@ create table t1 (g geometry not null);
|
||||
insert into t1 values(default);
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #27300: create view with geometry functions lost columns types
|
||||
#
|
||||
CREATE TABLE t1 (a GEOMETRY);
|
||||
CREATE VIEW v1 AS SELECT GeomFromwkb(ASBINARY(a)) FROM t1;
|
||||
CREATE VIEW v2 AS SELECT a FROM t1;
|
||||
DESCRIBE v1;
|
||||
DESCRIBE v2;
|
||||
|
||||
DROP VIEW v1,v2;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #11335 View redefines column types
|
||||
#
|
||||
|
@ -755,7 +755,8 @@ SET SQL_MODE = '';
|
||||
|
||||
#
|
||||
# Bug #21174: Index degrades sort performance and
|
||||
# optimizer does not honor IGNORE INDEX
|
||||
# optimizer does not honor IGNORE INDEX.
|
||||
# a.k.a WL3527.
|
||||
#
|
||||
CREATE TABLE t1 (a INT, b INT,
|
||||
PRIMARY KEY (a),
|
||||
@ -819,4 +820,8 @@ EXPLAIN SELECT a, SUM(b) FROM t2 IGNORE INDEX (a) GROUP BY a LIMIT 2;
|
||||
EXPLAIN SELECT 1 FROM t2 WHERE a IN
|
||||
(SELECT a FROM t1 USE INDEX (i2) IGNORE INDEX (i2));
|
||||
|
||||
SHOW VARIABLES LIKE 'old';
|
||||
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
|
||||
SET @@old = off;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
@ -182,6 +182,37 @@ delete from t1 where a >= 2;
|
||||
select a from t1 order by a;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#26996 - Update of a Field in a Memory Table ends with wrong result
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
c1 CHAR(3),
|
||||
c2 INTEGER,
|
||||
KEY USING BTREE(c1),
|
||||
KEY USING BTREE(c2)
|
||||
) ENGINE= MEMORY;
|
||||
INSERT INTO t1 VALUES ('ABC',0), ('A',0), ('B',0), ('C',0);
|
||||
UPDATE t1 SET c2= c2 + 1 WHERE c1 = 'A';
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
|
||||
# causes incorrect duplicate entries
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
c1 ENUM('1', '2'),
|
||||
UNIQUE USING BTREE(c1)
|
||||
) ENGINE= MEMORY DEFAULT CHARSET= utf8;
|
||||
INSERT INTO t1 VALUES('1'), ('2');
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
c1 SET('1', '2'),
|
||||
UNIQUE USING BTREE(c1)
|
||||
) ENGINE= MEMORY DEFAULT CHARSET= utf8;
|
||||
INSERT INTO t1 VALUES('1'), ('2');
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 4.1 tests
|
||||
|
||||
#
|
||||
@ -205,3 +236,4 @@ INSERT INTO t1 VALUES(NULL),(NULL);
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
|
@ -195,3 +195,55 @@ SELECT LAST_INSERT_ID();
|
||||
INSERT t1 (f2) VALUES ('test') ON DUPLICATE KEY UPDATE f1 = LAST_INSERT_ID(f1);
|
||||
SELECT LAST_INSERT_ID();
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#23233: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE in the
|
||||
# NO_AUTO_VALUE_ON_ZERO mode.
|
||||
#
|
||||
SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO';
|
||||
CREATE TABLE `t1` (
|
||||
`id` int(11) PRIMARY KEY auto_increment,
|
||||
`f1` varchar(10) NOT NULL UNIQUE
|
||||
);
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test1")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test1")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
SELECT LAST_INSERT_ID();
|
||||
SELECT * FROM t1;
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test2")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
SELECT * FROM t1;
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test2")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
SELECT LAST_INSERT_ID();
|
||||
SELECT * FROM t1;
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test3")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
SELECT LAST_INSERT_ID();
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE `t1` (
|
||||
`id` int(11) PRIMARY KEY auto_increment,
|
||||
`f1` varchar(10) NOT NULL UNIQUE
|
||||
);
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test1")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
SELECT LAST_INSERT_ID();
|
||||
SELECT * FROM t1;
|
||||
INSERT IGNORE INTO t1 (f1) VALUES ("test1"),("test4")
|
||||
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
|
||||
SELECT LAST_INSERT_ID();
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE `t1` (
|
||||
`id` int(11) PRIMARY KEY auto_increment,
|
||||
`f1` varchar(10) NOT NULL UNIQUE,
|
||||
tim1 timestamp default '2003-01-01 00:00:00' on update current_timestamp
|
||||
);
|
||||
INSERT INTO t1 (f1) VALUES ("test1");
|
||||
SELECT id, f1 FROM t1;
|
||||
REPLACE INTO t1 VALUES (0,"test1",null);
|
||||
SELECT id, f1 FROM t1;
|
||||
DROP TABLE t1;
|
||||
SET SQL_MODE='';
|
||||
|
@ -874,6 +874,150 @@ CREATE TABLE t1 (c1 TEXT) AVG_ROW_LENGTH=70100 MAX_ROWS=4100100100;
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#26231 - select count(*) on myisam table returns wrong value
|
||||
# when index is used
|
||||
#
|
||||
CREATE TABLE t1 (c1 TEXT NOT NULL, KEY c1 (c1(10))) ENGINE=MyISAM;
|
||||
# Fill at least two key blocks. "Tab, A" must be in both blocks.
|
||||
INSERT INTO t1 VALUES
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)), (CHAR(9,65)),
|
||||
(''), (''), (''), (''),
|
||||
(' B'), (' B'), (' B'), (' B');
|
||||
SELECT DISTINCT COUNT(*) FROM t1 WHERE c1 = '';
|
||||
SELECT DISTINCT length(c1), c1 FROM t1 WHERE c1 = '';
|
||||
SELECT DISTINCT COUNT(*) FROM t1 IGNORE INDEX (c1) WHERE c1 = '';
|
||||
SELECT DISTINCT length(c1), c1 FROM t1 IGNORE INDEX (c1) WHERE c1 = '';
|
||||
SELECT DISTINCT length(c1), c1 FROM t1 ORDER BY c1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 4.1 tests
|
||||
|
||||
|
||||
|
@ -568,6 +568,149 @@ SELECT s.oxid FROM t1 v, t1 s
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# BUG#26624 high mem usage (crash) in range optimizer (depends on order of fields in where)
|
||||
create table t1 (
|
||||
c1 char(10), c2 char(10), c3 char(10), c4 char(10),
|
||||
c5 char(10), c6 char(10), c7 char(10), c8 char(10),
|
||||
c9 char(10), c10 char(10), c11 char(10), c12 char(10),
|
||||
c13 char(10), c14 char(10), c15 char(10), c16 char(10),
|
||||
index(c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,c13,c14,c15,c16)
|
||||
);
|
||||
insert into t1 (c1) values ('1'),('1'),('1'),('1');
|
||||
|
||||
# This must run without crash and fast:
|
||||
select * from t1 where
|
||||
c1 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c2 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c3 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c4 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c5 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c6 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c7 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c8 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c9 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC")
|
||||
and c10 in ("abcdefgh", "123456789", "qwertyuio", "asddfgh",
|
||||
"abcdefg1", "123456781", "qwertyui1", "asddfg1",
|
||||
"abcdefg2", "123456782", "qwertyui2", "asddfg2",
|
||||
"abcdefg3", "123456783", "qwertyui3", "asddfg3",
|
||||
"abcdefg4", "123456784", "qwertyui4", "asddfg4",
|
||||
"abcdefg5", "123456785", "qwertyui5", "asddfg5",
|
||||
"abcdefg6", "123456786", "qwertyui6", "asddfg6",
|
||||
"abcdefg7", "123456787", "qwertyui7", "asddfg7",
|
||||
"abcdefg8", "123456788", "qwertyui8", "asddfg8",
|
||||
"abcdefg9", "123456789", "qwertyui9", "asddfg9",
|
||||
"abcdefgA", "12345678A", "qwertyuiA", "asddfgA",
|
||||
"abcdefgB", "12345678B", "qwertyuiB", "asddfgB",
|
||||
"abcdefgC", "12345678C", "qwertyuiC", "asddfgC");
|
||||
drop table t1;
|
||||
--echo End of 4.1 tests
|
||||
|
||||
#
|
||||
|
@ -22,13 +22,11 @@
|
||||
# effects like failing 'sync_slave_with_master', crashes of the slave or
|
||||
# abort of the test case etc..
|
||||
#
|
||||
# 3. The assignment of the DDL command to be tested to $my_stmt can
|
||||
# be a bit difficult. "'" must be avoided, because the test
|
||||
# routine "include/rpl_stmt_seq.inc" performs a
|
||||
# eval SELECT CONCAT('######## ','$my_stmt',' ########') as "";
|
||||
#
|
||||
--source include/not_ndb_default.inc
|
||||
--source include/have_innodb.inc
|
||||
--source include/master-slave.inc
|
||||
let $engine_type= "InnoDB";
|
||||
--source include/have_innodb.inc
|
||||
let $engine_type= InnoDB;
|
||||
let $temp_engine_type= MEMORY;
|
||||
let $show_binlog = 0;
|
||||
let $manipulate = 0;
|
||||
-- source extra/rpl_tests/rpl_ddl.test
|
||||
|
1
mysql-test/t/rpl_incident-master.opt
Normal file
1
mysql-test/t/rpl_incident-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--loose-debug=+d,incident_database_resync_on_replace
|
@ -7,13 +7,9 @@ CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
SELECT * FROM t1;
|
||||
|
||||
SET @saved = @@debug;
|
||||
SET SESSION debug="d,incident_database_resync_on_replace";
|
||||
|
||||
# This will generate an incident log event and store it in the binary
|
||||
# log before the replace statement.
|
||||
REPLACE INTO t1 VALUES (4);
|
||||
SET SESSION debug=@saved;
|
||||
--save_master_pos
|
||||
SELECT * FROM t1;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
######################## rpl_ddl.test ########################
|
||||
#################### rpl_ndb_ddl.test ########################
|
||||
# #
|
||||
# DDL statements (sometimes with implicit COMMIT) executed #
|
||||
# by the master and it's propagation into the slave #
|
||||
@ -22,14 +22,11 @@
|
||||
# effects like failing 'sync_slave_with_master', crashes of the slave or
|
||||
# abort of the test case etc..
|
||||
#
|
||||
# 3. The assignment of the DDL command to be tested to $my_stmt can
|
||||
# be a bit difficult. "'" must be avoided, because the test
|
||||
# routine "include/rpl_stmt_seq.inc" performs a
|
||||
# eval SELECT CONCAT('######## ','$my_stmt',' ########') as "";
|
||||
#
|
||||
|
||||
--source include/have_ndb.inc
|
||||
--source include/master-slave.inc
|
||||
let $engine_type= "NDB";
|
||||
-- source extra/rpl_tests/rpl_ndb_ddl.test
|
||||
|
||||
--source include/have_ndb.inc
|
||||
let $engine_type= NDB;
|
||||
let $temp_engine_type= MEMORY;
|
||||
let $show_binlog = 0;
|
||||
let $manipulate = 0;
|
||||
-- source extra/rpl_tests/rpl_ddl.test
|
||||
|
@ -21,7 +21,7 @@ DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
# Set the default storage engine to different values on master and
|
||||
# slave. We need to stop the slave for the server variable to take
|
||||
# effect, since the variable is only read on start-up.
|
||||
connection slave;
|
||||
sync_slave_with_master;
|
||||
--disable_query_log
|
||||
set @storage_engine = @@global.storage_engine;
|
||||
STOP SLAVE;
|
||||
|
@ -447,3 +447,21 @@ DROP PROCEDURE p1;
|
||||
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
||||
#
|
||||
# Bug #26303: reserve() not called before qs_append() may lead to buffer
|
||||
# overflow
|
||||
#
|
||||
DELIMITER //;
|
||||
CREATE PROCEDURE p1()
|
||||
BEGIN
|
||||
DECLARE dummy int default 0;
|
||||
|
||||
CASE 12
|
||||
WHEN 12
|
||||
THEN SET dummy = 0;
|
||||
END CASE;
|
||||
END//
|
||||
DELIMITER ;//
|
||||
SHOW PROCEDURE CODE p1;
|
||||
DROP PROCEDURE p1;
|
||||
|
@ -2765,6 +2765,50 @@ SELECT COUNT(*), a
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
#
|
||||
# Bug #27229: GROUP_CONCAT in subselect with COUNT() as an argument
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
CREATE TABLE t2 (m int, n int);
|
||||
INSERT INTO t1 VALUES (2,2), (2,2), (3,3), (3,3), (3,3), (4,4);
|
||||
INSERT INTO t2 VALUES (1,11), (2,22), (3,32), (4,44), (4,44);
|
||||
|
||||
SELECT COUNT(*) c, a,
|
||||
(SELECT GROUP_CONCAT(COUNT(a)) FROM t2 WHERE m = a)
|
||||
FROM t1 GROUP BY a;
|
||||
|
||||
SELECT COUNT(*) c, a,
|
||||
(SELECT GROUP_CONCAT(COUNT(a)+1) FROM t2 WHERE m = a)
|
||||
FROM t1 GROUP BY a;
|
||||
|
||||
DROP table t1,t2;
|
||||
|
||||
#
|
||||
# Bug #27348: SET FUNCTION used in a subquery from WHERE condition
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
INSERT INTO t1 VALUES (2,22),(1,11),(2,22);
|
||||
|
||||
SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 0 GROUP BY a;
|
||||
SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 1 GROUP BY a;
|
||||
|
||||
SELECT a FROM t1 t0
|
||||
WHERE (SELECT COUNT(t0.b) FROM t1 t WHERE t.b>20) GROUP BY a;
|
||||
|
||||
SET @@sql_mode='ansi';
|
||||
--error 1111
|
||||
SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 0 GROUP BY a;
|
||||
--error 1111
|
||||
SELECT a FROM t1 WHERE (SELECT COUNT(b) FROM DUAL) > 1 GROUP BY a;
|
||||
|
||||
--error 1111
|
||||
SELECT a FROM t1 t0
|
||||
WHERE (SELECT COUNT(t0.b) FROM t1 t WHERE t.b>20) GROUP BY a;
|
||||
|
||||
SET @@sql_mode=default;
|
||||
DROP TABLE t1;
|
||||
|
||||
# Bug#20835 (literal string with =any values)
|
||||
#
|
||||
CREATE TABLE t1 (s1 char(1));
|
||||
|
@ -507,8 +507,9 @@ SELECT a, MAX(b), (SELECT t.c FROM t1 AS t WHERE t1.a=t.a AND t.b=MAX(t1.b))
|
||||
SELECT * FROM t1 GROUP by t1.a
|
||||
HAVING (MAX(t1.b) > (SELECT MAX(t2.b) FROM t2 WHERE t2.c < t1.c
|
||||
HAVING MAX(t2.b+t1.a) < 10));
|
||||
SELECT a, AVG(b), (SELECT t.c FROM t1 AS t WHERE t1.a=t.a AND t.b=AVG(t1.b))
|
||||
AS test FROM t1 GROUP BY a;
|
||||
#FIXME: Enable this test after fixing bug #27321
|
||||
#SELECT a, AVG(b), (SELECT t.c FROM t1 AS t WHERE t1.a=t.a AND t.b=AVG(t1.b))
|
||||
# AS test FROM t1 GROUP BY a;
|
||||
|
||||
SELECT a,b,c FROM t1 WHERE b in (9,3,4) ORDER BY b,c;
|
||||
|
||||
|
@ -37,7 +37,7 @@ uint my_pread(File Filedes, byte *Buffer, uint Count, my_off_t offset,
|
||||
errno=0; /* Linux doesn't reset this */
|
||||
#endif
|
||||
#ifndef HAVE_PREAD
|
||||
off_t old_offset;
|
||||
os_off_t old_offset;
|
||||
|
||||
pthread_mutex_lock(&my_file_info[Filedes].mutex);
|
||||
/*
|
||||
@ -45,7 +45,7 @@ uint my_pread(File Filedes, byte *Buffer, uint Count, my_off_t offset,
|
||||
before seeking to the given offset
|
||||
*/
|
||||
|
||||
error= (old_offset= (off_t)lseek(Filedes, 0L, MY_SEEK_CUR)) == -1L ||
|
||||
error= (old_offset= lseek(Filedes, 0L, MY_SEEK_CUR)) == -1L ||
|
||||
lseek(Filedes, offset, MY_SEEK_SET) == -1L;
|
||||
|
||||
if (!error) /* Seek was successful */
|
||||
@ -116,7 +116,7 @@ uint my_pwrite(int Filedes, const byte *Buffer, uint Count, my_off_t offset,
|
||||
{
|
||||
#ifndef HAVE_PREAD
|
||||
int error= 0;
|
||||
off_t old_offset;
|
||||
os_off_t old_offset;
|
||||
writenbytes= (uint) -1;
|
||||
pthread_mutex_lock(&my_file_info[Filedes].mutex);
|
||||
|
||||
@ -124,7 +124,7 @@ uint my_pwrite(int Filedes, const byte *Buffer, uint Count, my_off_t offset,
|
||||
As we cannot change the file pointer, we save the old position,
|
||||
before seeking to the given offset
|
||||
*/
|
||||
error= ((old_offset= (off_t)lseek(Filedes, 0L, MY_SEEK_CUR)) == -1L ||
|
||||
error= ((old_offset= lseek(Filedes, 0L, MY_SEEK_CUR)) == -1L ||
|
||||
lseek(Filedes, offset, MY_SEEK_SET) == -1L);
|
||||
|
||||
if (!error) /* Seek was successful */
|
||||
|
@ -29,8 +29,6 @@
|
||||
#define SCHED_POLICY SCHED_OTHER
|
||||
#endif
|
||||
|
||||
uint thd_lib_detected= 0;
|
||||
|
||||
uint thd_lib_detected;
|
||||
|
||||
#ifndef my_pthread_setprio
|
||||
|
@ -59,7 +59,7 @@ int my_redel(const char *org_name, const char *tmp_name, myf MyFlags)
|
||||
MyFlags))
|
||||
goto end;
|
||||
}
|
||||
else if (my_delete(org_name,MyFlags))
|
||||
else if (my_delete_allow_opened(org_name, MyFlags))
|
||||
goto end;
|
||||
if (my_rename(tmp_name,org_name,MyFlags))
|
||||
goto end;
|
||||
|
@ -351,7 +351,7 @@ Events::create_event(THD *thd, Event_parse_data *parse_data, bool if_not_exists)
|
||||
else /* Binlog the create event. */
|
||||
{
|
||||
event_queue->create_event(thd, new_element);
|
||||
if (mysql_bin_log.is_open())
|
||||
if (mysql_bin_log.is_open() && (thd->query_length > 0))
|
||||
{
|
||||
thd->clear_error();
|
||||
thd->binlog_query(THD::MYSQL_QUERY_TYPE,
|
||||
@ -426,7 +426,7 @@ Events::update_event(THD *thd, Event_parse_data *parse_data, sp_name *rename_to)
|
||||
{
|
||||
event_queue->update_event(thd, parse_data->dbname, parse_data->name,
|
||||
new_element);
|
||||
if (mysql_bin_log.is_open())
|
||||
if (mysql_bin_log.is_open() && (thd->query_length > 0))
|
||||
{
|
||||
thd->clear_error();
|
||||
thd->binlog_query(THD::MYSQL_QUERY_TYPE,
|
||||
@ -480,7 +480,7 @@ Events::drop_event(THD *thd, LEX_STRING dbname, LEX_STRING name, bool if_exists)
|
||||
{
|
||||
event_queue->drop_event(thd, dbname, name);
|
||||
/* Binlog the drop event. */
|
||||
if (mysql_bin_log.is_open())
|
||||
if (mysql_bin_log.is_open() && (thd->query_length > 0))
|
||||
{
|
||||
thd->clear_error();
|
||||
thd->binlog_query(THD::MYSQL_QUERY_TYPE,
|
||||
|
@ -1353,7 +1353,7 @@ public:
|
||||
int store_decimal(const my_decimal *);
|
||||
void get_key_image(char *buff,uint length,imagetype type);
|
||||
uint size_of() const { return sizeof(*this); }
|
||||
int reset(void) { return !maybe_null(); }
|
||||
int reset(void) { return !maybe_null() || Field_blob::reset(); }
|
||||
};
|
||||
#endif /*HAVE_SPATIAL*/
|
||||
|
||||
|
@ -173,7 +173,7 @@ set_field_to_null_with_conversions(Field *field, bool no_conversions)
|
||||
if (field == field->table->next_number_field)
|
||||
{
|
||||
field->table->auto_increment_field_not_null= FALSE;
|
||||
return 0; // field is set in handler.cc
|
||||
return 0; // field is set in fill_record()
|
||||
}
|
||||
if (field->table->in_use->count_cuted_fields == CHECK_FIELD_WARN)
|
||||
{
|
||||
|
@ -500,7 +500,7 @@ static int ndbcluster_reset_logs(THD *thd)
|
||||
static int
|
||||
ndbcluster_binlog_index_purge_file(THD *thd, const char *file)
|
||||
{
|
||||
if (!ndb_binlog_running)
|
||||
if (!ndb_binlog_running || thd->slave_thread)
|
||||
return 0;
|
||||
|
||||
DBUG_ENTER("ndbcluster_binlog_index_purge_file");
|
||||
|
@ -1753,7 +1753,6 @@ int handler::update_auto_increment()
|
||||
bool append= FALSE;
|
||||
THD *thd= table->in_use;
|
||||
struct system_variables *variables= &thd->variables;
|
||||
bool auto_increment_field_not_null;
|
||||
DBUG_ENTER("handler::update_auto_increment");
|
||||
|
||||
/*
|
||||
@ -1761,11 +1760,9 @@ int handler::update_auto_increment()
|
||||
than the interval, but not smaller.
|
||||
*/
|
||||
DBUG_ASSERT(next_insert_id >= auto_inc_interval_for_cur_row.minimum());
|
||||
auto_increment_field_not_null= table->auto_increment_field_not_null;
|
||||
table->auto_increment_field_not_null= FALSE; // to reset for next row
|
||||
|
||||
if ((nr= table->next_number_field->val_int()) != 0 ||
|
||||
auto_increment_field_not_null &&
|
||||
table->auto_increment_field_not_null &&
|
||||
thd->variables.sql_mode & MODE_NO_AUTO_VALUE_ON_ZERO)
|
||||
{
|
||||
/*
|
||||
|
18
sql/item.cc
18
sql/item.cc
@ -1088,7 +1088,7 @@ bool Item_splocal::set_value(THD *thd, sp_rcontext *ctx, Item **it)
|
||||
Item_case_expr methods
|
||||
*****************************************************************************/
|
||||
|
||||
Item_case_expr::Item_case_expr(int case_expr_id)
|
||||
Item_case_expr::Item_case_expr(uint case_expr_id)
|
||||
:Item_sp_variable( C_STRING_WITH_LEN("case_expr")),
|
||||
m_case_expr_id(case_expr_id)
|
||||
{
|
||||
@ -1125,6 +1125,8 @@ Item_case_expr::this_item_addr(THD *thd, Item **)
|
||||
|
||||
void Item_case_expr::print(String *str)
|
||||
{
|
||||
if (str->reserve(MAX_INT_WIDTH + sizeof("case_expr@")))
|
||||
return; /* purecov: inspected */
|
||||
VOID(str->append(STRING_WITH_LEN("case_expr@")));
|
||||
str->qs_append(m_case_expr_id);
|
||||
}
|
||||
@ -1289,15 +1291,18 @@ void Item::split_sum_func2(THD *thd, Item **ref_pointer_array,
|
||||
Exception is Item_direct_view_ref which we need to convert to
|
||||
Item_ref to allow fields from view being stored in tmp table.
|
||||
*/
|
||||
Item_aggregate_ref *item_ref;
|
||||
uint el= fields.elements;
|
||||
Item *new_item, *real_itm= real_item();
|
||||
Item *real_itm= real_item();
|
||||
|
||||
ref_pointer_array[el]= real_itm;
|
||||
if (!(new_item= new Item_aggregate_ref(&thd->lex->current_select->context,
|
||||
if (!(item_ref= new Item_aggregate_ref(&thd->lex->current_select->context,
|
||||
ref_pointer_array + el, 0, name)))
|
||||
return; // fatal_error is set
|
||||
if (type() == SUM_FUNC_ITEM)
|
||||
item_ref->depended_from= ((Item_sum *) this)->depended_from();
|
||||
fields.push_front(real_itm);
|
||||
thd->change_item_tree(ref, new_item);
|
||||
thd->change_item_tree(ref, item_ref);
|
||||
}
|
||||
}
|
||||
|
||||
@ -4358,13 +4363,16 @@ Field *Item::tmp_table_field_from_field_type(TABLE *table, bool fixed_length)
|
||||
case MYSQL_TYPE_MEDIUM_BLOB:
|
||||
case MYSQL_TYPE_LONG_BLOB:
|
||||
case MYSQL_TYPE_BLOB:
|
||||
case MYSQL_TYPE_GEOMETRY:
|
||||
if (this->type() == Item::TYPE_HOLDER)
|
||||
field= new Field_blob(max_length, maybe_null, name, collation.collation,
|
||||
1);
|
||||
else
|
||||
field= new Field_blob(max_length, maybe_null, name, collation.collation);
|
||||
break; // Blob handled outside of case
|
||||
case MYSQL_TYPE_GEOMETRY:
|
||||
return new Field_geom(max_length, maybe_null, name, table->s,
|
||||
(Field::geometry_type)
|
||||
((Item_geometry_func *)this)->get_geometry_type());
|
||||
}
|
||||
if (field)
|
||||
field->init(table);
|
||||
|
@ -1116,7 +1116,7 @@ inline Item_result Item_splocal::result_type() const
|
||||
class Item_case_expr :public Item_sp_variable
|
||||
{
|
||||
public:
|
||||
Item_case_expr(int case_expr_id);
|
||||
Item_case_expr(uint case_expr_id);
|
||||
|
||||
public:
|
||||
Item *this_item();
|
||||
@ -1135,7 +1135,7 @@ public:
|
||||
void print(String *str);
|
||||
|
||||
private:
|
||||
int m_case_expr_id;
|
||||
uint m_case_expr_id;
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
|
@ -1813,7 +1813,8 @@ void Item_func_soundex::fix_length_and_dec()
|
||||
{
|
||||
collation.set(args[0]->collation);
|
||||
max_length=args[0]->max_length;
|
||||
set_if_bigger(max_length,4);
|
||||
set_if_bigger(max_length, 4 * collation.collation->mbminlen);
|
||||
tmp_value.set_charset(collation.collation);
|
||||
}
|
||||
|
||||
|
||||
@ -1823,14 +1824,15 @@ void Item_func_soundex::fix_length_and_dec()
|
||||
else return 0
|
||||
*/
|
||||
|
||||
static char soundex_toupper(char ch)
|
||||
static int soundex_toupper(int ch)
|
||||
{
|
||||
return (ch >= 'a' && ch <= 'z') ? ch - 'a' + 'A' : ch;
|
||||
}
|
||||
|
||||
static char get_scode(char *ptr)
|
||||
|
||||
static char get_scode(int wc)
|
||||
{
|
||||
uchar ch= soundex_toupper(*ptr);
|
||||
int ch= soundex_toupper(wc);
|
||||
if (ch < 'A' || ch > 'Z')
|
||||
{
|
||||
// Thread extended alfa (country spec)
|
||||
@ -1840,46 +1842,121 @@ static char get_scode(char *ptr)
|
||||
}
|
||||
|
||||
|
||||
static bool my_uni_isalpha(int wc)
|
||||
{
|
||||
/*
|
||||
Return true for all Basic Latin letters: a..z A..Z.
|
||||
Return true for all Unicode characters with code higher than U+00C0:
|
||||
- characters between 'z' and U+00C0 are controls and punctuations.
|
||||
- "U+00C0 LATIN CAPITAL LETTER A WITH GRAVE" is the first letter after 'z'.
|
||||
*/
|
||||
return (wc >= 'a' && wc <= 'z') ||
|
||||
(wc >= 'A' && wc <= 'Z') ||
|
||||
(wc >= 0xC0);
|
||||
}
|
||||
|
||||
|
||||
String *Item_func_soundex::val_str(String *str)
|
||||
{
|
||||
DBUG_ASSERT(fixed == 1);
|
||||
String *res =args[0]->val_str(str);
|
||||
char last_ch,ch;
|
||||
CHARSET_INFO *cs= collation.collation;
|
||||
my_wc_t wc;
|
||||
uint nchars;
|
||||
int rc;
|
||||
|
||||
if ((null_value=args[0]->null_value))
|
||||
if ((null_value= args[0]->null_value))
|
||||
return 0; /* purecov: inspected */
|
||||
|
||||
if (tmp_value.alloc(max(res->length(),4)))
|
||||
if (tmp_value.alloc(max(res->length(), 4 * cs->mbminlen)))
|
||||
return str; /* purecov: inspected */
|
||||
char *to= (char *) tmp_value.ptr();
|
||||
char *from= (char *) res->ptr(), *end=from+res->length();
|
||||
tmp_value.set_charset(cs);
|
||||
char *to_end= to + tmp_value.alloced_length();
|
||||
char *from= (char *) res->ptr(), *end= from + res->length();
|
||||
|
||||
while (from != end && !my_isalpha(cs,*from)) // Skip pre-space
|
||||
from++; /* purecov: inspected */
|
||||
if (from == end)
|
||||
return &my_empty_string; // No alpha characters.
|
||||
*to++ = soundex_toupper(*from); // Copy first letter
|
||||
last_ch = get_scode(from); // code of the first letter
|
||||
// for the first 'double-letter check.
|
||||
// Loop on input letters until
|
||||
// end of input (null) or output
|
||||
// letter code count = 3
|
||||
for (from++ ; from < end ; from++)
|
||||
for ( ; ; ) /* Skip pre-space */
|
||||
{
|
||||
if (!my_isalpha(cs,*from))
|
||||
continue;
|
||||
ch=get_scode(from);
|
||||
if ((rc= cs->cset->mb_wc(cs, &wc, (uchar*) from, (uchar*) end)) <= 0)
|
||||
return &my_empty_string; /* EOL or invalid byte sequence */
|
||||
|
||||
if (rc == 1 && cs->ctype)
|
||||
{
|
||||
/* Single byte letter found */
|
||||
if (my_isalpha(cs, *from))
|
||||
{
|
||||
last_ch= get_scode(*from); // Code of the first letter
|
||||
*to++= soundex_toupper(*from++); // Copy first letter
|
||||
break;
|
||||
}
|
||||
from++;
|
||||
}
|
||||
else
|
||||
{
|
||||
from+= rc;
|
||||
if (my_uni_isalpha(wc))
|
||||
{
|
||||
/* Multibyte letter found */
|
||||
wc= soundex_toupper(wc);
|
||||
last_ch= get_scode(wc); // Code of the first letter
|
||||
if ((rc= cs->cset->wc_mb(cs, wc, (uchar*) to, (uchar*) to_end)) <= 0)
|
||||
{
|
||||
/* Extra safety - should not really happen */
|
||||
DBUG_ASSERT(false);
|
||||
return &my_empty_string;
|
||||
}
|
||||
to+= rc;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
last_ch is now set to the first 'double-letter' check.
|
||||
loop on input letters until end of input
|
||||
*/
|
||||
for (nchars= 1 ; ; )
|
||||
{
|
||||
if ((rc= cs->cset->mb_wc(cs, &wc, (uchar*) from, (uchar*) end)) <= 0)
|
||||
break; /* EOL or invalid byte sequence */
|
||||
|
||||
if (rc == 1 && cs->ctype)
|
||||
{
|
||||
if (!my_isalpha(cs, *from++))
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
from+= rc;
|
||||
if (!my_uni_isalpha(wc))
|
||||
continue;
|
||||
}
|
||||
|
||||
ch= get_scode(wc);
|
||||
if ((ch != '0') && (ch != last_ch)) // if not skipped or double
|
||||
{
|
||||
*to++ = ch; // letter, copy to output
|
||||
last_ch = ch; // save code of last input letter
|
||||
} // for next double-letter check
|
||||
// letter, copy to output
|
||||
if ((rc= cs->cset->wc_mb(cs, (my_wc_t) ch,
|
||||
(uchar*) to, (uchar*) to_end)) <= 0)
|
||||
{
|
||||
// Extra safety - should not really happen
|
||||
DBUG_ASSERT(false);
|
||||
break;
|
||||
}
|
||||
to+= rc;
|
||||
nchars++;
|
||||
last_ch= ch; // save code of last input letter
|
||||
} // for next double-letter check
|
||||
}
|
||||
for (end=(char*) tmp_value.ptr()+4 ; to < end ; to++)
|
||||
*to = '0';
|
||||
*to=0; // end string
|
||||
|
||||
/* Pad up to 4 characters with DIGIT ZERO, if the string is shorter */
|
||||
if (nchars < 4)
|
||||
{
|
||||
uint nbytes= (4 - nchars) * cs->mbminlen;
|
||||
cs->cset->fill(cs, to, nbytes, '0');
|
||||
to+= nbytes;
|
||||
}
|
||||
|
||||
tmp_value.length((uint) (to-tmp_value.ptr()));
|
||||
return &tmp_value;
|
||||
}
|
||||
|
@ -61,9 +61,9 @@ bool Item_sum::init_sum_func_check(THD *thd)
|
||||
/* Save a pointer to object to be used in items for nested set functions */
|
||||
thd->lex->in_sum_func= this;
|
||||
nest_level= thd->lex->current_select->nest_level;
|
||||
nest_level_tables_count= thd->lex->current_select->join->tables;
|
||||
ref_by= 0;
|
||||
aggr_level= -1;
|
||||
aggr_sel= NULL;
|
||||
max_arg_level= -1;
|
||||
max_sum_func_level= -1;
|
||||
return FALSE;
|
||||
@ -149,9 +149,14 @@ bool Item_sum::check_sum_func(THD *thd, Item **ref)
|
||||
if (register_sum_func(thd, ref))
|
||||
return TRUE;
|
||||
invalid= aggr_level < 0 && !(allow_sum_func & (1 << nest_level));
|
||||
if (!invalid && thd->variables.sql_mode & MODE_ANSI)
|
||||
invalid= aggr_level < 0 && max_arg_level < nest_level;
|
||||
}
|
||||
if (!invalid && aggr_level < 0)
|
||||
{
|
||||
aggr_level= nest_level;
|
||||
aggr_sel= thd->lex->current_select;
|
||||
}
|
||||
/*
|
||||
By this moment we either found a subquery where the set function is
|
||||
to be aggregated and assigned a value that is >= 0 to aggr_level,
|
||||
@ -161,8 +166,9 @@ bool Item_sum::check_sum_func(THD *thd, Item **ref)
|
||||
Additionally we have to check whether possible nested set functions
|
||||
are acceptable here: they are not, if the level of aggregation of
|
||||
some of them is less than aggr_level.
|
||||
*/
|
||||
invalid= aggr_level <= max_sum_func_level;
|
||||
*/
|
||||
if (!invalid)
|
||||
invalid= aggr_level <= max_sum_func_level;
|
||||
if (invalid)
|
||||
{
|
||||
my_message(ER_INVALID_GROUP_FUNC_USE, ER(ER_INVALID_GROUP_FUNC_USE),
|
||||
@ -212,7 +218,6 @@ bool Item_sum::check_sum_func(THD *thd, Item **ref)
|
||||
bool Item_sum::register_sum_func(THD *thd, Item **ref)
|
||||
{
|
||||
SELECT_LEX *sl;
|
||||
SELECT_LEX *aggr_sl= NULL;
|
||||
nesting_map allow_sum_func= thd->lex->allow_sum_func;
|
||||
for (sl= thd->lex->current_select->master_unit()->outer_select() ;
|
||||
sl && sl->nest_level > max_arg_level;
|
||||
@ -222,7 +227,7 @@ bool Item_sum::register_sum_func(THD *thd, Item **ref)
|
||||
{
|
||||
/* Found the most nested subquery where the function can be aggregated */
|
||||
aggr_level= sl->nest_level;
|
||||
aggr_sl= sl;
|
||||
aggr_sel= sl;
|
||||
}
|
||||
}
|
||||
if (sl && (allow_sum_func & (1 << sl->nest_level)))
|
||||
@ -233,21 +238,22 @@ bool Item_sum::register_sum_func(THD *thd, Item **ref)
|
||||
The set function will be aggregated in this subquery.
|
||||
*/
|
||||
aggr_level= sl->nest_level;
|
||||
aggr_sl= sl;
|
||||
aggr_sel= sl;
|
||||
|
||||
}
|
||||
if (aggr_level >= 0)
|
||||
{
|
||||
ref_by= ref;
|
||||
/* Add the object to the list of registered objects assigned to aggr_sl */
|
||||
if (!aggr_sl->inner_sum_func_list)
|
||||
/* Add the object to the list of registered objects assigned to aggr_sel */
|
||||
if (!aggr_sel->inner_sum_func_list)
|
||||
next= this;
|
||||
else
|
||||
{
|
||||
next= aggr_sl->inner_sum_func_list->next;
|
||||
aggr_sl->inner_sum_func_list->next= this;
|
||||
next= aggr_sel->inner_sum_func_list->next;
|
||||
aggr_sel->inner_sum_func_list->next= this;
|
||||
}
|
||||
aggr_sl->inner_sum_func_list= this;
|
||||
aggr_sl->with_sum_func= 1;
|
||||
aggr_sel->inner_sum_func_list= this;
|
||||
aggr_sel->with_sum_func= 1;
|
||||
|
||||
/*
|
||||
Mark Item_subselect(s) as containing aggregate function all the way up
|
||||
@ -265,11 +271,11 @@ bool Item_sum::register_sum_func(THD *thd, Item **ref)
|
||||
has aggregate functions directly referenced (i.e. not through a sub-select).
|
||||
*/
|
||||
for (sl= thd->lex->current_select;
|
||||
sl && sl != aggr_sl && sl->master_unit()->item;
|
||||
sl && sl != aggr_sel && sl->master_unit()->item;
|
||||
sl= sl->master_unit()->outer_select() )
|
||||
sl->master_unit()->item->with_sum_func= 1;
|
||||
}
|
||||
thd->lex->current_select->mark_as_dependent(aggr_sl);
|
||||
thd->lex->current_select->mark_as_dependent(aggr_sel);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -299,10 +305,10 @@ Item_sum::Item_sum(List<Item> &list) :arg_count(list.elements),
|
||||
|
||||
Item_sum::Item_sum(THD *thd, Item_sum *item):
|
||||
Item_result_field(thd, item), arg_count(item->arg_count),
|
||||
aggr_sel(item->aggr_sel),
|
||||
nest_level(item->nest_level), aggr_level(item->aggr_level),
|
||||
quick_group(item->quick_group), used_tables_cache(item->used_tables_cache),
|
||||
forced_const(item->forced_const),
|
||||
nest_level_tables_count(item->nest_level_tables_count)
|
||||
forced_const(item->forced_const)
|
||||
{
|
||||
if (arg_count <= 2)
|
||||
args=tmp_args;
|
||||
@ -413,7 +419,7 @@ Field *Item_sum::create_tmp_field(bool group, TABLE *table,
|
||||
break;
|
||||
case STRING_RESULT:
|
||||
if (max_length/collation.collation->mbmaxlen <= 255 ||
|
||||
max_length/collation.collation->mbmaxlen >=UINT_MAX16 ||
|
||||
convert_blob_length >=UINT_MAX16 ||
|
||||
!convert_blob_length)
|
||||
return make_string_field(table);
|
||||
field= new Field_varstring(convert_blob_length, maybe_null,
|
||||
@ -449,8 +455,7 @@ void Item_sum::update_used_tables ()
|
||||
used_tables_cache&= PSEUDO_TABLE_BITS;
|
||||
|
||||
/* the aggregate function is aggregated into its local context */
|
||||
if (aggr_level == nest_level)
|
||||
used_tables_cache |= (1 << nest_level_tables_count) - 1;
|
||||
used_tables_cache |= (1 << aggr_sel->join->tables) - 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -233,6 +233,7 @@ public:
|
||||
Item_sum *next; /* next in the circular chain of registered objects */
|
||||
uint arg_count;
|
||||
Item_sum *in_sum_func; /* embedding set function if any */
|
||||
st_select_lex * aggr_sel; /* select where the function is aggregated */
|
||||
int8 nest_level; /* number of the nesting level of the set function */
|
||||
int8 aggr_level; /* nesting level of the aggregating subquery */
|
||||
int8 max_arg_level; /* max level of unbound column references */
|
||||
@ -242,7 +243,6 @@ public:
|
||||
protected:
|
||||
table_map used_tables_cache;
|
||||
bool forced_const;
|
||||
byte nest_level_tables_count;
|
||||
|
||||
public:
|
||||
|
||||
@ -365,6 +365,8 @@ public:
|
||||
bool init_sum_func_check(THD *thd);
|
||||
bool check_sum_func(THD *thd, Item **ref);
|
||||
bool register_sum_func(THD *thd, Item **ref);
|
||||
st_select_lex *depended_from()
|
||||
{ return (nest_level == aggr_level ? 0 : aggr_sel); }
|
||||
};
|
||||
|
||||
|
||||
|
@ -467,7 +467,6 @@ static SYMBOL symbols[] = {
|
||||
{ "SIGNED", SYM(SIGNED_SYM)},
|
||||
{ "SIMPLE", SYM(SIMPLE_SYM)},
|
||||
{ "SLAVE", SYM(SLAVE)},
|
||||
{ "SLAVESIDE_DISABLE", SYM(SLAVESIDE_DISABLE_SYM)},
|
||||
{ "SNAPSHOT", SYM(SNAPSHOT_SYM)},
|
||||
{ "SMALLINT", SYM(SMALLINT)},
|
||||
{ "SOCKET", SYM(SOCKET_SYM)},
|
||||
|
@ -7892,8 +7892,8 @@ Incident_log_event::Incident_log_event(const char *buf, uint event_len,
|
||||
m_incident= static_cast<Incident>(uint2korr(buf + common_header_len));
|
||||
char const *ptr= buf + common_header_len + post_header_len;
|
||||
char const *const str_end= buf + event_len;
|
||||
uint8 len;
|
||||
const char *str;
|
||||
uint8 len= 0; // Assignment to keep compiler happy
|
||||
const char *str= NULL; // Assignment to keep compiler happy
|
||||
read_str(&ptr, str_end, &str, &len);
|
||||
m_message.str= const_cast<char*>(str);
|
||||
m_message.length= len;
|
||||
@ -7956,9 +7956,9 @@ Incident_log_event::print(FILE *file,
|
||||
|
||||
#if defined(HAVE_REPLICATION) && !defined(MYSQL_CLIENT)
|
||||
int
|
||||
Incident_log_event::exec_event(st_relay_log_info *rli)
|
||||
Incident_log_event::do_apply_event(RELAY_LOG_INFO const *rli)
|
||||
{
|
||||
DBUG_ENTER("Incident_log_event::exec_event");
|
||||
DBUG_ENTER("Incident_log_event::do_apply_event");
|
||||
slave_print_msg(ERROR_LEVEL, rli, ER_SLAVE_INCIDENT,
|
||||
ER(ER_SLAVE_INCIDENT),
|
||||
description(),
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user