# test of cases where we can safely disable logging --source include/have_maria.inc # can't restart server in embedded --source include/not_embedded.inc --source include/default_charset.inc set global aria_log_file_size=4294959104; --disable_warnings drop database if exists mysqltest; --enable_warnings create database mysqltest; connect (admin, localhost, root,,mysqltest,,); --enable_reconnect connection default; use mysqltest; --enable_reconnect # checkpoints can make log unrepeatable let $def_checkinterval=`select @@global.aria_checkpoint_interval`; set global aria_checkpoint_interval=0; # Prepare table to help for big load create table t2 (a varchar(100)) engine=myisam; insert into t2 select repeat('z',100); insert into t2 select * from t2; insert into t2 select * from t2; insert into t2 select * from t2; insert into t2 select * from t2; insert into t2 select * from t2; insert into t2 select * from t2; # INSERT SELECT # no optimization because table not empty # SHOW ENGINE ARIA LOGS could be influenced by older logs -- source include/maria_empty_logs.inc create table t1 (a varchar(100)) engine=aria transactional=1; show create table t1; --replace_regex /; .+aria_log/aria_log/ show engine aria logs; insert into t1 values('a'); insert into t1 select * from t2; --replace_regex /; .+aria_log/aria_log/ show engine aria logs; select count(*) from t1; # optimization because table is empty -- source include/maria_empty_logs.inc truncate table t1; insert into t1 select * from t2; --replace_regex /; .+aria_log/aria_log/ show engine aria logs; select count(*) from t1; drop table t1; # same for CREATE SELECT # no optimization because table not empty -- source include/maria_empty_logs.inc create table t1 (a varchar(100)) engine=aria transactional=1; insert into t1 values('a'); create table if not exists t1 select * from t2; --replace_regex /; .+aria_log/aria_log/ show engine aria logs; # optimization because table is empty -- source include/maria_empty_logs.inc drop table t1; create table t1 engine=aria transactional=1 select * from t2; --replace_regex /; .+aria_log/aria_log/ show engine aria logs; drop database mysqltest; --disable_result_log --disable_query_log eval set global aria_checkpoint_interval=$def_checkinterval; --enable_result_log --enable_query_log