# Aria recovery test which cannot run in shared memory # because it generates too much data, or which takes a lot of time. --source include/not_embedded.inc # Don't test this under valgrind, memory leaks will occur as we crash --source include/not_valgrind.inc # Binary must be compiled with debug for crash to occur --source include/have_debug.inc --source include/have_maria.inc --source include/big_test.inc set global aria_log_file_size=4294959104; --disable_warnings drop database if exists mysqltest; --enable_warnings create database mysqltest; let $mms_tname=t; # Include scripts can perform SQL. For it to not influence the main test # they use a separate connection. This way if they use a DDL it would # not autocommit in the main test. connect (admin, localhost, root,,mysqltest,,); --enable_reconnect connection default; use mysqltest; --enable_reconnect # # Test with big blobs # --echo * TEST of recovery with blobs -- source include/maria_empty_logs.inc create table t1 (a int, b longtext) engine=aria table_checksum=1; let $mms_tables=1; -- source include/maria_make_snapshot_for_feeding_recovery.inc insert into t1 values (1,"123456789012345678901234567890"),(2,"09876543210987654321"); -- source include/maria_make_snapshot_for_comparison.inc lock table t1 write; let $loop=20; while ($loop) { update t1 set b=CONCAT(b,b); dec $loop; } select a,length(b) from t1; let $loop=22; while ($loop) { update t1 set b=mid(b,1,length(b)/2); dec $loop; } select a,length(b) from t1; # we want recovery to run on the first snapshot made above let $mvr_restore_old_snapshot=1; let $mms_compare_physically=0; let $mvr_debug_option="+d,maria_flush_whole_log,maria_crash"; let $mvr_crash_statement= set global aria_checkpoint_interval=1; -- source include/maria_verify_recovery.inc drop table t1; # clean up everything let $mms_purpose=feeding_recovery; eval drop database mysqltest_for_$mms_purpose; let $mms_purpose=comparison; eval drop database mysqltest_for_$mms_purpose; drop database mysqltest;