diff options
author | Aleksey Midenkov <midenok@gmail.com> | 2021-04-21 22:14:08 +0300 |
---|---|---|
committer | Aleksey Midenkov <midenok@gmail.com> | 2021-04-27 09:08:44 +0300 |
commit | 6d73282b136058deb992fdb758d8992fa186e73e (patch) | |
tree | e2b54ef9d0693ccd658ff5068a97ccbd3fc1ccc4 /mysql-test/suite/versioning/t/delete_history.test | |
parent | 29b2f3dbb543130a7ba71635216a8d7d34cac46e (diff) | |
download | mariadb-git-6d73282b136058deb992fdb758d8992fa186e73e.tar.gz |
MDEV-25468 DELETE HISTORY may delete current data on system-versioned table
Item_func_history (is_history()) is a bool function that checks if the
row is the history row by checking row_end->is_max(). The argument to
this function must be row_end system field.
Added the above function to conjunction with SYSTEM_TIME_BEFORE
versioning condition.
Diffstat (limited to 'mysql-test/suite/versioning/t/delete_history.test')
-rw-r--r-- | mysql-test/suite/versioning/t/delete_history.test | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/mysql-test/suite/versioning/t/delete_history.test b/mysql-test/suite/versioning/t/delete_history.test index 8a7f8e84a76..bd605c689ad 100644 --- a/mysql-test/suite/versioning/t/delete_history.test +++ b/mysql-test/suite/versioning/t/delete_history.test @@ -141,4 +141,26 @@ insert into t1 values (1); select * from t1; drop table t1; +--echo # +--echo # MDEV-25468 DELETE HISTORY may delete current data on system-versioned table +--echo # +create or replace table t1 (x int) with system versioning; +insert into t1 values (1); +delete history from t1 before system_time '2039-01-01 23:00'; +select * from t1; +explain extended delete history from t1 before system_time '2039-01-01 23:00'; +create or replace procedure p() delete history from t1 before system_time '2039-01-01 23:00'; +call p; +select * from t1; +call p; +select * from t1; +drop procedure p; +prepare stmt from "delete history from t1 before system_time '2039-01-01 23:00'"; +execute stmt; +select * from t1; +execute stmt; +select * from t1; +drop prepare stmt; +drop table t1; + --source suite/versioning/common_finish.inc |