diff options
Diffstat (limited to 'mysql-test/suite/versioning/t/truncate.test')
-rw-r--r-- | mysql-test/suite/versioning/t/truncate.test | 106 |
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; |