Loading mysql-test/r/create.result +16 −0 Original line number Diff line number Diff line Loading @@ -1503,4 +1503,20 @@ t1 CREATE TABLE `t1` ( `c17` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 drop table t1; Bug #26104 Bug on foreign key class constructor Check that ref_columns is initalized correctly in the constructor and semantic checks in mysql_prepare_table work. We do not need a storage engine that supports foreign keys for this test, as the checks are purely syntax-based, and the syntax is supported for all engines. drop table if exists t1,t2; create table t1(a int not null, b int not null, primary key (a, b)); create table t2(a int not null, b int not null, c int not null, primary key (a), foreign key fk_bug26104 (b,c) references t1(a)); ERROR 42000: Incorrect foreign key definition for 'fk_bug26104': Key reference and table reference don't match drop table t1; End of 5.0 tests mysql-test/r/innodb.result +1 −1 Original line number Diff line number Diff line Loading @@ -1648,7 +1648,7 @@ t2 CREATE TABLE `t2` ( ) ENGINE=InnoDB DEFAULT CHARSET=latin1 drop table t2; create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id2,id) references t1 (id)) engine = innodb; ERROR HY000: Can't create table './test/t2' (errno: 150) ERROR 42000: Incorrect foreign key definition for 't1_id_fk': Key reference and table reference don't match create table t2 (a int auto_increment primary key, b int, index(b), foreign key (b) references t1(id), unique(b)) engine=innodb; show create table t2; Table Create Table Loading mysql-test/r/sp-prelocking.result +22 −0 Original line number Diff line number Diff line Loading @@ -267,4 +267,26 @@ drop table bug_27907_logs; insert into bug_27907_t1(a) values (1); ERROR 42S02: Table 'test.bug_27907_logs' doesn't exist drop table bug_27907_t1; Bug#22427 create table if not exists + stored function results in inconsistent behavior Add a test case, the bug itself was fixed by the patch for Bug#20662 drop table if exists t1; drop function if exists f_bug22427; create table t1 (i int); insert into t1 values (1); create function f_bug22427() returns int return (select max(i) from t1); select f_bug22427(); f_bug22427() 1 create table if not exists t1 select f_bug22427() as i; Warnings: Note 1050 Table 't1' already exists create table t1 select f_bug22427() as i; ERROR 42S01: Table 't1' already exists drop table t1; drop function f_bug22427; End of 5.0 tests mysql-test/r/trigger.result +28 −0 Original line number Diff line number Diff line Loading @@ -1933,4 +1933,32 @@ Before UPDATE, new=multi-UPDATE, SET for t2, but the trigger is fired, old=multi After UPDATE, new=multi-UPDATE, SET for t2, but the trigger is fired, old=multi-UPDATE drop view v1; drop table t1, t2, t1_op_log; Bug#27248 Triggers: error if insert affects temporary table The bug was fixed by the fix for Bug#26141 drop table if exists t1; drop temporary table if exists t2; create table t1 (s1 int); create temporary table t2 (s1 int); create trigger t1_bi before insert on t1 for each row insert into t2 values (0); create trigger t1_bd before delete on t1 for each row delete from t2; insert into t1 values (0); insert into t1 values (0); select * from t1; s1 0 0 select * from t2; s1 0 0 delete from t1; select * from t1; s1 select * from t2; s1 drop table t1; drop temporary table t2; End of 5.0 tests mysql-test/t/create.test +19 −0 Original line number Diff line number Diff line Loading @@ -1118,5 +1118,24 @@ show create table t1; drop table t1; --echo --echo Bug #26104 Bug on foreign key class constructor --echo --echo Check that ref_columns is initalized correctly in the constructor --echo and semantic checks in mysql_prepare_table work. --echo --echo We do not need a storage engine that supports foreign keys --echo for this test, as the checks are purely syntax-based, and the --echo syntax is supported for all engines. --echo --disable_warnings drop table if exists t1,t2; --enable_warnings create table t1(a int not null, b int not null, primary key (a, b)); --error ER_WRONG_FK_DEF create table t2(a int not null, b int not null, c int not null, primary key (a), foreign key fk_bug26104 (b,c) references t1(a)); drop table t1; --echo End of 5.0 tests Loading
mysql-test/r/create.result +16 −0 Original line number Diff line number Diff line Loading @@ -1503,4 +1503,20 @@ t1 CREATE TABLE `t1` ( `c17` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 drop table t1; Bug #26104 Bug on foreign key class constructor Check that ref_columns is initalized correctly in the constructor and semantic checks in mysql_prepare_table work. We do not need a storage engine that supports foreign keys for this test, as the checks are purely syntax-based, and the syntax is supported for all engines. drop table if exists t1,t2; create table t1(a int not null, b int not null, primary key (a, b)); create table t2(a int not null, b int not null, c int not null, primary key (a), foreign key fk_bug26104 (b,c) references t1(a)); ERROR 42000: Incorrect foreign key definition for 'fk_bug26104': Key reference and table reference don't match drop table t1; End of 5.0 tests
mysql-test/r/innodb.result +1 −1 Original line number Diff line number Diff line Loading @@ -1648,7 +1648,7 @@ t2 CREATE TABLE `t2` ( ) ENGINE=InnoDB DEFAULT CHARSET=latin1 drop table t2; create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id2,id) references t1 (id)) engine = innodb; ERROR HY000: Can't create table './test/t2' (errno: 150) ERROR 42000: Incorrect foreign key definition for 't1_id_fk': Key reference and table reference don't match create table t2 (a int auto_increment primary key, b int, index(b), foreign key (b) references t1(id), unique(b)) engine=innodb; show create table t2; Table Create Table Loading
mysql-test/r/sp-prelocking.result +22 −0 Original line number Diff line number Diff line Loading @@ -267,4 +267,26 @@ drop table bug_27907_logs; insert into bug_27907_t1(a) values (1); ERROR 42S02: Table 'test.bug_27907_logs' doesn't exist drop table bug_27907_t1; Bug#22427 create table if not exists + stored function results in inconsistent behavior Add a test case, the bug itself was fixed by the patch for Bug#20662 drop table if exists t1; drop function if exists f_bug22427; create table t1 (i int); insert into t1 values (1); create function f_bug22427() returns int return (select max(i) from t1); select f_bug22427(); f_bug22427() 1 create table if not exists t1 select f_bug22427() as i; Warnings: Note 1050 Table 't1' already exists create table t1 select f_bug22427() as i; ERROR 42S01: Table 't1' already exists drop table t1; drop function f_bug22427; End of 5.0 tests
mysql-test/r/trigger.result +28 −0 Original line number Diff line number Diff line Loading @@ -1933,4 +1933,32 @@ Before UPDATE, new=multi-UPDATE, SET for t2, but the trigger is fired, old=multi After UPDATE, new=multi-UPDATE, SET for t2, but the trigger is fired, old=multi-UPDATE drop view v1; drop table t1, t2, t1_op_log; Bug#27248 Triggers: error if insert affects temporary table The bug was fixed by the fix for Bug#26141 drop table if exists t1; drop temporary table if exists t2; create table t1 (s1 int); create temporary table t2 (s1 int); create trigger t1_bi before insert on t1 for each row insert into t2 values (0); create trigger t1_bd before delete on t1 for each row delete from t2; insert into t1 values (0); insert into t1 values (0); select * from t1; s1 0 0 select * from t2; s1 0 0 delete from t1; select * from t1; s1 select * from t2; s1 drop table t1; drop temporary table t2; End of 5.0 tests
mysql-test/t/create.test +19 −0 Original line number Diff line number Diff line Loading @@ -1118,5 +1118,24 @@ show create table t1; drop table t1; --echo --echo Bug #26104 Bug on foreign key class constructor --echo --echo Check that ref_columns is initalized correctly in the constructor --echo and semantic checks in mysql_prepare_table work. --echo --echo We do not need a storage engine that supports foreign keys --echo for this test, as the checks are purely syntax-based, and the --echo syntax is supported for all engines. --echo --disable_warnings drop table if exists t1,t2; --enable_warnings create table t1(a int not null, b int not null, primary key (a, b)); --error ER_WRONG_FK_DEF create table t2(a int not null, b int not null, c int not null, primary key (a), foreign key fk_bug26104 (b,c) references t1(a)); drop table t1; --echo End of 5.0 tests