mirror of
https://github.com/MariaDB/server.git
synced 2025-11-28 17:36:30 +03:00
Snappy compression method require that output buffer
used for compression is bigger than input buffer.
Similarly lzo require additional work memory buffer.
Increase the allocated buffer accordingly.
buf_tmp_buffer_t: removed unnecessary lzo_mem, crypt_buf_free and
comp_buf_free.
buf_pool_reserve_tmp_slot: use alligned_alloc and if snappy
available allocate size based on snappy_max_compressed_length and
if lzo is available increase buffer by LZO1X_1_15_MEM_COMPRESS.
fil_compress_page: Remove unneeded lzo mem (we use same buffer)
and if output buffer is not yet allocated allocate based similarly
as above.
Decompression does not require additional work area.
Modify test to use same test as other compression method tests.
100 lines
4.2 KiB
Plaintext
100 lines
4.2 KiB
Plaintext
call mtr.add_suppression("InnoDB: Compression failed for space [0-9]+ name test/innodb_page_compressed[0-9] len [0-9]+ err 2 write_size [0-9]+.");
|
|
set global innodb_compression_algorithm = snappy;
|
|
set global innodb_file_format = `Barracuda`;
|
|
set global innodb_file_per_table = on;
|
|
create table innodb_normal (c1 int not null auto_increment primary key, b char(200)) engine=innodb;
|
|
create table innodb_page_compressed1 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=1;
|
|
create table innodb_page_compressed2 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=2;
|
|
create table innodb_page_compressed3 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=3;
|
|
create table innodb_page_compressed4 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=4;
|
|
create table innodb_page_compressed5 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=5;
|
|
create table innodb_page_compressed6 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=6;
|
|
create table innodb_page_compressed7 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=7;
|
|
create table innodb_page_compressed8 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=8;
|
|
create table innodb_page_compressed9 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=9;
|
|
select count(*) from innodb_page_compressed1;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed3;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed4;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed5;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed6;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed6;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed7;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed8;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed9;
|
|
count(*)
|
|
10000
|
|
# innodb_normal expected FOUND
|
|
FOUND /AaAaAaAa/ in innodb_normal.ibd
|
|
# innodb_page_compressed1 page compressed expected NOT FOUND
|
|
NOT FOUND /AaAaAaAa/ in innodb_page_compressed1.ibd
|
|
# innodb_page_compressed2 page compressed expected NOT FOUND
|
|
NOT FOUND /AaAaAaAa/ in innodb_page_compressed2.ibd
|
|
# innodb_page_compressed3 page compressed expected NOT FOUND
|
|
NOT FOUND /AaAaAaAa/ in innodb_page_compressed3.ibd
|
|
# innodb_page_compressed4 page compressed expected NOT FOUND
|
|
NOT FOUND /AaAaAaAa/ in innodb_page_compressed4.ibd
|
|
# innodb_page_compressed5 page compressed expected NOT FOUND
|
|
NOT FOUND /AaAaAaAa/ in innodb_page_compressed5.ibd
|
|
# innodb_page_compressed6 page compressed expected NOT FOUND
|
|
NOT FOUND /AaAaAaAa/ in innodb_page_compressed6.ibd
|
|
# innodb_page_compressed7 page compressed expected NOT FOUND
|
|
NOT FOUND /AaAaAaAa/ in innodb_page_compressed7.ibd
|
|
# innodb_page_compressed8 page compressed expected NOT FOUND
|
|
NOT FOUND /AaAaAaAa/ in innodb_page_compressed8.ibd
|
|
# innodb_page_compressed9 page compressed expected NOT FOUND
|
|
NOT FOUND /AaAaAaAa/ in innodb_page_compressed9.ibd
|
|
select count(*) from innodb_page_compressed1;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed3;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed4;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed5;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed6;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed6;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed7;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed8;
|
|
count(*)
|
|
10000
|
|
select count(*) from innodb_page_compressed9;
|
|
count(*)
|
|
10000
|
|
drop table innodb_normal;
|
|
drop table innodb_page_compressed1;
|
|
drop table innodb_page_compressed2;
|
|
drop table innodb_page_compressed3;
|
|
drop table innodb_page_compressed4;
|
|
drop table innodb_page_compressed5;
|
|
drop table innodb_page_compressed6;
|
|
drop table innodb_page_compressed7;
|
|
drop table innodb_page_compressed8;
|
|
drop table innodb_page_compressed9;
|
|
#done
|