set global aria_log_file_size=4294959104; drop database if exists mysqltest; create database mysqltest; connect admin, localhost, root,,mysqltest,,; connection default; use mysqltest; connection default; connection admin; * shut down mysqld, removed logs, restarted it connection default; CREATE TABLE t1 ( line POINT NOT NULL, kind ENUM('po', 'pp', 'rr', 'dr', 'rd', 'ts', 'cl') NOT NULL DEFAULT 'po', name VARCHAR(32) ,SPATIAL key (line) ) transactional=1 row_format=page engine=aria; SHOW INDEX FROM t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored t1 1 line 1 line A NULL 32 NULL SPATIAL NO CREATE TABLE t2 (a VARCHAR(200), b TEXT, FULLTEXT (a,b) ) transactional=1 row_format=page engine=aria; SHOW INDEX FROM t2; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored t2 1 a 1 a NULL NULL NULL NULL YES FULLTEXT NO t2 1 a 2 b NULL NULL NULL NULL YES FULLTEXT NO * TEST of REDO: see if recovery can reconstruct if we give it an old table connection admin; * copied t2 for feeding_recovery * copied t1 for feeding_recovery connection default; connection admin; flush table t2; * copied t2 for comparison flush table t1; * copied t1 for comparison connection default; connection admin; SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash"; * crashing mysqld intentionally set global aria_checkpoint_interval=1; ERROR HY000: Lost connection to server during query * copied t2 back for feeding_recovery * copied t1 back for feeding_recovery * recovery happens check table t2 extended; Table Op Msg_type Msg_text mysqltest.t2 check status OK * testing that checksum after recovery is as expected Checksum-check ok check table t1 extended; Table Op Msg_type Msg_text mysqltest.t1 check status OK * testing that checksum after recovery is as expected Checksum-check ok connection default; use mysqltest; * TEST of INSERT and DELETE's rollback connection admin; flush table t2; * copied t2 for comparison flush table t1; * copied t1 for comparison connection default; lock tables t1 write, t2 write; connection admin; SET SESSION debug_dbug="+d,maria_crash"; * crashing mysqld intentionally set global aria_checkpoint_interval=1; ERROR HY000: Lost connection to server during query * recovery happens check table t2 extended; Table Op Msg_type Msg_text mysqltest.t2 check status OK * testing that checksum after recovery is as expected Checksum-check ok check table t1 extended; Table Op Msg_type Msg_text mysqltest.t1 check status OK * testing that checksum after recovery is as expected Checksum-check ok connection default; use mysqltest; connection admin; flush table t2; * copied t2 for comparison flush table t1; * copied t1 for comparison connection default; lock tables t1 write, t2 write; connection admin; SET SESSION debug_dbug="+d,maria_flush_whole_page_cache,maria_crash"; * crashing mysqld intentionally set global aria_checkpoint_interval=1; ERROR HY000: Lost connection to server during query * recovery happens check table t2 extended; Table Op Msg_type Msg_text mysqltest.t2 check status OK * testing that checksum after recovery is as expected Checksum-check ok check table t1 extended; Table Op Msg_type Msg_text mysqltest.t1 check status OK * testing that checksum after recovery is as expected Checksum-check ok connection default; use mysqltest; connection admin; flush table t2; * copied t2 for comparison flush table t1; * copied t1 for comparison connection default; lock tables t1 write, t2 write; connection admin; SET SESSION debug_dbug="+d,maria_flush_states,maria_flush_whole_log,maria_crash"; * crashing mysqld intentionally set global aria_checkpoint_interval=1; ERROR HY000: Lost connection to server during query * recovery happens check table t2 extended; Table Op Msg_type Msg_text mysqltest.t2 check status OK * testing that checksum after recovery is as expected Checksum-check ok check table t1 extended; Table Op Msg_type Msg_text mysqltest.t1 check status OK * testing that checksum after recovery is as expected Checksum-check ok connection default; use mysqltest; connection admin; flush table t2; * copied t2 for comparison flush table t1; * copied t1 for comparison connection default; lock tables t1 write, t2 write; connection admin; SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash"; * crashing mysqld intentionally set global aria_checkpoint_interval=1; ERROR HY000: Lost connection to server during query * recovery happens check table t2 extended; Table Op Msg_type Msg_text mysqltest.t2 check status OK * testing that checksum after recovery is as expected Checksum-check ok check table t1 extended; Table Op Msg_type Msg_text mysqltest.t1 check status OK * testing that checksum after recovery is as expected Checksum-check ok connection default; use mysqltest; connection admin; SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash"; * crashing mysqld intentionally set global aria_checkpoint_interval=1; ERROR HY000: Lost connection to server during query * recovery happens check table t2 extended; Table Op Msg_type Msg_text mysqltest.t2 check status OK * testing that checksum after recovery is as expected Checksum-check ok check table t1 extended; Table Op Msg_type Msg_text mysqltest.t1 check status OK * testing that checksum after recovery is as expected Checksum-check ok connection default; use mysqltest; drop database mysqltest_for_feeding_recovery; drop database mysqltest_for_comparison; drop database mysqltest;