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() ( ...@@ -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) ( ...@@ -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) ( ...@@ -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) ...@@ -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 ...@@ -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); ...@@ -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 ...@@ -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) ...@@ -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 ...@@ -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 ...@@ -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
......
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