--source suite/versioning/engines.inc create table t (a int); --error ER_VERS_NOT_VERSIONED delete history from t before 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; 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'; delete history from t; select @test from t; drop table t; create table t (a int) with system versioning; insert into t values (1), (2); update t set a=11 where a=1; --real_sleep 0.01 set @ts1=now(6); --real_sleep 0.01 update t set a=22 where a=2; select * from t for system_time all; delete history from t before system_time timestamp @ts1; select * from t for system_time all; prepare stmt from 'delete history from t'; execute stmt; drop prepare stmt; select * from t for system_time all; delete from t; delimiter ~~; create or replace procedure truncate_sp() begin delete history from t before system_time timestamp now(6); end~~ delimiter ;~~ call truncate_sp; select * from t for system_time all; drop procedure truncate_sp; --echo ### Issue #399, truncate partitioned table is now unimplemented create or replace table t (a int) with system versioning engine myisam partition by system_time ( partition p0 history, partition pn current); --error ER_NOT_ALLOWED_COMMAND delete history from t; create or replace table t (i int) with system versioning; delete history from t; create or replace view v as select * from t; --error ER_VERS_TRUNCATE_VIEW delete history from v; create or replace table t (i int); --error ER_VERS_NOT_VERSIONED delete history from t; create or replace view v as select * from t; --error ER_VERS_TRUNCATE_VIEW delete history from v; --error ER_VERS_NOT_VERSIONED prepare stmt from 'delete history from t'; drop table t; drop view v;