diff options
author | unknown <mats@kindahl-laptop.dnsalias.net> | 2007-06-12 22:02:46 +0200 |
---|---|---|
committer | unknown <mats@kindahl-laptop.dnsalias.net> | 2007-06-12 22:02:46 +0200 |
commit | 492ebf924b40ac847201fa6dc3cb44731dbac210 (patch) | |
tree | e252590c0287c7b25e8b7d291290be7d7a77d932 /mysql-test | |
parent | e319a0493461000f9eeabceed7f2c5d57cfc44cd (diff) | |
parent | ccbada0864161294ca351b2a9b6cfac5d4ce6153 (diff) | |
download | mariadb-git-492ebf924b40ac847201fa6dc3cb44731dbac210.tar.gz |
Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into kindahl-laptop.dnsalias.net:/home/bk/b23051-mysql-5.1-rpl
BitKeeper/deleted/.del-binlog_row_blackhole.result:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
storage/blackhole/ha_blackhole.h:
Auto merged
storage/innobase/handler/ha_innodb.cc:
Auto merged
storage/innobase/handler/ha_innodb.h:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
mysql-test/t/partition_hash.test:
Manual merge
sql/handler.h:
Manual merge
sql/set_var.cc:
Manual merge
sql/sql_class.h:
Manual merge
sql/sql_insert.cc:
Manual merge
sql/sql_parse.cc:
Manual merge
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/binlog_innodb.result | 114 | ||||
-rw-r--r-- | mysql-test/r/binlog_multi_engine.result | 86 | ||||
-rw-r--r-- | mysql-test/r/binlog_row_blackhole.result | 155 | ||||
-rw-r--r-- | mysql-test/t/binlog_innodb.test | 95 | ||||
-rw-r--r-- | mysql-test/t/binlog_multi_engine.test | 59 | ||||
-rw-r--r-- | mysql-test/t/binlog_row_blackhole.test | 11 | ||||
-rw-r--r-- | mysql-test/t/partition_hash.test | 1 |
7 files changed, 355 insertions, 166 deletions
diff --git a/mysql-test/r/binlog_innodb.result b/mysql-test/r/binlog_innodb.result new file mode 100644 index 00000000000..61f5ad19f0d --- /dev/null +++ b/mysql-test/r/binlog_innodb.result @@ -0,0 +1,114 @@ +SET BINLOG_FORMAT=MIXED; +RESET MASTER; +CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=INNODB; +INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6); +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +UPDATE t1 SET b = 2*a WHERE a > 1; +COMMIT; +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +UPDATE t1 SET b = a * a WHERE a > 3; +COMMIT; +SET BINLOG_FORMAT=STATEMENT; +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; +UPDATE t1 SET b = 1*a WHERE a > 1; +ERROR HY000: Logging not possible. Message: InnoDB: Transaction level 'READ-UNCOMMITTED' is not safe for binlog mode 'STATEMENT' +COMMIT; +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +UPDATE t1 SET b = 2*a WHERE a > 2; +ERROR HY000: Logging not possible. Message: InnoDB: Transaction level 'READ-COMMITTED' is not safe for binlog mode 'STATEMENT' +COMMIT; +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +UPDATE t1 SET b = 3*a WHERE a > 3; +COMMIT; +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; +UPDATE t1 SET b = 4*a WHERE a > 4; +COMMIT; +SET BINLOG_FORMAT=MIXED; +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; +UPDATE t1 SET b = 1*a WHERE a > 1; +COMMIT; +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +UPDATE t1 SET b = 2*a WHERE a > 2; +COMMIT; +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +UPDATE t1 SET b = 3*a WHERE a > 3; +COMMIT; +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; +UPDATE t1 SET b = 4*a WHERE a > 4; +COMMIT; +SET BINLOG_FORMAT=ROW; +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; +UPDATE t1 SET b = 1*a WHERE a > 1; +COMMIT; +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +UPDATE t1 SET b = 2*a WHERE a > 2; +COMMIT; +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +UPDATE t1 SET b = 3*a WHERE a > 3; +COMMIT; +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; +UPDATE t1 SET b = 4*a WHERE a > 4; +COMMIT; +show binlog events from <binlog_start>; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=INNODB +master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6) +master-bin.000001 # Xid # # COMMIT /* XID */ +master-bin.000001 # Query # # use `test`; BEGIN +master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 2*a WHERE a > 1 +master-bin.000001 # Xid # # COMMIT /* XID */ +master-bin.000001 # Query # # use `test`; BEGIN +master-bin.000001 # Table_map # # table_id: # (test.t1) +master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F +master-bin.000001 # Xid # # COMMIT /* XID */ +master-bin.000001 # Query # # use `test`; BEGIN +master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 3*a WHERE a > 3 +master-bin.000001 # Xid # # COMMIT /* XID */ +master-bin.000001 # Query # # use `test`; BEGIN +master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 4*a WHERE a > 4 +master-bin.000001 # Xid # # COMMIT /* XID */ +master-bin.000001 # Query # # use `test`; BEGIN +master-bin.000001 # Table_map # # table_id: # (test.t1) +master-bin.000001 # Update_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.t1) +master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F +master-bin.000001 # Xid # # COMMIT /* XID */ +master-bin.000001 # Query # # use `test`; BEGIN +master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 3*a WHERE a > 3 +master-bin.000001 # Xid # # COMMIT /* XID */ +master-bin.000001 # Query # # use `test`; BEGIN +master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 4*a WHERE a > 4 +master-bin.000001 # Xid # # COMMIT /* XID */ +master-bin.000001 # Query # # use `test`; BEGIN +master-bin.000001 # Table_map # # table_id: # (test.t1) +master-bin.000001 # Update_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.t1) +master-bin.000001 # Update_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.t1) +master-bin.000001 # Update_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.t1) +master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F +master-bin.000001 # Xid # # COMMIT /* XID */ +DROP TABLE t1; diff --git a/mysql-test/r/binlog_multi_engine.result b/mysql-test/r/binlog_multi_engine.result new file mode 100644 index 00000000000..7af4525d887 --- /dev/null +++ b/mysql-test/r/binlog_multi_engine.result @@ -0,0 +1,86 @@ +CREATE TABLE t1m (m INT, n INT) ENGINE=MYISAM; +CREATE TABLE t1b (b INT, c INT) ENGINE=BLACKHOLE; +CREATE TABLE t1n (e INT, f INT) ENGINE=NDB; +SET SESSION BINLOG_FORMAT=STATEMENT; +INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2); +INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2); +INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2); +ERROR HY000: Attempting to log statement in in statement format, but statement format is not possible with this combination of engines +UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c; +UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f; +ERROR HY000: Attempting to log statement in in statement format, but statement format is not possible with this combination of engines +UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c; +ERROR HY000: It is not possible to log anything with this combination of engines +TRUNCATE t1m; +TRUNCATE t1b; +TRUNCATE t1n; +SET SESSION BINLOG_FORMAT=MIXED; +INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2); +INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2); +INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2); +UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c; +UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f; +UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c; +ERROR HY000: It is not possible to log anything with this combination of engines +TRUNCATE t1m; +TRUNCATE t1b; +TRUNCATE t1n; +SET SESSION BINLOG_FORMAT=ROW; +INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2); +INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2); +ERROR HY000: Attempting to log statement in in row format, but row format is not possible with this combination of engines +INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2); +UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c; +ERROR HY000: Attempting to log statement in in row format, but row format is not possible with this combination of engines +UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f; +UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c; +ERROR HY000: It is not possible to log anything with this combination of engines +TRUNCATE t1m; +TRUNCATE t1b; +TRUNCATE t1n; +show binlog events from <binlog_start>; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 # Query # # use `test`; CREATE TABLE t1m (m INT, n INT) ENGINE=MYISAM +master-bin.000001 # Query # # use `test`; CREATE TABLE t1b (b INT, c INT) ENGINE=BLACKHOLE +master-bin.000001 # Query # # use `test`; CREATE TABLE t1n (e INT, f INT) ENGINE=NDB +master-bin.000001 # Query # # use `test`; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2) +master-bin.000001 # Query # # use `test`; INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2) +master-bin.000001 # Query # # use `test`; UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c +master-bin.000001 # Query # # use `test`; TRUNCATE t1m +master-bin.000001 # Query # # use `test`; TRUNCATE t1b +master-bin.000001 # Query # # use `test`; TRUNCATE t1n +master-bin.000001 # Query # # use `test`; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2) +master-bin.000001 # Query # # use `test`; INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2) +master-bin.000001 # Query # # use `test`; INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2) +master-bin.000001 # Query # # use `test`; UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c +master-bin.000001 # Query # # use `test`; UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f +master-bin.000001 # Query # # use `test`; TRUNCATE t1m +master-bin.000001 # Query # # use `test`; TRUNCATE t1b +master-bin.000001 # Query # # BEGIN +master-bin.000001 # Table_map # # table_id: # (test.t1n) +master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status) +master-bin.000001 # Write_rows # # table_id: # +master-bin.000001 # Write_rows # # table_id: # +master-bin.000001 # Write_rows # # table_id: # +master-bin.000001 # Update_rows # # table_id: # +master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F +master-bin.000001 # Query # # COMMIT +master-bin.000001 # Query # # use `test`; TRUNCATE t1n +master-bin.000001 # Table_map # # table_id: # (test.t1m) +master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F +master-bin.000001 # Table_map # # table_id: # (test.t1m) +master-bin.000001 # Table_map # # table_id: # (test.t1n) +master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F +master-bin.000001 # Query # # use `test`; TRUNCATE t1m +master-bin.000001 # Query # # use `test`; TRUNCATE t1b +master-bin.000001 # Query # # BEGIN +master-bin.000001 # Table_map # # table_id: # (test.t1n) +master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status) +master-bin.000001 # Write_rows # # table_id: # +master-bin.000001 # Write_rows # # table_id: # +master-bin.000001 # Write_rows # # table_id: # +master-bin.000001 # Update_rows # # table_id: # +master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F +master-bin.000001 # Query # # COMMIT +master-bin.000001 # Query # # use `test`; TRUNCATE t1n +DROP TABLE t1m, t1b, t1n; diff --git a/mysql-test/r/binlog_row_blackhole.result b/mysql-test/r/binlog_row_blackhole.result deleted file mode 100644 index e58f4648470..00000000000 --- a/mysql-test/r/binlog_row_blackhole.result +++ /dev/null @@ -1,155 +0,0 @@ -drop table if exists t1,t2; -CREATE TABLE t1 ( -Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL, -Varor_period smallint(4) unsigned DEFAULT '0' NOT NULL -) ENGINE=blackhole; -INSERT INTO t1 VALUES (9410,9412); -select period from t1; -period -select * from t1; -Period Varor_period -select t1.* from t1; -Period Varor_period -CREATE TABLE t2 ( -auto int NOT NULL auto_increment, -fld1 int(6) unsigned zerofill DEFAULT '000000' NOT NULL, -companynr tinyint(2) unsigned zerofill DEFAULT '00' NOT NULL, -fld3 char(30) DEFAULT '' NOT NULL, -fld4 char(35) DEFAULT '' NOT NULL, -fld5 char(35) DEFAULT '' NOT NULL, -fld6 char(4) DEFAULT '' NOT NULL, -primary key (auto) -) ENGINE=blackhole; -INSERT INTO t2 VALUES (1192,068305,00,'Colombo','hardware','colicky',''); -INSERT INTO t2 VALUES (1193,000000,00,'nondecreasing','implant','thrillingly',''); -select t2.fld3 from t2 where companynr = 58 and fld3 like "%imaginable%"; -fld3 -select fld3 from t2 where fld3 like "%cultivation" ; -fld3 -select t2.fld3,companynr from t2 where companynr = 57+1 order by fld3; -fld3 companynr -select fld3,companynr from t2 where companynr = 58 order by fld3; -fld3 companynr -select fld3 from t2 order by fld3 desc limit 10; -fld3 -select fld3 from t2 order by fld3 desc limit 5; -fld3 -select fld3 from t2 order by fld3 desc limit 5,5; -fld3 -select t2.fld3 from t2 where fld3 = 'honeysuckle'; -fld3 -select t2.fld3 from t2 where fld3 LIKE 'honeysuckl_'; -fld3 -select t2.fld3 from t2 where fld3 LIKE 'hon_ysuckl_'; -fld3 -select t2.fld3 from t2 where fld3 LIKE 'honeysuckle%'; -fld3 -select t2.fld3 from t2 where fld3 LIKE 'h%le'; -fld3 -select t2.fld3 from t2 where fld3 LIKE 'honeysuckle_'; -fld3 -select t2.fld3 from t2 where fld3 LIKE 'don_t_find_me_please%'; -fld3 -select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3; -fld3 -select fld1,fld3 from t2 where fld3="Colombo" or fld3 = "nondecreasing" order by fld3; -fld1 fld3 -DROP TABLE t1; -CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b)); -INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'), -('Full-text indexes', 'are called collections'), -('Only MyISAM tables','support collections'), -('Function MATCH ... AGAINST()','is used to do a search'), -('Full-text search in MySQL', 'implements vector space model'); -SHOW INDEX FROM t1; -Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment -t1 1 a 1 a NULL NULL NULL NULL YES FULLTEXT -t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT -select * from t1 where MATCH(a,b) AGAINST ("collections"); -a b -Only MyISAM tables support collections -Full-text indexes are called collections -explain extended select * from t1 where MATCH(a,b) AGAINST ("collections"); -id select_type table type possible_keys key key_len ref rows filtered Extra -1 SIMPLE t1 fulltext a a 0 1 100.00 Using where -Warnings: -Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where (match `test`.`t1`.`a`,`test`.`t1`.`b` against (_latin1'collections')) -select * from t1 where MATCH(a,b) AGAINST ("indexes"); -a b -Full-text indexes are called collections -select * from t1 where MATCH(a,b) AGAINST ("indexes collections"); -a b -Full-text indexes are called collections -Only MyISAM tables support collections -select * from t1 where MATCH(a,b) AGAINST ("only"); -a b -reset master; -drop table t1,t2; -create table t1 (a int) engine=blackhole; -delete from t1 where a=10; -update t1 set a=11 where a=15; -insert into t1 values(1); -insert ignore into t1 values(1); -replace into t1 values(100); -create table t2 (a varchar(200)) engine=blackhole; -load data infile '../std_data_ln/words.dat' into table t2; -alter table t1 add b int; -alter table t1 drop b; -create table t3 like t1; -insert into t1 select * from t3; -replace into t1 select * from t3; -select * from t1; -a -select * from t2; -a -select * from t3; -a -show binlog events from <binlog_start>; -Log_name Pos Event_type Server_id End_log_pos Info -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) ENGINE=BLACKHOLE; -INSERT DELAYED INTO t1 VALUES(1); -DROP TABLE t1; -CREATE TABLE t1(a INT, b INT) ENGINE=BLACKHOLE; -DELETE FROM t1 WHERE a=10; -ALTER TABLE t1 ADD INDEX(a); -DELETE FROM t1 WHERE a=10; -ALTER TABLE t1 DROP INDEX a; -ALTER TABLE t1 ADD UNIQUE INDEX(a); -DELETE FROM t1 WHERE a=10; -ALTER TABLE t1 DROP INDEX a; -ALTER TABLE t1 ADD PRIMARY KEY(a); -DELETE FROM t1 WHERE a=10; -DROP TABLE t1; -reset master; -create table t1 (a int) engine=blackhole; -set autocommit=0; -start transaction; -insert into t1 values(1); -commit; -start transaction; -insert into t1 values(2); -rollback; -set autocommit=1; -show binlog events from <binlog_start>; -Log_name Pos Event_type Server_id End_log_pos Info -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; diff --git a/mysql-test/t/binlog_innodb.test b/mysql-test/t/binlog_innodb.test new file mode 100644 index 00000000000..712708100f5 --- /dev/null +++ b/mysql-test/t/binlog_innodb.test @@ -0,0 +1,95 @@ +source include/have_innodb.inc; + +SET BINLOG_FORMAT=MIXED; + +RESET MASTER; + +CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=INNODB; +INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6); + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +# Should be logged as statement +UPDATE t1 SET b = 2*a WHERE a > 1; +COMMIT; + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +# Should be logged as rows +UPDATE t1 SET b = a * a WHERE a > 3; +COMMIT; + +# Check that errors are generated when trying to use READ COMMITTED +# transaction isolation level in STATEMENT binlog mode. + +SET BINLOG_FORMAT=STATEMENT; + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; +error ER_BINLOG_LOGGING_IMPOSSIBLE; +UPDATE t1 SET b = 1*a WHERE a > 1; +COMMIT; + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +error ER_BINLOG_LOGGING_IMPOSSIBLE; +UPDATE t1 SET b = 2*a WHERE a > 2; +COMMIT; + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +UPDATE t1 SET b = 3*a WHERE a > 3; +COMMIT; + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; +UPDATE t1 SET b = 4*a WHERE a > 4; +COMMIT; + +SET BINLOG_FORMAT=MIXED; + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; +UPDATE t1 SET b = 1*a WHERE a > 1; +COMMIT; + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +UPDATE t1 SET b = 2*a WHERE a > 2; +COMMIT; + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +UPDATE t1 SET b = 3*a WHERE a > 3; +COMMIT; + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; +UPDATE t1 SET b = 4*a WHERE a > 4; +COMMIT; + +SET BINLOG_FORMAT=ROW; + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; +UPDATE t1 SET b = 1*a WHERE a > 1; +COMMIT; + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +UPDATE t1 SET b = 2*a WHERE a > 2; +COMMIT; + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +UPDATE t1 SET b = 3*a WHERE a > 3; +COMMIT; + +BEGIN; +SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; +UPDATE t1 SET b = 4*a WHERE a > 4; +COMMIT; + +source include/show_binlog_events.inc; + +DROP TABLE t1; diff --git a/mysql-test/t/binlog_multi_engine.test b/mysql-test/t/binlog_multi_engine.test new file mode 100644 index 00000000000..25c99ff6ca8 --- /dev/null +++ b/mysql-test/t/binlog_multi_engine.test @@ -0,0 +1,59 @@ +source include/have_blackhole.inc; +source include/have_ndb.inc; + +CREATE TABLE t1m (m INT, n INT) ENGINE=MYISAM; +CREATE TABLE t1b (b INT, c INT) ENGINE=BLACKHOLE; +CREATE TABLE t1n (e INT, f INT) ENGINE=NDB; + +SET SESSION BINLOG_FORMAT=STATEMENT; + +INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2); +INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2); +error ER_BINLOG_STMT_FORMAT_FORBIDDEN; +INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2); + +UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c; +error ER_BINLOG_STMT_FORMAT_FORBIDDEN; +UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f; +error ER_BINLOG_ENGINES_INCOMPATIBLE; +UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c; + +TRUNCATE t1m; +TRUNCATE t1b; +TRUNCATE t1n; + +SET SESSION BINLOG_FORMAT=MIXED; + +INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2); +INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2); +INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2); + +UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c; +UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f; +error ER_BINLOG_ENGINES_INCOMPATIBLE; +UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c; + +TRUNCATE t1m; +TRUNCATE t1b; +TRUNCATE t1n; + +SET SESSION BINLOG_FORMAT=ROW; + +INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2); +error ER_BINLOG_ROW_FORMAT_FORBIDDEN; +INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2); +INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2); + +error ER_BINLOG_ROW_FORMAT_FORBIDDEN; +UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c; +UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f; +error ER_BINLOG_ENGINES_INCOMPATIBLE; +UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c; + +TRUNCATE t1m; +TRUNCATE t1b; +TRUNCATE t1n; + +source include/show_binlog_events.inc; + +DROP TABLE t1m, t1b, t1n; diff --git a/mysql-test/t/binlog_row_blackhole.test b/mysql-test/t/binlog_row_blackhole.test deleted file mode 100644 index d5355ad1ff0..00000000000 --- a/mysql-test/t/binlog_row_blackhole.test +++ /dev/null @@ -1,11 +0,0 @@ -# This is a wrapper for binlog.test so that the same test case can be used -# For both statement and row based bin logs 9/19/2005 [jbm] - --- source include/have_binlog_format_row.inc - -# Bug#18326: Do not lock table for writing during prepare of statement -# The use of the ps protocol causes extra table maps in the binlog, so -# we disable the ps-protocol for this statement. ---disable_ps_protocol --- source extra/binlog_tests/blackhole.test ---enable_ps_protocol diff --git a/mysql-test/t/partition_hash.test b/mysql-test/t/partition_hash.test index dc527cad2b7..26a563cd8cc 100644 --- a/mysql-test/t/partition_hash.test +++ b/mysql-test/t/partition_hash.test @@ -134,6 +134,7 @@ drop table t1; --disable_warnings CREATE TABLE t1 (s1 int) ENGINE=BLACKHOLE PARTITION BY HASH (s1); --enable_warnings +--error 0,ER_BINLOG_ROW_FORMAT_FORBIDDEN INSERT INTO t1 VALUES (0); DROP TABLE t1; |