BEGIN
declare i,delcnt int default 0;
declare arcivedays int default 180;
declare arcivedate datetime;
set arcivedate = date_sub(now(), interval arcivedays day);
set session autocommit=1;
set session sql_mode='';
set session tx_isolation='REPEATABLE-READ';
set session binlog_format=STATEMENT;
select count(*) into delcnt from ts_inft_log where accept_tm<arcivedate;
set i=0;
while i < delcnt do
select sum(crc32(ifnull(status,'0'))) into @blackhole from (select status from ts_inft_log where accept_tm<arcivedate order by accept_tm,id limit 1000) t;
start transaction;
delete from ts_inft_log where accept_tm<arcivedate order by accept_tm,id limit 1000;
commit;
select sleep(0.3) into @blackhole;
set i=i+1000;
end while;
set session sql_mode=default;
set session binlog_format=default;
set session tx_isolation=default;
set session autocommit=default;
END