1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
let $engine=`select regexp_replace('$MTR_COMBINATIONS', '-.*', '')`;
let $alg=`select regexp_replace('$MTR_COMBINATIONS', '.*-', '')`;
if (`select count(*) = 0 from information_schema.plugins where plugin_name = '$engine' and plugin_status='active'`)
{
skip Needs $engine engine;
}
if (`select count(*) = 0 from information_schema.plugins where plugin_name = 'provider_$alg' and plugin_status='active'`)
{
skip Needs provider_$alg plugin;
}
--echo #
--echo # Testing $alg compression provider with $engine
--echo #
call mtr.add_suppression("MariaDB tried to use the .+ compression, but its provider plugin is not loaded");
if ($engine == "innodb") {
eval set global innodb_compression_algorithm = $alg;
let $table_params = page_compressed = 1;
call mtr.add_suppression("Background Page read failed to read, uncompress, or decrypt");
call mtr.add_suppression("Table is compressed or encrypted but uncompress or decrypt failed");
call mtr.add_suppression("Table `test`.`t1` is corrupted. Please drop the table and recreate");
call mtr.add_suppression("InnoDB: File '.*test/t1\\.ibd' is corrupted");
call mtr.add_suppression("Table .*t1.* is compressed with (\\w+), which is not currently loaded. Please load the \\1 provider plugin to open the table");
}
if ($engine == "mroonga") {
let $column_params = `select upper('COMMENT \'flags "COLUMN_SCALAR|COMPRESS_$alg"\'')`;
let $table_params = charset = utf8;
}
eval create table t1 (a int, b text $column_params) engine = $engine $table_params;
insert t1 (a, b) values (0, repeat("abc", 100));
insert t1 (a, b) values (1, repeat("def", 1000));
insert t1 (a, b) values (2, repeat("ghi", 10000));
select a, left(b, 9), length(b) from t1;
let $restart_parameters = --disable-provider-$alg;
source include/restart_mysqld.inc;
if ($engine == "innodb") {
error ER_TABLE_CORRUPT;
select a, left(b, 9), length(b) from t1;
show warnings;
}
if ($engine == "mroonga"){
select a, left(b, 9), length(b) from t1;
select a, left(b, 9), length(b) from t1; # a warning once per statement
}
drop table t1;
let $restart_parameters =;
source include/restart_mysqld.inc;
|