diff options
author | Nikita Malyavin <nikitamalyavin@gmail.com> | 2019-02-22 22:17:41 +1000 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2019-03-29 12:51:19 +0100 |
commit | e6230e844c096e321294f5489d6088cfd8f0293f (patch) | |
tree | c1eb8c463db1ae4f4124c0b0427f6ef2ad6fa126 /sql/share/errmsg-utf8.txt | |
parent | f6ee132491f45dfe1856a627a686d29efbfa3034 (diff) | |
download | mariadb-git-e6230e844c096e321294f5489d6088cfd8f0293f.tar.gz |
MDEV-15951 system versioning by trx id doesn't work with partitioning
Fix partitioning for trx_id-versioned tables.
`partition by hash`, `range` and others now work.
`partition by system_time` is forbidden.
Currently we cannot use row_start and row_end in `partition by`, because
insertion of versioned field is done by engine's handler, as well as
row_start/row_end's value set up, which is a transaction id -- so it's
also forbidden.
The drawback is that it's now impossible to use `partition by key()`
without parameters for such tables, because it references row_start and
row_end implicitly.
* add handler::vers_can_native()
* drop Table_scope_and_contents_source_st::vers_native()
* drop partition_element::find_engine_flag as unused
* forbid versioning partitioning for trx_id as not supported
* adopt vers tests for trx_id partitioning
* forbid any row_end referencing in `partition by` clauses,
including implicit `by key()`
Diffstat (limited to 'sql/share/errmsg-utf8.txt')
-rw-r--r-- | sql/share/errmsg-utf8.txt | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/share/errmsg-utf8.txt b/sql/share/errmsg-utf8.txt index 71010ddc111..c7a5a2a48f0 100644 --- a/sql/share/errmsg-utf8.txt +++ b/sql/share/errmsg-utf8.txt @@ -7907,8 +7907,8 @@ ER_UNUSED_24 ER_VERS_TEMPORARY eng "TEMPORARY tables do not support system versioning" -ER_VERS_NOT_SUPPORTED - eng "%s is not supported for %s system-versioned tables" +ER_VERS_TRX_PART_HISTORIC_ROW_NOT_SUPPORTED + eng "Transactional 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 |