mirror of
https://github.com/MariaDB/server.git
synced 2025-08-14 08:03:06 +03:00
This check was introduced in602a222
and then became redundant in ad1553e, where we attempt to open a table even for non-copy algorithms. Added missing test case from602a222
. Part of MDEV-17805 - Remove InnoDB cache for temporary tables.
80 lines
2.4 KiB
Plaintext
80 lines
2.4 KiB
Plaintext
--source include/have_innodb.inc
|
|
--source include/have_partition.inc
|
|
|
|
--echo # MDEV-15951 system versioning by trx id doesn't work with partitioning
|
|
--echo # currently trx_id does not support partitioning by system_time
|
|
--error ER_VERS_FIELD_WRONG_TYPE
|
|
create or replace table t1(
|
|
i int,
|
|
row_start bigint unsigned generated always as row start,
|
|
row_end bigint unsigned generated always as row end,
|
|
period for system_time(row_start, row_end)
|
|
) engine=InnoDB with system versioning partition by system_time (
|
|
partition p0 history,
|
|
partition pn current
|
|
);
|
|
|
|
create or replace table t1(
|
|
i int,
|
|
row_start bigint unsigned generated always as row start,
|
|
row_end bigint unsigned generated always as row end,
|
|
period for system_time(row_start, row_end)
|
|
) engine=InnoDB with system versioning;
|
|
|
|
--error ER_VERS_FIELD_WRONG_TYPE
|
|
alter table t1 partition by system_time (
|
|
partition p0 history,
|
|
partition pn current
|
|
);
|
|
|
|
--error ER_VERS_TRX_PART_HISTORIC_ROW_NOT_SUPPORTED
|
|
create or replace table t (
|
|
a int primary key,
|
|
row_start bigint unsigned as row start invisible,
|
|
row_end bigint unsigned as row end invisible,
|
|
period for system_time(row_start, row_end)
|
|
) engine=innodb with system versioning
|
|
partition by key() (
|
|
partition p1,
|
|
partition p2
|
|
);
|
|
|
|
--error ER_VERS_TRX_PART_HISTORIC_ROW_NOT_SUPPORTED
|
|
create or replace table t (
|
|
a int primary key,
|
|
row_start bigint unsigned as row start invisible,
|
|
row_end bigint unsigned as row end invisible,
|
|
period for system_time(row_start, row_end)
|
|
) engine=innodb with system versioning
|
|
partition by key(a, row_start) (
|
|
partition p1,
|
|
partition p2
|
|
);
|
|
|
|
--error ER_VERS_TRX_PART_HISTORIC_ROW_NOT_SUPPORTED
|
|
create or replace table t (
|
|
a int primary key,
|
|
row_start bigint unsigned as row start invisible,
|
|
row_end bigint unsigned as row end invisible,
|
|
period for system_time(row_start, row_end)
|
|
) engine=innodb with system versioning
|
|
partition by hash(a + row_end * 2) (
|
|
partition p1,
|
|
partition p2
|
|
);
|
|
|
|
--error ER_VERS_TRX_PART_HISTORIC_ROW_NOT_SUPPORTED
|
|
create or replace table t (
|
|
a int primary key,
|
|
row_start bigint unsigned as row start invisible,
|
|
row_end bigint unsigned as row end invisible,
|
|
period for system_time(row_start, row_end)
|
|
) engine=innodb with system versioning
|
|
partition by range columns (a, row_start) (
|
|
partition p1 values less than (100, 100)
|
|
);
|
|
|
|
--echo # Test cleanup
|
|
drop database test;
|
|
create database test;
|