diff options
author | unknown <mats@mats-laptop.(none)> | 2008-05-16 16:08:24 +0200 |
---|---|---|
committer | unknown <mats@mats-laptop.(none)> | 2008-05-16 16:08:24 +0200 |
commit | 65677ea535e20d6d0e86c3405506c68f57dedc64 (patch) | |
tree | 2e54a1abee9b353ee9033d90cd9315971af4c13b /mysql-test | |
parent | 3d0ca97cadc84600d20c739ef61eb4e6f3d16826 (diff) | |
download | mariadb-git-65677ea535e20d6d0e86c3405506c68f57dedc64.tar.gz |
Fixes to make rpl_insert_id pass in 5.1-bugteam.
mysql-test/extra/rpl_tests/rpl_insert_id.test:
Moving save and restore of @@global.concurrent_insert into the same
session thread.
mysql-test/suite/rpl/r/rpl_insert_id.result:
Result file change.
mysql-test/suite/rpl/t/rpl_insert_id.test:
***MISSING TEXT***
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/extra/rpl_tests/rpl_insert_id.test | 15 | ||||
-rw-r--r-- | mysql-test/suite/rpl/r/rpl_insert_id.result | 52 | ||||
-rw-r--r-- | mysql-test/suite/rpl/t/rpl_insert_id.test | 11 |
3 files changed, 34 insertions, 44 deletions
diff --git a/mysql-test/extra/rpl_tests/rpl_insert_id.test b/mysql-test/extra/rpl_tests/rpl_insert_id.test index 0cc0a343304..d8ea267d62b 100644 --- a/mysql-test/extra/rpl_tests/rpl_insert_id.test +++ b/mysql-test/extra/rpl_tests/rpl_insert_id.test @@ -18,13 +18,6 @@ use test; drop table if exists t1, t2, t3; --enable_warnings -# If concurrent inserts are on, it is not guaranteed that the rows -# inserted by INSERT are immediately accessible by SELECT in another -# thread. This would cause problems near the line 'connection master1' -# below. So we turn off concurrent inserts. -SET @old_concurrent_insert= @@global.concurrent_insert; -SET @@global.concurrent_insert= 0; - --echo # --echo # See if queries that use both auto_increment and LAST_INSERT_ID() --echo # are replicated well @@ -35,6 +28,14 @@ SET @@global.concurrent_insert= 0; -- source include/master-slave.inc #should work for both SBR and RBR +# If concurrent inserts are on, it is not guaranteed that the rows +# inserted by INSERT are immediately accessible by SELECT in another +# thread. This would cause problems near the line 'connection master1' +# below. So we turn off concurrent inserts. +connection master; +SET @old_concurrent_insert= @@global.concurrent_insert; +SET @@global.concurrent_insert= 0; + connection master; eval create table t1(a int auto_increment, key(a)) engine=$engine_type; eval create table t2(b int auto_increment, c int, key(b)) engine=$engine_type; diff --git a/mysql-test/suite/rpl/r/rpl_insert_id.result b/mysql-test/suite/rpl/r/rpl_insert_id.result index 3aa92009f5e..76e405c68de 100644 --- a/mysql-test/suite/rpl/r/rpl_insert_id.result +++ b/mysql-test/suite/rpl/r/rpl_insert_id.result @@ -15,8 +15,10 @@ reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; start slave; -create table t1(a int auto_increment, key(a)) engine=innodb; -create table t2(b int auto_increment, c int, key(b)) engine=innodb; +SET @old_concurrent_insert= @@global.concurrent_insert; +SET @@global.concurrent_insert= 0; +create table t1(a int auto_increment, key(a)) engine=myisam; +create table t2(b int auto_increment, c int, key(b)) engine=myisam; insert into t1 values (1),(2),(3); insert into t1 values (null); insert into t2 values (null,last_insert_id()); @@ -31,8 +33,8 @@ b c 1 4 drop table t1; drop table t2; -create table t1(a int auto_increment, key(a)) engine=innodb; -create table t2(b int auto_increment, c int, key(b), foreign key(b) references t1(a)) engine=innodb; +create table t1(a int auto_increment, key(a)) engine=myisam; +create table t2(b int auto_increment, c int, key(b), foreign key(b) references t1(a)) engine=myisam; SET FOREIGN_KEY_CHECKS=0; insert into t1 values (10); insert into t1 values (null),(null),(null); @@ -54,8 +56,8 @@ b c # drop table t2; drop table t1; -create table t1(a int auto_increment, key(a)) engine=innodb; -create table t2(b int auto_increment, c int, key(b)) engine=innodb; +create table t1(a int auto_increment, key(a)) engine=myisam; +create table t2(b int auto_increment, c int, key(b)) engine=myisam; insert into t1 values (10); insert into t1 values (null),(null),(null); insert into t2 values (5,0); @@ -87,7 +89,7 @@ drop table t2; # FOREIGN_KEY_CHECKS # SET TIMESTAMP=1000000000; -CREATE TABLE t1 ( a INT UNIQUE ) engine=innodb; +CREATE TABLE t1 ( a INT UNIQUE ) engine=myisam; SET FOREIGN_KEY_CHECKS=0; INSERT INTO t1 VALUES (1),(1); Got one of the listed errors @@ -95,8 +97,8 @@ drop table t1; # # Bug#14553: NULL in WHERE resets LAST_INSERT_ID # -create table t1(a int auto_increment, key(a)) engine=innodb; -create table t2(a int) engine=innodb; +create table t1(a int auto_increment, key(a)) engine=myisam; +create table t2(a int) engine=myisam; insert into t1 (a) values (null); insert into t2 (a) select a from t1 where a is null; insert into t2 (a) select a from t1 where a is null; @@ -123,7 +125,7 @@ create table t1 ( id int not null auto_increment, last_id int, primary key (id) -) engine=innodb; +) engine=myisam; create function bug15728() returns int(11) return last_insert_id(); insert into t1 (last_id) values (0); @@ -133,7 +135,7 @@ create table t2 ( id int not null auto_increment, last_id int, primary key (id) -) engine=innodb; +) engine=myisam; create function bug15728_insert() returns int(11) modifies sql data begin insert into t2 (last_id) values (bug15728()); @@ -199,7 +201,7 @@ drop function bug15728_insert; drop table t1,t2; drop procedure foo; create table t1 (n int primary key auto_increment not null, -b int, unique(b)) engine=innodb; +b int, unique(b)) engine=myisam; set sql_log_bin=0; insert into t1 values(null,100); replace into t1 values(null,50),(null,100),(null,150); @@ -243,7 +245,7 @@ n b 1001 600 drop table t1; create table t1 (n int primary key auto_increment not null, -b int, unique(b)) engine=innodb; +b int, unique(b)) engine=myisam; insert into t1 values(null,100); select * from t1 order by n; n b @@ -264,7 +266,7 @@ n b 3 350 drop table t1; CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT, -UNIQUE(b)) ENGINE=innodb; +UNIQUE(b)) ENGINE=myisam; INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10; SELECT * FROM t1 ORDER BY a; a b @@ -282,12 +284,12 @@ field_2 varchar(255) NOT NULL, field_3 varchar(255) NOT NULL, PRIMARY KEY (id), UNIQUE KEY field_1 (field_1, field_2) -) ENGINE=innodb; +) ENGINE=myisam; CREATE TABLE t2 ( field_a int(10) unsigned NOT NULL, field_b varchar(255) NOT NULL, field_c varchar(255) NOT NULL -) ENGINE=innodb; +) ENGINE=myisam; INSERT INTO t2 (field_a, field_b, field_c) VALUES (1, 'a', '1a'); INSERT INTO t2 (field_a, field_b, field_c) VALUES (2, 'b', '2b'); INSERT INTO t2 (field_a, field_b, field_c) VALUES (3, 'c', '3c'); @@ -330,12 +332,12 @@ CREATE TABLE t1 ( id INT NOT NULL DEFAULT 0, last_id INT, PRIMARY KEY (id) -) ENGINE=innodb; +) ENGINE=myisam; CREATE TABLE t2 ( id INT NOT NULL AUTO_INCREMENT, last_id INT, PRIMARY KEY (id) -) ENGINE=innodb; +) ENGINE=myisam; CREATE PROCEDURE p1() BEGIN INSERT INTO t2 (last_id) VALUES (LAST_INSERT_ID()); @@ -364,8 +366,8 @@ DROP TABLE IF EXISTS t1, t2; CREATE TABLE t1 ( i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, j INT DEFAULT 0 -) ENGINE=innodb; -CREATE TABLE t2 (i INT) ENGINE=innodb; +) ENGINE=myisam; +CREATE TABLE t2 (i INT) ENGINE=myisam; CREATE PROCEDURE p1() BEGIN INSERT INTO t1 (i) VALUES (NULL); @@ -401,13 +403,10 @@ INSERT INTO t1 VALUES (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID(5)), INSERT INTO t1 VALUES (NULL, 0), (NULL, LAST_INSERT_ID()); UPDATE t1 SET j= -1 WHERE i IS NULL; INSERT INTO t1 (i) VALUES (NULL); -SET @old_concurrent_insert= @@global.concurrent_insert; -SET @@global.concurrent_insert= 0; INSERT INTO t1 (i) VALUES (NULL); SELECT f3(); f3() 0 -SET @@global.concurrent_insert= @old_concurrent_insert; SELECT * FROM t1 ORDER BY i; i j 1 -1 @@ -478,9 +477,9 @@ create table t2 ( id int not null auto_increment, last_id int, primary key (id) -) engine=innodb; +) engine=myisam; truncate table t2; -create table t1 (id tinyint primary key) engine=innodb; +create table t1 (id tinyint primary key) engine=myisam; create function insid() returns int begin insert into t2 (last_id) values (0); @@ -516,7 +515,7 @@ drop table t1; drop function insid; truncate table t2; create table t1 (n int primary key auto_increment not null, -b int, unique(b)) engine=innodb; +b int, unique(b)) engine=myisam; create procedure foo() begin insert into t1 values(null,10); @@ -539,3 +538,4 @@ id last_id 1 3 drop table t1, t2; drop procedure foo; +SET @@global.concurrent_insert= @old_concurrent_insert; diff --git a/mysql-test/suite/rpl/t/rpl_insert_id.test b/mysql-test/suite/rpl/t/rpl_insert_id.test deleted file mode 100644 index bfd66431d3c..00000000000 --- a/mysql-test/suite/rpl/t/rpl_insert_id.test +++ /dev/null @@ -1,11 +0,0 @@ -################################# -# Wrapper for rpl_insert_id.test# -################################# -######################################################## -# By JBM 2005-02-15 Wrapped to allow reuse of test code# -# Added to skip if ndb is default # -######################################################## --- source include/not_ndb_default.inc --- source include/have_innodb.inc -let $engine_type=innodb; --- source extra/rpl_tests/rpl_insert_id.test |