mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
905003c535
mysql-test/mysql-test-run.pl: The maria suite made default for execution. mysql-test/suite/maria: Maria tests moved to separate suite. mysql-test/suite/maria/r: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-autozerofill.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-big.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-big2.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-connect.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-gis-rtree-dynamic.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-gis-rtree-trans.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-gis-rtree.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-mvcc.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-no-logging.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-page-checksum.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-preload.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-purge.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-recover.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-recovery-big.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-recovery-bitmap.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-recovery-rtree-ft.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-recovery.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-recovery2.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria2.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria3.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria_notembedded.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/ps_maria.result: Maria tests moved to separate suite. mysql-test/suite/maria/t: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-autozerofill.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-big.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-big2.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-connect.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-gis-rtree-dynamic.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-gis-rtree-trans.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-gis-rtree.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-mvcc.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-no-logging.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-page-checksum.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-preload.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-purge.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recover-master.opt: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recover.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-big-master.opt: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-big.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-bitmap-master.opt: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-bitmap.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-master.opt: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-rtree-ft-master.opt: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-rtree-ft.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery2-master.opt: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery2.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria2.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria3.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria_notembedded.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/ps_maria.test: Maria tests moved to separate suite.
145 lines
4.6 KiB
Text
145 lines
4.6 KiB
Text
set global maria_log_file_size=4294967295;
|
|
drop database if exists mysqltest;
|
|
create database mysqltest;
|
|
use mysqltest;
|
|
* TEST of removing logs manually
|
|
* shut down mysqld, removed logs, restarted it
|
|
* TEST of UNDO_ROW_DELETE preserving rowid
|
|
create table t1(a int) engine=maria;
|
|
insert into t1 values(1),(2);
|
|
flush table t1;
|
|
* copied t1 for comparison
|
|
lock tables t1 write;
|
|
insert into t1 values(3);
|
|
delete from t1 where a in (1,2,3);
|
|
SET SESSION debug="+d,maria_flush_whole_log,maria_crash";
|
|
* crashing mysqld intentionally
|
|
set global maria_checkpoint_interval=1;
|
|
ERROR HY000: Lost connection to MySQL 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
|
|
use mysqltest;
|
|
drop table t1;
|
|
* TEST of checkpoint
|
|
set global debug="+d,info,query,enter,exit,loop,maria_checkpoint_indirect";
|
|
set global maria_checkpoint_interval=10000;
|
|
create table t1(a int, b varchar(10), index(a,b)) engine=maria;
|
|
insert into t1 values(1,"a"),(2,"b"),(3,"c");
|
|
delete from t1 where b="b";
|
|
update t1 set b="d" where a=1;
|
|
flush table t1;
|
|
* copied t1 for comparison
|
|
lock tables t1 write;
|
|
insert into t1 values(4,"e"),(5,"f"),(6,"g");
|
|
update t1 set b="h" where a=5;
|
|
delete from t1 where b="g";
|
|
show status like "Maria_pagecache_blocks_not_flushed";
|
|
Variable_name Value
|
|
Maria_pagecache_blocks_not_flushed 3
|
|
set global maria_checkpoint_interval=10000;
|
|
update t1 set b="i" where a=5;
|
|
SET SESSION debug="+d,maria_crash";
|
|
* crashing mysqld intentionally
|
|
set global maria_checkpoint_interval=1;
|
|
ERROR HY000: Lost connection to MySQL 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
|
|
use mysqltest;
|
|
drop table t1;
|
|
Test of REPAIR's implicit commit
|
|
create table t1 (a varchar(100), key(a)) engine=maria;
|
|
insert into t1 values(3);
|
|
flush table t1;
|
|
* copied t1 for comparison
|
|
lock tables t1 write;
|
|
insert into t1 values (1);
|
|
repair table t1;
|
|
Table Op Msg_type Msg_text
|
|
mysqltest.t1 repair status OK
|
|
insert into t1 values(2);
|
|
select * from t1;
|
|
a
|
|
1
|
|
2
|
|
3
|
|
SET SESSION debug="+d,maria_flush_whole_log,maria_flush_whole_page_cache,maria_crash";
|
|
* crashing mysqld intentionally
|
|
set global maria_checkpoint_interval=1;
|
|
ERROR HY000: Lost connection to MySQL 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
|
|
failure
|
|
use mysqltest;
|
|
select * from t1;
|
|
a
|
|
1
|
|
3
|
|
drop table t1;
|
|
* TEST of recovery when crash before bulk-insert-with-repair is committed
|
|
create table t1 (a varchar(100), key(a)) engine=maria;
|
|
create table t2 (a varchar(100)) engine=myisam;
|
|
set rand_seed1=12, rand_seed2=254;
|
|
insert into t2 values (rand());
|
|
insert into t2 select (rand()) from t2;
|
|
insert into t2 select (rand()) from t2;
|
|
insert into t2 select (rand()) from t2;
|
|
insert into t2 select (rand()) from t2;
|
|
insert into t2 select (rand()) from t2;
|
|
insert into t2 select (rand()) from t2;
|
|
insert into t1 values(30);
|
|
flush table t1;
|
|
* copied t1 for comparison
|
|
lock tables t1 write, t2 read;
|
|
delete from t1 limit 1;
|
|
insert into t1 select * from t2;
|
|
SET SESSION debug="+d,maria_flush_whole_log,maria_flush_whole_page_cache,maria_crash";
|
|
* crashing mysqld intentionally
|
|
set global maria_checkpoint_interval=1;
|
|
ERROR HY000: Lost connection to MySQL 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
|
|
use mysqltest;
|
|
show keys from t1;
|
|
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
|
t1 1 a 1 a A 1 NULL NULL YES BTREE
|
|
drop table t1;
|
|
* TEST of recovery when OPTIMIZE has replaced the index file and crash
|
|
create table t_corrupted1 (a varchar(100), key(a)) engine=maria;
|
|
insert into t_corrupted1 select (rand()) from t2;
|
|
flush table t_corrupted1;
|
|
* copied t_corrupted1 for comparison
|
|
SET SESSION debug="+d,maria_flush_whole_log,maria_flush_whole_page_cache,maria_crash_sort_index";
|
|
* crashing mysqld intentionally
|
|
optimize table t_corrupted1;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
* recovery happens
|
|
check table t_corrupted1 extended;
|
|
Table Op Msg_type Msg_text
|
|
mysqltest.t_corrupted1 check warning Table is marked as crashed and last repair failed
|
|
mysqltest.t_corrupted1 check status OK
|
|
* testing that checksum after recovery is as expected
|
|
Checksum-check
|
|
ok
|
|
use mysqltest;
|
|
drop table t_corrupted1, t2;
|
|
drop database mysqltest_for_comparison;
|
|
drop database mysqltest;
|