Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.3.9, 10.3(EOL)
-
None
-
CentOS7
Description
If you issue an ALTER TABLE to make a column that is a foreign key NOT NULL you get the following error:
Cannot change column 'c1': used in a foreign key constraint 'p2c_ibfk_1'
|
In prior versions of MariaDB this was allowed and did not generate an error. Further, if you issue an ALTER TABLE to make a column that is a foreign key NULLable you do NOT get any error message.
Attachments
Issue Links
- relates to
-
MDEV-14632 Assertion `!((new_col->prtype ^ col->prtype) & ~256U)' failed in row_log_table_apply_convert_mrec
-
- Closed
-
Thanks for the report! Reproducible with Innodb on MariaDB 10.3
--source include/have_innodb.inc
SET @@system_versioning_alter_history = 1;
create table t1 (a int not null, key(a))engine=innodb with system versioning;
create table t2 (b int, foreign key(b) references t1(a))engine=innodb with system versioning;
alter table t2 modify column b int default null;
drop table t2,t1;
create table t1 (a int, key(a))engine=innodb with system versioning;
create table t2 (b int, foreign key(b) references t1(a))engine=innodb with system versioning;
alter table t2 modify column b int not null;
drop table t2,t1;
mysqltest: At line 17: query 'alter table t2 modify column b int not null' failed: 1832: Cannot change column 'b': used in a foreign key constraint 't2_ibfk_1'