mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-15190 Bad error for non-versioned table PARTITION BY SYSTEM_TIME
This commit is contained in:
@ -42,13 +42,13 @@ create or replace table t1 (x int)
|
||||
partition by system_time (
|
||||
partition p0 history,
|
||||
partition pn current);
|
||||
ERROR HY000: Transaction system versioning for `t1` is not supported
|
||||
ERROR HY000: Table `t1` is not system-versioned
|
||||
create or replace table t1 (x int);
|
||||
alter table t1
|
||||
partition by system_time (
|
||||
partition p0 history,
|
||||
partition pn current);
|
||||
Got one of the listed errors
|
||||
ERROR HY000: Table `t1` is not system-versioned
|
||||
create or replace table t1 (x int)
|
||||
with system versioning
|
||||
partition by system_time (
|
||||
|
@ -33,14 +33,14 @@ eval alter table t1 engine=$non_default_engine;
|
||||
|
||||
--echo ## CREATE TABLE
|
||||
|
||||
--error ER_VERS_ENGINE_UNSUPPORTED
|
||||
--error ER_VERS_NOT_VERSIONED
|
||||
create or replace table t1 (x int)
|
||||
partition by system_time (
|
||||
partition p0 history,
|
||||
partition pn current);
|
||||
|
||||
create or replace table t1 (x int);
|
||||
--error ER_VERS_ENGINE_UNSUPPORTED,ER_VERS_ENGINE_UNSUPPORTED
|
||||
--error ER_VERS_NOT_VERSIONED
|
||||
alter table t1
|
||||
partition by system_time (
|
||||
partition p0 history,
|
||||
|
@ -928,7 +928,8 @@ bool partition_info::vers_setup_expression(THD * thd, uint32 alter_add)
|
||||
{
|
||||
if (!table->versioned())
|
||||
{
|
||||
my_error(ER_VERS_ENGINE_UNSUPPORTED, MYF(0), table->s->table_name.str);
|
||||
// frm must be corrupted, normally CREATE/ALTER TABLE checks for that
|
||||
my_error(ER_FILE_CORRUPT, MYF(0), table->s->path.str);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -4641,6 +4641,12 @@ handler *mysql_create_frm_image(THD *thd,
|
||||
goto err;
|
||||
part_info->default_engine_type= engine_type;
|
||||
|
||||
if (part_info->vers_info && !create_info->versioned())
|
||||
{
|
||||
my_error(ER_VERS_NOT_VERSIONED, MYF(0), table_name->str);
|
||||
goto err;
|
||||
}
|
||||
|
||||
/*
|
||||
We reverse the partitioning parser and generate a standard format
|
||||
for syntax stored in frm file.
|
||||
|
Reference in New Issue
Block a user