mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-15951 system versioning by trx id doesn't work with partitioning
Clarify the error message, use the wording from the manual. Closes #870
This commit is contained in:
@ -31,7 +31,7 @@ partition by key() (
|
|||||||
partition p1,
|
partition p1,
|
||||||
partition p2
|
partition p2
|
||||||
);
|
);
|
||||||
ERROR HY000: Transactional system versioned tables do not support partitioning by ROW START or ROW END
|
ERROR HY000: Transaction-precise system versioned tables do not support partitioning by ROW START or ROW END
|
||||||
create or replace table t (
|
create or replace table t (
|
||||||
a int primary key,
|
a int primary key,
|
||||||
row_start bigint unsigned as row start invisible,
|
row_start bigint unsigned as row start invisible,
|
||||||
@ -42,7 +42,7 @@ partition by key(a, row_start) (
|
|||||||
partition p1,
|
partition p1,
|
||||||
partition p2
|
partition p2
|
||||||
);
|
);
|
||||||
ERROR HY000: Transactional system versioned tables do not support partitioning by ROW START or ROW END
|
ERROR HY000: Transaction-precise system versioned tables do not support partitioning by ROW START or ROW END
|
||||||
create or replace table t (
|
create or replace table t (
|
||||||
a int primary key,
|
a int primary key,
|
||||||
row_start bigint unsigned as row start invisible,
|
row_start bigint unsigned as row start invisible,
|
||||||
@ -53,7 +53,7 @@ partition by hash(a + row_end * 2) (
|
|||||||
partition p1,
|
partition p1,
|
||||||
partition p2
|
partition p2
|
||||||
);
|
);
|
||||||
ERROR HY000: Transactional system versioned tables do not support partitioning by ROW START or ROW END
|
ERROR HY000: Transaction-precise system versioned tables do not support partitioning by ROW START or ROW END
|
||||||
create or replace table t (
|
create or replace table t (
|
||||||
a int primary key,
|
a int primary key,
|
||||||
row_start bigint unsigned as row start invisible,
|
row_start bigint unsigned as row start invisible,
|
||||||
@ -63,7 +63,7 @@ period for system_time(row_start, row_end)
|
|||||||
partition by range columns (a, row_start) (
|
partition by range columns (a, row_start) (
|
||||||
partition p1 values less than (100, 100)
|
partition p1 values less than (100, 100)
|
||||||
);
|
);
|
||||||
ERROR HY000: Transactional system versioned tables do not support partitioning by ROW START or ROW END
|
ERROR HY000: Transaction-precise system versioned tables do not support partitioning by ROW START or ROW END
|
||||||
# Test cleanup
|
# Test cleanup
|
||||||
drop database test;
|
drop database test;
|
||||||
create database test;
|
create database test;
|
||||||
|
@ -319,7 +319,7 @@ ERROR HY000: Table `t` is not system-versioned
|
|||||||
# TRANSACTION/TIMESTAMP specifier in SYSTEM_TIME [MDEV-14645, Issue #396]
|
# TRANSACTION/TIMESTAMP specifier in SYSTEM_TIME [MDEV-14645, Issue #396]
|
||||||
create or replace table t1 (x int) with system versioning engine myisam;
|
create or replace table t1 (x int) with system versioning engine myisam;
|
||||||
select * from t1 for system_time as of transaction 1;
|
select * from t1 for system_time as of transaction 1;
|
||||||
ERROR HY000: Transaction system versioning for `t1` is not supported
|
ERROR HY000: Transaction-precise system versioning for `t1` is not supported
|
||||||
create or replace table t1 (
|
create or replace table t1 (
|
||||||
x int,
|
x int,
|
||||||
sys_trx_start bigint unsigned as row start invisible,
|
sys_trx_start bigint unsigned as row start invisible,
|
||||||
|
@ -322,7 +322,7 @@ DECLARE var BIT(10);
|
|||||||
SELECT * FROM t2 FOR SYSTEM_TIME AS OF var;
|
SELECT * FROM t2 FOR SYSTEM_TIME AS OF var;
|
||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
ERROR HY000: Transaction system versioning for `t2` is not supported
|
ERROR HY000: Transaction-precise system versioning for `t2` is not supported
|
||||||
#
|
#
|
||||||
# String literals resolve to TIMESTAMP
|
# String literals resolve to TIMESTAMP
|
||||||
#
|
#
|
||||||
@ -337,14 +337,14 @@ x
|
|||||||
SELECT * FROM t1 FOR SYSTEM_TIME AS OF (0xFFFFFFFF);
|
SELECT * FROM t1 FOR SYSTEM_TIME AS OF (0xFFFFFFFF);
|
||||||
ERROR HY000: TRX_ID 4294967295 not found in `mysql.transaction_registry`
|
ERROR HY000: TRX_ID 4294967295 not found in `mysql.transaction_registry`
|
||||||
SELECT * FROM t2 FOR SYSTEM_TIME AS OF (0xFFFFFFFF);
|
SELECT * FROM t2 FOR SYSTEM_TIME AS OF (0xFFFFFFFF);
|
||||||
ERROR HY000: Transaction system versioning for `t2` is not supported
|
ERROR HY000: Transaction-precise system versioning for `t2` is not supported
|
||||||
#
|
#
|
||||||
# BIT literals resolve to TRANSACTION
|
# BIT literals resolve to TRANSACTION
|
||||||
#
|
#
|
||||||
SELECT * FROM t1 FOR SYSTEM_TIME AS OF (b'11111111111111111111111111111111');
|
SELECT * FROM t1 FOR SYSTEM_TIME AS OF (b'11111111111111111111111111111111');
|
||||||
ERROR HY000: TRX_ID 4294967295 not found in `mysql.transaction_registry`
|
ERROR HY000: TRX_ID 4294967295 not found in `mysql.transaction_registry`
|
||||||
SELECT * FROM t2 FOR SYSTEM_TIME AS OF (b'11111111111111111111111111111111');
|
SELECT * FROM t2 FOR SYSTEM_TIME AS OF (b'11111111111111111111111111111111');
|
||||||
ERROR HY000: Transaction system versioning for `t2` is not supported
|
ERROR HY000: Transaction-precise system versioning for `t2` is not supported
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
#
|
#
|
||||||
# MDEV-16094 Crash when using AS OF with a stored function
|
# MDEV-16094 Crash when using AS OF with a stored function
|
||||||
@ -368,7 +368,7 @@ PERIOD FOR SYSTEM_TIME(start_timestamp, end_timestamp)
|
|||||||
SELECT * FROM tts FOR SYSTEM_TIME AS OF fts();
|
SELECT * FROM tts FOR SYSTEM_TIME AS OF fts();
|
||||||
x start_timestamp end_timestamp
|
x start_timestamp end_timestamp
|
||||||
SELECT * FROM tts FOR SYSTEM_TIME AS OF ftx();
|
SELECT * FROM tts FOR SYSTEM_TIME AS OF ftx();
|
||||||
ERROR HY000: Transaction system versioning for `tts` is not supported
|
ERROR HY000: Transaction-precise system versioning for `tts` is not supported
|
||||||
SELECT * FROM ttx FOR SYSTEM_TIME AS OF fts();
|
SELECT * FROM ttx FOR SYSTEM_TIME AS OF fts();
|
||||||
x start_timestamp end_timestamp
|
x start_timestamp end_timestamp
|
||||||
SELECT * FROM ttx FOR SYSTEM_TIME AS OF ftx();
|
SELECT * FROM ttx FOR SYSTEM_TIME AS OF ftx();
|
||||||
|
@ -7827,7 +7827,7 @@ ER_VERS_FIELD_WRONG_TYPE
|
|||||||
eng "%`s must be of type %s for system-versioned table %`s"
|
eng "%`s must be of type %s for system-versioned table %`s"
|
||||||
|
|
||||||
ER_VERS_ENGINE_UNSUPPORTED
|
ER_VERS_ENGINE_UNSUPPORTED
|
||||||
eng "Transaction system versioning for %`s is not supported"
|
eng "Transaction-precise system versioning for %`s is not supported"
|
||||||
|
|
||||||
ER_UNUSED_23
|
ER_UNUSED_23
|
||||||
eng "You should never see it"
|
eng "You should never see it"
|
||||||
@ -7908,7 +7908,7 @@ ER_VERS_TEMPORARY
|
|||||||
eng "TEMPORARY tables do not support system versioning"
|
eng "TEMPORARY tables do not support system versioning"
|
||||||
|
|
||||||
ER_VERS_TRX_PART_HISTORIC_ROW_NOT_SUPPORTED
|
ER_VERS_TRX_PART_HISTORIC_ROW_NOT_SUPPORTED
|
||||||
eng "Transactional system versioned tables do not support partitioning by ROW START or ROW END"
|
eng "Transaction-precise system versioned tables do not support partitioning by ROW START or ROW END"
|
||||||
ER_INDEX_FILE_FULL
|
ER_INDEX_FILE_FULL
|
||||||
eng "The index file for table '%-.192s' is full"
|
eng "The index file for table '%-.192s' is full"
|
||||||
ER_UPDATED_COLUMN_ONLY_ONCE
|
ER_UPDATED_COLUMN_ONLY_ONCE
|
||||||
|
Reference in New Issue
Block a user