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 by system_time (
|
||||||
partition p0 history,
|
partition p0 history,
|
||||||
partition pn current);
|
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);
|
create or replace table t1 (x int);
|
||||||
alter table t1
|
alter table t1
|
||||||
partition by system_time (
|
partition by system_time (
|
||||||
partition p0 history,
|
partition p0 history,
|
||||||
partition pn current);
|
partition pn current);
|
||||||
Got one of the listed errors
|
ERROR HY000: Table `t1` is not system-versioned
|
||||||
create or replace table t1 (x int)
|
create or replace table t1 (x int)
|
||||||
with system versioning
|
with system versioning
|
||||||
partition by system_time (
|
partition by system_time (
|
||||||
|
@ -33,14 +33,14 @@ eval alter table t1 engine=$non_default_engine;
|
|||||||
|
|
||||||
--echo ## CREATE TABLE
|
--echo ## CREATE TABLE
|
||||||
|
|
||||||
--error ER_VERS_ENGINE_UNSUPPORTED
|
--error ER_VERS_NOT_VERSIONED
|
||||||
create or replace table t1 (x int)
|
create or replace table t1 (x int)
|
||||||
partition by system_time (
|
partition by system_time (
|
||||||
partition p0 history,
|
partition p0 history,
|
||||||
partition pn current);
|
partition pn current);
|
||||||
|
|
||||||
create or replace table t1 (x int);
|
create or replace table t1 (x int);
|
||||||
--error ER_VERS_ENGINE_UNSUPPORTED,ER_VERS_ENGINE_UNSUPPORTED
|
--error ER_VERS_NOT_VERSIONED
|
||||||
alter table t1
|
alter table t1
|
||||||
partition by system_time (
|
partition by system_time (
|
||||||
partition p0 history,
|
partition p0 history,
|
||||||
|
@ -928,7 +928,8 @@ bool partition_info::vers_setup_expression(THD * thd, uint32 alter_add)
|
|||||||
{
|
{
|
||||||
if (!table->versioned())
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4641,6 +4641,12 @@ handler *mysql_create_frm_image(THD *thd,
|
|||||||
goto err;
|
goto err;
|
||||||
part_info->default_engine_type= engine_type;
|
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
|
We reverse the partitioning parser and generate a standard format
|
||||||
for syntax stored in frm file.
|
for syntax stored in frm file.
|
||||||
|
Reference in New Issue
Block a user