mirror of
https://github.com/MariaDB/server.git
synced 2025-01-15 19:42:28 +01:00
190 lines
5.5 KiB
Text
190 lines
5.5 KiB
Text
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;
|