summaryrefslogtreecommitdiff
path: root/mysql-test/suite/versioning/t/truncate.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/versioning/t/truncate.test')
-rw-r--r--mysql-test/suite/versioning/t/truncate.test106
1 files changed, 7 insertions, 99 deletions
diff --git a/mysql-test/suite/versioning/t/truncate.test b/mysql-test/suite/versioning/t/truncate.test
index ddd0db5856d..1de94487570 100644
--- a/mysql-test/suite/versioning/t/truncate.test
+++ b/mysql-test/suite/versioning/t/truncate.test
@@ -2,120 +2,28 @@
create table t (a int);
--error ER_VERSIONING_REQUIRED
-truncate t for system_time all;
-
-delimiter ~~;
-create procedure truncate_history_of_t()
-begin
- prepare stmt from 'truncate t for system_time between \'1-1-1\' and now(6)';
- execute stmt;
- drop prepare stmt;
-end~~
-delimiter ;~~
+truncate t to system_time now();
+# TRUNCATE is not DELETE and trigger must not be called.
create or replace table t (a int) with system versioning;
insert into t values (1);
update t set a=2;
-select * from t for system_time all;
-
set @test = 'correct';
create trigger trg_before before delete on t for each row set @test = 'incorrect';
create trigger trg_after after delete on t for each row set @test = 'incorrect';
-
-truncate t for system_time all;
-select * from t for system_time all;
-
+truncate t to system_time now(6);
select @test from t;
-drop trigger trg_before;
-drop trigger trg_after;
-
-update t set a=3;
-update t set a=4;
-truncate t for system_time as of timestamp now(6);
-select * from t for system_time all;
-
-truncate t for system_time between '1-1-1' and now(6);
-select * from t for system_time all;
-
-update t set a=5;
-truncate t for system_time from '1-1-1' to now(6);
-select * from t for system_time all;
-
-update t set a=6;
-call truncate_history_of_t();
-select * from t for system_time all;
-
-set @ts1 = now(6);
-update t set a=7;
-set @ts2 = now(6);
-update t set a=8;
-truncate t for system_time from '1-1-1' to @ts1;
-select * from t for system_time all;
-update t set a=9;
-truncate t for system_time between '1-1-1' and @ts2;
-select * from t for system_time all;
-
-
-create or replace table t (a int) with system versioning engine=innodb;
-insert into t values (1);
-update t set a=2;
-select * from t for system_time all;
-
-truncate t for system_time all;
-select * from t for system_time all;
-
-update t set a=3;
-update t set a=4;
-truncate t for system_time as of timestamp now(6);
-select * from t for system_time all;
-
-truncate t for system_time between '1-1-1' and now(6);
-select * from t for system_time all;
-
-update t set a=5;
-truncate t for system_time from '1-1-1' to now(6);
-select * from t for system_time all;
-
-update t set a=6;
-call truncate_history_of_t();
-select * from t for system_time all;
-
-set @ts1 = now(6);
-update t set a=7;
-set @ts2 = now(6);
-update t set a=8;
-truncate t for system_time from '1-1-1' to timestamp @ts1;
-select * from t for system_time all;
-update t set a=9;
-truncate t for system_time between '1-1-1' and timestamp @ts2;
-select * from t for system_time all;
-
-create or replace table t (a int) with system versioning;
-insert into t values (1), (2);
-update t set a=11 where a=1;
-set @ts1=now(6);
-update t set a=22 where a=2;
-select * from t for system_time all;
-select * from t for system_time before timestamp @ts1;
-truncate t for system_time before timestamp @ts1;
-select * from t for system_time all;
-truncate t for system_time before timestamp now(6);
-select * from t for system_time all;
+drop table t;
-create or replace table t (a int) with system versioning engine=innodb;
+create table t (a int) with system versioning;
insert into t values (1), (2);
update t set a=11 where a=1;
set @ts1=now(6);
update t set a=22 where a=2;
select * from t for system_time all;
-select * from t for system_time before timestamp @ts1;
-insert into t values (33);
-select max(sys_trx_start + 0) from t into @tx;
-select * from t for system_time before transaction @tx;
-truncate t for system_time before timestamp @ts1;
+truncate t to system_time timestamp @ts1;
select * from t for system_time all;
-truncate t for system_time before timestamp now(6);
+truncate table t to system_time timestamp now(6);
select * from t for system_time all;
drop table t;
-drop procedure truncate_history_of_t;