MDEV-33313 Incorrect error message for "ALTER TABLE ... DROP CONSTRAINT ..., DROP col, DROP col"

This commit is contained in:
Sergei Golubchik 2024-01-25 22:39:29 +01:00
parent 6711540518
commit 0e8cda6130
3 changed files with 18 additions and 1 deletions

View File

@ -3124,5 +3124,13 @@ CREATE TEMPORARY TABLE t2 LIKE t1;
DROP TEMPORARY TABLE t2;
DROP TABLE t1;
#
# MDEV-33313 Incorrect error message for "ALTER TABLE ... DROP CONSTRAINT ..., DROP col, DROP col"
#
create table t2(id int primary key) engine=innodb;
create table t1(id int primary key, t2_id int, constraint t1_fk_t2_id foreign key(t2_id) references t2(id)) engine=innodb;
alter table t1 drop constraint t1_fk_t2_id, drop t2_id, drop t2_id;
ERROR 42000: Can't DROP COLUMN `t2_id`; check that it exists
drop table t1, t2;
#
# End of 10.6 tests
#

View File

@ -2406,6 +2406,15 @@ CREATE TEMPORARY TABLE t2 LIKE t1;
DROP TEMPORARY TABLE t2;
DROP TABLE t1;
--echo #
--echo # MDEV-33313 Incorrect error message for "ALTER TABLE ... DROP CONSTRAINT ..., DROP col, DROP col"
--echo #
create table t2(id int primary key) engine=innodb;
create table t1(id int primary key, t2_id int, constraint t1_fk_t2_id foreign key(t2_id) references t2(id)) engine=innodb;
--error ER_CANT_DROP_FIELD_OR_KEY
alter table t1 drop constraint t1_fk_t2_id, drop t2_id, drop t2_id;
drop table t1, t2;
--echo #
--echo # End of 10.6 tests
--echo #

View File

@ -8804,7 +8804,7 @@ mysql_prepare_alter_table(THD *thd, TABLE *table,
case Alter_drop::CHECK_CONSTRAINT:
case Alter_drop::PERIOD:
my_error(ER_CANT_DROP_FIELD_OR_KEY, MYF(0), drop->type_name(),
alter_info->drop_list.head()->name);
drop->name);
goto err;
case Alter_drop::FOREIGN_KEY:
// Leave the DROP FOREIGN KEY names in the alter_info->drop_list.