1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

MDEV-18862 Unfortunate error message upon attempt to drop system versioning

Fix error code.
This commit is contained in:
Aleksey Midenkov
2019-08-13 14:31:34 +03:00
parent 65d48b4a7b
commit 39db116562
4 changed files with 5 additions and 7 deletions

View File

@ -622,9 +622,9 @@ set sql_mode= default;
set system_versioning_alter_history= keep;
create or replace table t1 (x int) with system versioning;
alter table t1 drop column `row_start`, drop column `row_end`, drop period for system_time, drop system versioning;
ERROR HY000: No 'PERIOD FOR SYSTEM_TIME' in system-versioned `t1`
ERROR 42000: Can't DROP PERIOD FOR SYSTEM_TIME on `t1`; check that it exists
alter table t1 drop period for system_time;
ERROR HY000: No 'PERIOD FOR SYSTEM_TIME' in system-versioned `t1`
ERROR 42000: Can't DROP PERIOD FOR SYSTEM_TIME on `t1`; check that it exists
alter table t1 drop column `row_start`, drop column `row_end`, drop system versioning;
ERROR 42000: Can't DROP COLUMN `row_start`; check that it exists
alter table t1 drop column `row_end`;

View File

@ -519,9 +519,9 @@ set sql_mode= default;
--echo #
set system_versioning_alter_history= keep;
create or replace table t1 (x int) with system versioning;
--error ER_VERS_NO_PERIOD
--error ER_CANT_DROP_FIELD_OR_KEY
alter table t1 drop column `row_start`, drop column `row_end`, drop period for system_time, drop system versioning;
--error ER_VERS_NO_PERIOD
--error ER_CANT_DROP_FIELD_OR_KEY
alter table t1 drop period for system_time;
--error ER_CANT_DROP_FIELD_OR_KEY
alter table t1 drop column `row_start`, drop column `row_end`, drop system versioning;

View File

@ -7898,5 +7898,3 @@ ER_KEY_DOESNT_SUPPORT
eng "%s index %`s does not support this operation"
ER_ALTER_OPERATION_TABLE_OPTIONS_NEED_REBUILD
eng "Changing table options requires the table to be rebuilt"
ER_VERS_NO_PERIOD
eng "No 'PERIOD FOR SYSTEM_TIME' in system-versioned %`s"

View File

@ -8078,7 +8078,7 @@ mysql_prepare_alter_table(THD *thd, TABLE *table,
}
else if (alter_info->flags & ALTER_DROP_PERIOD && vers_system_invisible)
{
my_error(ER_VERS_NO_PERIOD, MYF(0), table->s->table_name.str);
my_error(ER_CANT_DROP_FIELD_OR_KEY, MYF(0), "PERIOD FOR SYSTEM_TIME on", table->s->table_name.str);
goto err;
}
alter_info->flags &= ~(ALTER_DROP_PERIOD | ALTER_ADD_PERIOD);