diff options
author | Aleksey Midenkov <midenok@gmail.com> | 2020-06-16 10:43:53 +0300 |
---|---|---|
committer | Aleksey Midenkov <midenok@gmail.com> | 2020-06-16 10:43:53 +0300 |
commit | b633b6a9d8278a3e0d9baaf83264fd007820c918 (patch) | |
tree | 981a94b21bdedd80fbe9bf992ef98fd0778efb81 /mysql-test/suite/versioning | |
parent | 9f37323f063d4efbbab4a235d1e2417d7a646053 (diff) | |
download | mariadb-git-b633b6a9d8278a3e0d9baaf83264fd007820c918.tar.gz |
MDEV-22906 Disallow system_versioning_asof in DML
system_versioning_asof does not influence on multi-delete,
multi-update, insert-select, replace-select.
Diffstat (limited to 'mysql-test/suite/versioning')
-rw-r--r-- | mysql-test/suite/versioning/r/sysvars.result | 29 | ||||
-rw-r--r-- | mysql-test/suite/versioning/t/sysvars.test | 24 |
2 files changed, 53 insertions, 0 deletions
diff --git a/mysql-test/suite/versioning/r/sysvars.result b/mysql-test/suite/versioning/r/sysvars.result index 9cb4911b321..cd858d6cf69 100644 --- a/mysql-test/suite/versioning/r/sysvars.result +++ b/mysql-test/suite/versioning/r/sysvars.result @@ -146,3 +146,32 @@ show status like "Feature_system_versioning"; Variable_name Value Feature_system_versioning 2 drop table t; +# +# MDEV-22906 Disallow system_versioning_asof in DML +# +create or replace table t1 (x int) with system versioning; +create or replace table t2 (y int); +insert into t1 values (1); +insert into t2 values (1); +set system_versioning_asof= '1970-01-01 00:00:00'; +delete t1, t2 from t1 join t2 where t1.x = t2.y; +select * from t1 for system_time as of timestamp now(6); +x +insert into t1 values (1); +insert into t2 values (1); +update t1, t2 set x= 2, y= 2 where x = y; +select * from t1 for system_time as of timestamp now(6); +x +2 +replace t2 select x + 1 from t1; +select * from t2; +y +2 +3 +insert t2 select x + 2 from t1; +select * from t2; +y +2 +3 +4 +drop tables t1, t2; diff --git a/mysql-test/suite/versioning/t/sysvars.test b/mysql-test/suite/versioning/t/sysvars.test index 1999ddd13fc..2f62262fc8e 100644 --- a/mysql-test/suite/versioning/t/sysvars.test +++ b/mysql-test/suite/versioning/t/sysvars.test @@ -103,3 +103,27 @@ select * from t for system_time between '1970-01-01 00:00' and current_timestamp show status like "Feature_system_versioning"; drop table t; + +--echo # +--echo # MDEV-22906 Disallow system_versioning_asof in DML +--echo # +create or replace table t1 (x int) with system versioning; +create or replace table t2 (y int); +insert into t1 values (1); +insert into t2 values (1); +set system_versioning_asof= '1970-01-01 00:00:00'; +delete t1, t2 from t1 join t2 where t1.x = t2.y; +select * from t1 for system_time as of timestamp now(6); + +insert into t1 values (1); +insert into t2 values (1); +update t1, t2 set x= 2, y= 2 where x = y; +select * from t1 for system_time as of timestamp now(6); + +replace t2 select x + 1 from t1; +select * from t2; + +insert t2 select x + 2 from t1; +select * from t2; + +drop tables t1, t2; |