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 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 (
|
||||
a int primary key,
|
||||
row_start bigint unsigned as row start invisible,
|
||||
@ -42,7 +42,7 @@ partition by key(a, row_start) (
|
||||
partition p1,
|
||||
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 (
|
||||
a int primary key,
|
||||
row_start bigint unsigned as row start invisible,
|
||||
@ -53,7 +53,7 @@ partition by hash(a + row_end * 2) (
|
||||
partition p1,
|
||||
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 (
|
||||
a int primary key,
|
||||
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 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
|
||||
drop 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]
|
||||
create or replace table t1 (x int) with system versioning engine myisam;
|
||||
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 (
|
||||
x int,
|
||||
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;
|
||||
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
|
||||
#
|
||||
@ -337,14 +337,14 @@ x
|
||||
SELECT * FROM t1 FOR SYSTEM_TIME AS OF (0xFFFFFFFF);
|
||||
ERROR HY000: TRX_ID 4294967295 not found in `mysql.transaction_registry`
|
||||
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
|
||||
#
|
||||
SELECT * FROM t1 FOR SYSTEM_TIME AS OF (b'11111111111111111111111111111111');
|
||||
ERROR HY000: TRX_ID 4294967295 not found in `mysql.transaction_registry`
|
||||
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;
|
||||
#
|
||||
# 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();
|
||||
x start_timestamp end_timestamp
|
||||
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();
|
||||
x start_timestamp end_timestamp
|
||||
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"
|
||||
|
||||
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
|
||||
eng "You should never see it"
|
||||
@ -7908,7 +7908,7 @@ ER_VERS_TEMPORARY
|
||||
eng "TEMPORARY tables do not support system versioning"
|
||||
|
||||
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
|
||||
eng "The index file for table '%-.192s' is full"
|
||||
ER_UPDATED_COLUMN_ONLY_ONCE
|
||||
|
Reference in New Issue
Block a user