Commit 65b4d745 authored by Marko Mäkelä's avatar Marko Mäkelä

Merge the test innodb.innodb_misc1 into innodb.innodb.

parent d26b9f67
......@@ -2455,17 +2455,30 @@ drop table t1,t2;
CREATE TABLE t1 (
id INTEGER NOT NULL AUTO_INCREMENT, PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE t2 (
id INTEGER NOT NULL,
FOREIGN KEY (id) REFERENCES t1 (id)
) ENGINE=InnoDB;
INSERT INTO t1 (id) VALUES (NULL);
SELECT * FROM t1;
id
1
TRUNCATE t1;
ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`id`) REFERENCES `test`.`t1` (`id`))
INSERT INTO t1 (id) VALUES (NULL);
SELECT * FROM t1;
id
1
2
DELETE FROM t1;
TRUNCATE t1;
ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`id`) REFERENCES `test`.`t1` (`id`))
INSERT INTO t1 (id) VALUES (NULL);
SELECT * FROM t1;
id
3
DROP TABLE t2;
TRUNCATE t1;
INSERT INTO t1 (id) VALUES (NULL);
SELECT * FROM t1;
id
......@@ -2481,7 +2494,7 @@ id INT NOT NULL PRIMARY KEY,
b INT,
FOREIGN KEY (b) REFERENCES test.t1(id)
) ENGINE=InnoDB;
Got one of the listed errors
ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
DROP TABLE t1;
create table t1 (col1 varchar(2000), index (col1(767)))
character set = latin1 engine = innodb;
......@@ -2574,7 +2587,7 @@ INSERT INTO t2 VALUES(1);
DELETE FROM t1 WHERE id = 1;
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
DROP TABLE t1;
Got one of the listed errors
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE t1;
SET FOREIGN_KEY_CHECKS=1;
......@@ -3089,8 +3102,8 @@ a BIGINT(20) NOT NULL,
b VARCHAR(128) NOT NULL,
c TEXT NOT NULL,
PRIMARY KEY (a,b),
KEY idx_t2_b_c (b,c(200)),
CONSTRAINT t_fk FOREIGN KEY (a) REFERENCES t1 (a)
KEY idx_t2_b_c (b,c(100)),
CONSTRAINT t_fk FOREIGN KEY (a) REFERENCES t1 (a)
ON DELETE CASCADE
) ENGINE=INNODB DEFAULT CHARSET=UTF8;
INSERT INTO t1 VALUES (1);
......
This diff is collapsed.
#######################################################################
# #
# Please, DO NOT TOUCH this file as well as the innodb.result file. #
# These files are to be modified ONLY BY INNOBASE guys. #
# #
# Use innodb_mysql.[test|result] files instead. #
# #
# If nevertheless you need to make some changes here, please, forward #
# your commit message #
# To: innodb_dev_ww@oracle.com #
# Cc: dev-innodb@mysql.com #
# (otherwise your changes may be erased). #
# #
#######################################################################
-- source include/have_innodb.inc
-- source include/have_innodb_16k.inc
......@@ -1521,15 +1506,25 @@ CREATE TABLE t1 (
id INTEGER NOT NULL AUTO_INCREMENT, PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE t2 (
id INTEGER NOT NULL,
FOREIGN KEY (id) REFERENCES t1 (id)
) ENGINE=InnoDB;
INSERT INTO t1 (id) VALUES (NULL);
SELECT * FROM t1;
--error ER_TRUNCATE_ILLEGAL_FK
TRUNCATE t1;
INSERT INTO t1 (id) VALUES (NULL);
SELECT * FROM t1;
# continued from above; test that doing a slow TRUNCATE on a table with 0
# rows resets autoincrement columns
# continued from above; test that doing a TRUNCATE resets AUTO_INCREMENT
DELETE FROM t1;
--error ER_TRUNCATE_ILLEGAL_FK
TRUNCATE t1;
INSERT INTO t1 (id) VALUES (NULL);
SELECT * FROM t1;
DROP TABLE t2;
TRUNCATE t1;
INSERT INTO t1 (id) VALUES (NULL);
SELECT * FROM t1;
......@@ -1541,7 +1536,7 @@ CREATE TABLE t1
id INT PRIMARY KEY
) ENGINE=InnoDB;
--error ER_CANNOT_ADD_FOREIGN,1005
--error ER_CANT_CREATE_TABLE
CREATE TEMPORARY TABLE t2
(
id INT NOT NULL PRIMARY KEY,
......@@ -1630,7 +1625,7 @@ CREATE TABLE t2
CONSTRAINT c1 FOREIGN KEY (v) REFERENCES t1(id)
) ENGINE=InnoDB;
--error 1452
--error ER_NO_REFERENCED_ROW_2
INSERT INTO t2 VALUES(2);
INSERT INTO t1 VALUES(1);
......@@ -1639,14 +1634,14 @@ INSERT INTO t2 VALUES(1);
--error ER_ROW_IS_REFERENCED_2
DELETE FROM t1 WHERE id = 1;
--error ER_ROW_IS_REFERENCED_2, 1217
--error ER_ROW_IS_REFERENCED_2
DROP TABLE t1;
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE t1;
SET FOREIGN_KEY_CHECKS=1;
--error 1452
--error ER_NO_REFERENCED_ROW_2
INSERT INTO t2 VALUES(3);
DROP TABLE t2;
......@@ -1702,7 +1697,7 @@ set foreign_key_checks=0;
create table t2 (a int primary key, b int, foreign key (b) references t1(a)) engine = innodb;
# Embedded server doesn't chdir to data directory
--replace_result $MYSQLTEST_VARDIR . master-data/ ''
-- error 1005
--error ER_CANT_CREATE_TABLE
create table t1(a char(10) primary key, b varchar(20)) engine = innodb;
set foreign_key_checks=1;
drop table t2;
......@@ -1714,7 +1709,7 @@ set foreign_key_checks=0;
create table t1(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=latin1;
# Embedded server doesn't chdir to data directory
--replace_result $MYSQLTEST_VARDIR . master-data/ ''
-- error 1005
--error ER_CANT_CREATE_TABLE
create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=utf8;
set foreign_key_checks=1;
drop table t1;
......@@ -1946,7 +1941,7 @@ SET sql_mode = default;
#insert into t5(a) values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12);
#
#delimiter |;
#create trigger t1t before insert on t1 for each row begin
#create trigger t1t before insert on t1 for each row begin
# INSERT INTO t2 SET a = NEW.a;
#end |
#
......@@ -1954,7 +1949,7 @@ SET sql_mode = default;
# DELETE FROM t3 WHERE a = NEW.a;
#end |
#
#create trigger t3t before delete on t3 for each row begin
#create trigger t3t before delete on t3 for each row begin
# UPDATE t4 SET b = b + 1 WHERE a = OLD.a;
#end |
#
......@@ -2078,7 +2073,7 @@ create table t1(a int not null, b int, primary key(a)) engine=innodb;
insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2),(7,3);
commit;
SET binlog_format='MIXED';
set autocommit = 0;
set autocommit = 0;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
update t1 set b = 5 where b = 1;
connection b;
......@@ -2086,7 +2081,7 @@ SET binlog_format='MIXED';
set autocommit = 0;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
#
# X-lock to record (7,3) should be released in a update
# X-lock to record (7,3) should be released in a update
#
select * from t1 where a = 7 and b = 3 for update;
connection a;
......@@ -2109,7 +2104,7 @@ connection a;
create table t1(a int not null, b int, primary key(a)) engine=innodb;
insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2);
commit;
set autocommit = 0;
set autocommit = 0;
select * from t1 lock in share mode;
update t1 set b = 5 where b = 1;
connection b;
......@@ -2117,12 +2112,12 @@ set autocommit = 0;
#
# S-lock to records (2,2),(4,2), and (6,2) should not be released in a update
#
--error 1205
--error ER_LOCK_WAIT_TIMEOUT
select * from t1 where a = 2 and b = 2 for update;
#
# X-lock to record (1,1),(3,1),(5,1) should not be released in a update
#
--error 1205
--error ER_LOCK_WAIT_TIMEOUT
connection a;
commit;
connection b;
......@@ -2166,7 +2161,7 @@ disconnect b;
drop table t1, t2, t3;
#
# Consistent read should not be used if
# Consistent read should not be used if
#
# (a) isolation level is serializable OR
# (b) select ... lock in share mode OR
......@@ -2262,39 +2257,39 @@ SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
create table t10(a int not null, b int, primary key(a)) engine=innodb select * from t2 for update;
connection b;
--error 1205
--error ER_LOCK_WAIT_TIMEOUT
reap;
connection c;
--error 1205
--error ER_LOCK_WAIT_TIMEOUT
reap;
connection d;
--error 1205
--error ER_LOCK_WAIT_TIMEOUT
reap;
connection e;
--error 1205
--error ER_LOCK_WAIT_TIMEOUT
reap;
connection f;
--error 1205
--error ER_LOCK_WAIT_TIMEOUT
reap;
connection g;
--error 1205
--error ER_LOCK_WAIT_TIMEOUT
reap;
connection h;
--error 1205
--error ER_LOCK_WAIT_TIMEOUT
reap;
connection i;
--error 1205
--error ER_LOCK_WAIT_TIMEOUT
reap;
connection j;
--error 1205
--error ER_LOCK_WAIT_TIMEOUT
reap;
connection a;
......@@ -2331,8 +2326,8 @@ CREATE TABLE t2 (
b VARCHAR(128) NOT NULL,
c TEXT NOT NULL,
PRIMARY KEY (a,b),
KEY idx_t2_b_c (b,c(200)),
CONSTRAINT t_fk FOREIGN KEY (a) REFERENCES t1 (a)
KEY idx_t2_b_c (b,c(100)),
CONSTRAINT t_fk FOREIGN KEY (a) REFERENCES t1 (a)
ON DELETE CASCADE
) ENGINE=INNODB DEFAULT CHARSET=UTF8;
......@@ -2457,7 +2452,7 @@ INSERT INTO t1 VALUES(-10);
SELECT * FROM t1;
#
# NOTE: The server really needs to be restarted at this point
# for the test to be useful.
# for the test to be useful.
#
# Without the fix InnoDB would trip over an assertion here.
INSERT INTO t1 VALUES(NULL);
......
--binlog_cache_size=32768 --innodb_lock_wait_timeout=1
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment