mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
MDEV-22602 Disable UPDATE CASCADE for SQL constraints
fix it for named constraints too
This commit is contained in:
@ -943,6 +943,8 @@ DROP TABLE t1;
|
||||
#
|
||||
# TODO: enable them after MDEV-16417 is finished
|
||||
create or replace table t1 (a int primary key) engine=innodb;
|
||||
create or replace table t2 (a int, constraint foo check(a > 0), foreign key(a) references t1(a) on update cascade) engine=innodb;
|
||||
ERROR HY000: Function or expression 'a' cannot be used in the CHECK clause of `foo`
|
||||
create or replace table t2 (a int, check(a > 0), foreign key(a) references t1(a) on update cascade) engine=innodb;
|
||||
ERROR HY000: Function or expression 'a' cannot be used in the CHECK clause of `CONSTRAINT_1`
|
||||
create or replace table t1 (f1 int, f2 date, f3 date, key(f1,f3,f2)) engine=innodb;
|
||||
|
@ -971,6 +971,8 @@ DROP TABLE t1;
|
||||
--echo # TODO: enable them after MDEV-16417 is finished
|
||||
create or replace table t1 (a int primary key) engine=innodb;
|
||||
--error ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED
|
||||
create or replace table t2 (a int, constraint foo check(a > 0), foreign key(a) references t1(a) on update cascade) engine=innodb;
|
||||
--error ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED
|
||||
create or replace table t2 (a int, check(a > 0), foreign key(a) references t1(a) on update cascade) engine=innodb;
|
||||
|
||||
create or replace table t1 (f1 int, f2 date, f3 date, key(f1,f3,f2)) engine=innodb;
|
||||
|
@ -4622,7 +4622,7 @@ without_overlaps_err:
|
||||
my_error(ER_TOO_LONG_IDENT, MYF(0), check->name.str);
|
||||
DBUG_RETURN(TRUE);
|
||||
}
|
||||
if (check_expression(check, &check->name, VCOL_CHECK_TABLE))
|
||||
if (check_expression(check, &check->name, VCOL_CHECK_TABLE, alter_info))
|
||||
DBUG_RETURN(TRUE);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user