mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge 10.4 into 10.5
This commit is contained in:
@@ -496,11 +496,48 @@ delete history from t1;
|
||||
delete from t1;
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-30378 Versioned REPLACE succeeds with ON DELETE RESTRICT
|
||||
# constraint
|
||||
#
|
||||
create table t0 (pk integer primary key) with system versioning engine=innodb;
|
||||
create table t1 (pk integer primary key,
|
||||
foreign key(pk) references t0(pk)
|
||||
on delete restrict on update cascade) engine=innodb;
|
||||
create table t2 (pk integer);
|
||||
insert into t0 (pk) values (1);
|
||||
insert into t1 (pk) values (1);
|
||||
insert into t2 (pk) values (1);
|
||||
delete from t0;
|
||||
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`pk`) REFERENCES `t0` (`pk`) ON UPDATE CASCADE)
|
||||
replace t0 values (1);
|
||||
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`pk`) REFERENCES `t0` (`pk`) ON UPDATE CASCADE)
|
||||
select * into outfile 'load_t0' from t0 ;
|
||||
load data infile 'load_t0' replace into table t0;
|
||||
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`pk`) REFERENCES `t0` (`pk`) ON UPDATE CASCADE)
|
||||
delete t0, t2 from t0 join t2;
|
||||
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`pk`) REFERENCES `t0` (`pk`) ON UPDATE CASCADE)
|
||||
select pk from t0;
|
||||
pk
|
||||
1
|
||||
# Cleanup
|
||||
drop table t1, t0, t2;
|
||||
# create_select for a temporary table didn't set up pos_in_locked_tables.
|
||||
create table t (a int unique) engine=innodb
|
||||
replace select 1 as a, 2 as b union select 1 as a, 3 as c;
|
||||
select * from t;
|
||||
a b
|
||||
1 3
|
||||
drop table t;
|
||||
create temporary table t (a int unique) engine=innodb
|
||||
replace select 1 as a, 2 as b union select 1 as a, 3 as c;
|
||||
select * from t;
|
||||
a b
|
||||
1 3
|
||||
drop table t;
|
||||
#
|
||||
# MDEV-20729 Fix REFERENCES constraint in column definition
|
||||
#
|
||||
create or replace table t1(
|
||||
id int
|
||||
);
|
||||
create table t1(id int);
|
||||
# system fields can't be foreign keys:
|
||||
create or replace table t2(
|
||||
x int,
|
||||
@@ -533,3 +570,4 @@ foreign key (sys_end) references t1(id)
|
||||
) engine innodb with system versioning;
|
||||
ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
|
||||
drop table t1;
|
||||
# End of 10.5 tests
|
||||
|
Reference in New Issue
Block a user