diff options
Diffstat (limited to 'mysql-test/suite/maria/maria-recovery.result')
-rw-r--r-- | mysql-test/suite/maria/maria-recovery.result | 335 |
1 files changed, 335 insertions, 0 deletions
diff --git a/mysql-test/suite/maria/maria-recovery.result b/mysql-test/suite/maria/maria-recovery.result new file mode 100644 index 00000000..0893d3e3 --- /dev/null +++ b/mysql-test/suite/maria/maria-recovery.result @@ -0,0 +1,335 @@ +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 (a varchar(1000)) engine=aria; +* TEST of REDO: see if recovery can reconstruct if we give it an old table +connection admin; +* copied t1 for feeding_recovery +connection default; +insert into t1 values ("00000000"); +connection admin; +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 t1 back for feeding_recovery +* recovery happens +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 +* compared t1 to old version +connection default; +use mysqltest; +select * from t1; +a +00000000 +* TEST of REDO+UNDO: normal recovery test (no moving tables under its feet) +insert into t1 values ("00000000"); +connection admin; +flush table t1; +* copied t1 for comparison +connection default; +lock tables t1 write; +insert into t1 values ("aaaaaaaaa"); +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 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; +select * from t1; +a +00000000 +00000000 +insert into t1 values ("00000000"); +connection admin; +flush table t1; +* copied t1 for comparison +connection default; +lock tables t1 write; +insert into t1 values ("aaaaaaaaa"); +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 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; +select * from t1; +a +00000000 +00000000 +00000000 +insert into t1 values ("00000000"); +connection admin; +flush table t1; +* copied t1 for comparison +connection default; +lock tables t1 write; +insert into t1 values ("aaaaaaaaa"); +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 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; +select * from t1; +a +00000000 +00000000 +00000000 +00000000 +insert into t1 values ("00000000"); +connection admin; +flush table t1; +* copied t1 for comparison +connection default; +lock tables t1 write; +insert into t1 values ("aaaaaaaaa"); +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 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; +select * from t1; +a +00000000 +00000000 +00000000 +00000000 +00000000 +drop table t1; +* TEST of two REDOs for same page in one REDO group +connection default; +connection admin; +* shut down mysqld, removed logs, restarted it +connection default; +CREATE TABLE t1 ( +i int, +b blob default NULL, +c varchar(6000) default NULL +) ENGINE=ARIA CHECKSUM=1; +connection admin; +* copied t1 for feeding_recovery +connection default; +INSERT INTO t1 VALUES (1, REPEAT('a', 5000), REPEAT('b', 5000)); +UPDATE t1 SET i=3, b=CONCAT(b,'c') WHERE i=1; +SELECT LENGTH(b) FROM t1 WHERE i=3; +LENGTH(b) +5001 +connection admin; +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 t1 back for feeding_recovery +* recovery happens +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; +SELECT LENGTH(b) FROM t1 WHERE i=3; +LENGTH(b) +5001 +drop table t1; +* TEST of INSERT vs state.auto_increment +connection default; +connection admin; +* shut down mysqld, removed logs, restarted it +connection default; +CREATE TABLE t1 ( +i int auto_increment primary key, +c varchar(6), +key(c) +) ENGINE=ARIA; +insert into t1 values(null,"b"); +connection admin; +* copied t1 for feeding_recovery +connection default; +insert into t1 values(null,"a"), (null,"c"), (null,"d"); +delete from t1 where c="d"; +connection admin; +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 t1 back for feeding_recovery +* recovery happens +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; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `i` int(11) NOT NULL AUTO_INCREMENT, + `c` varchar(6) DEFAULT NULL, + PRIMARY KEY (`i`), + KEY `c` (`c`) +) ENGINE=Aria AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci PAGE_CHECKSUM=1 +* TEST of UPDATE vs state.auto_increment +connection admin; +* copied t1 for feeding_recovery +connection default; +update t1 set i=15 where c="a"; +connection admin; +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 t1 back for feeding_recovery +* recovery happens +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; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `i` int(11) NOT NULL AUTO_INCREMENT, + `c` varchar(6) DEFAULT NULL, + PRIMARY KEY (`i`), + KEY `c` (`c`) +) ENGINE=Aria AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci PAGE_CHECKSUM=1 +* TEST of INSERT's rollback vs state.auto_increment +connection admin; +flush table t1; +* copied t1 for comparison +connection default; +lock tables t1 write; +insert into t1 values(null, "e"); +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 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; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `i` int(11) NOT NULL AUTO_INCREMENT, + `c` varchar(6) DEFAULT NULL, + PRIMARY KEY (`i`), + KEY `c` (`c`) +) ENGINE=Aria AUTO_INCREMENT=17 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci PAGE_CHECKSUM=1 +insert into t1 values(null, "f"); +drop table t1; +Test that bulk insert works with recovery +CREATE TABLE t1 (i int, key(i)) TRANSACTIONAL=1 ENGINE=ARIA; +CREATE TABLE t2 (i int, key(i)) TRANSACTIONAL=1 ENGINE=ARIA; +connection admin; +* copied t2 for feeding_recovery +* copied t1 for feeding_recovery +connection default; +insert into t2 values +(0), (1), (2), (3), (4), (5), (6), (7), (8), (9), +(0), (1), (2), (3), (4), (5), (6), (7), (8), (9), +(0), (1), (2), (3), (4), (5), (6), (7), (8), (9), +(0), (1), (2), (3), (4), (5), (6), (7), (8), (9), +(0), (1), (3), (3), (4), (5), (6), (7), (8), (9), +(0), (1), (2), (3), (4), (5), (6), (7), (8), (9), +(0), (1), (2), (3), (4), (5), (6), (7), (8), (9), +(0), (1), (2), (3), (4), (5), (6), (7), (8), (9), +(0), (1), (2), (3), (4), (5), (6), (7), (8), (9), +(0), (1), (2), (3), (4), (5), (6), (7), (8), (9); +insert into t1 select * from t2; +insert into t2 select * from t2; +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 +connection default; +use mysqltest; +select count(*) from t1; +count(*) +100 +select count(*) from t2; +count(*) +200 +check table t2; +Table Op Msg_type Msg_text +mysqltest.t2 check status OK +drop table t1,t2; +drop database mysqltest_for_feeding_recovery; +drop database mysqltest_for_comparison; +drop database mysqltest; |