Commit 8123d799 authored by Sergei Golubchik's avatar Sergei Golubchik

MDEV-15951 system versioning by trx id doesn't work with partitioning

Clarify the error message, use the wording from the manual.

Closes #870
parent e6230e84
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment