Details
-
Bug
-
Status: Open (View Workflow)
-
Minor
-
Resolution: Unresolved
-
10.3, 10.4
-
None
Description
marko provided the test case:
set @@system_versioning_alter_history = keep; |
CREATE TABLE t (a INT) ENGINE=InnoDB; |
--error ER_VERS_NOT_VERSIONED
|
ALTER TABLE t CHANGE COLUMN a alpha INT WITH SYSTEM VERSIONING; |
--echo # Wrong! Should be ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
--error ER_VERS_NOT_VERSIONED
|
ALTER TABLE t CHANGE COLUMN a alpha INT WITH SYSTEM VERSIONING, |
WITH SYSTEM VERSIONING, ALGORITHM=INSTANT; |
--echo # Wrong! Should succeed!
|
--error ER_VERS_NOT_VERSIONED
|
ALTER TABLE t CHANGE COLUMN a alpha INT WITH SYSTEM VERSIONING, |
WITH SYSTEM VERSIONING; |
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
ALTER TABLE t WITH SYSTEM VERSIONING, ALGORITHM=INSTANT; |
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
ALTER TABLE t WITH SYSTEM VERSIONING, ALGORITHM=NOCOPY; |
--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
|
ALTER TABLE t WITH SYSTEM VERSIONING, ALGORITHM=INPLACE; |
ALTER TABLE t WITH SYSTEM VERSIONING; |
DROP TABLE t; |
The change has been made by MDEV-19127. At the same time, the concurrent change by MDEV-16490 introduced order-independent behavior (see pull request), but it was discarded by the author in favor of the latter one.
One of these two things should be done: either consider addressing the behavior on the documentation, or apply the discarded changes and tests from https://github.com/MariaDB/server/pull/803