mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 11:01:52 +01:00
f5eb37129f
fil_page_decompress(): Replaces fil_decompress_page(). Allow the caller detect errors. Remove duplicated code. Use the "safe" instead of "fast" variants of decompression routines. fil_page_compress(): Replaces fil_compress_page(). The length of the input buffer always was srv_page_size (innodb_page_size). Remove printouts, and remove the fil_space_t* parameter. buf_tmp_buffer_t::reserved: Make private; the accessors acquire() and release() will use atomic memory access. buf_pool_reserve_tmp_slot(): Make static. Remove the second parameter. Do not acquire any mutex. Remove the allocation of the buffers. buf_tmp_reserve_crypt_buf(), buf_tmp_reserve_compression_buf(): Refactored away from buf_pool_reserve_tmp_slot(). buf_page_decrypt_after_read(): Make static, and simplify the logic. Use the encryption buffer also for decompressing. buf_page_io_complete(), buf_dblwr_process(): Check more failures. fil_space_encrypt(): Simplify the debug checks. fil_space_t::printed_compression_failure: Remove. fil_get_compression_alg_name(): Remove. fil_iterate(): Allocate a buffer for compression and decompression only once, instead of allocating and freeing it for every page that uses compression, during IMPORT TABLESPACE. fil_node_get_space_id(), fil_page_is_index_page(), fil_page_is_lzo_compressed(): Remove (unused code).
97 lines
4 KiB
Text
97 lines
4 KiB
Text
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
|