summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/maria/maria-no-logging.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/maria/maria-no-logging.test')
-rw-r--r--mysql-test/suite/maria/maria-no-logging.test86
1 files changed, 86 insertions, 0 deletions
diff --git a/mysql-test/suite/maria/maria-no-logging.test b/mysql-test/suite/maria/maria-no-logging.test
new file mode 100644
index 00000000..5d802915
--- /dev/null
+++ b/mysql-test/suite/maria/maria-no-logging.test
@@ -0,0 +1,86 @@
+# 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