Commit 5b237e59 authored by Marko Mäkelä's avatar Marko Mäkelä

Merge 10.2 into 10.3

parents 0a92ef45 73c391af
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
.\" administration: server .\" administration: server
.\" server administration .\" server administration
.SH "NAME" .SH "NAME"
mysqladmin \- client for administering a MariaB server mysqladmin \- client for administering a MariaDB server
.SH "SYNOPSIS" .SH "SYNOPSIS"
.HP \w'\fBmysqladmin\ [\fR\fB\fIoptions\fR\fR\fB]\ \fR\fB\fIcommand\fR\fR\fB\ [\fR\fB\fIcommand\-arg\fR\fR\fB]\ [\fR\fB\fIcommand\fR\fR\fB\ [\fR\fB\fIcommand\-arg\fR\fR\fB]]\ \&.\&.\&.\fR\ 'u .HP \w'\fBmysqladmin\ [\fR\fB\fIoptions\fR\fR\fB]\ \fR\fB\fIcommand\fR\fR\fB\ [\fR\fB\fIcommand\-arg\fR\fR\fB]\ [\fR\fB\fIcommand\fR\fR\fB\ [\fR\fB\fIcommand\-arg\fR\fR\fB]]\ \&.\&.\&.\fR\ 'u
\fBmysqladmin [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-arg\fR\fR\fB] [\fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-arg\fR\fR\fB]] \&.\&.\&.\fR \fBmysqladmin [\fR\fB\fIoptions\fR\fR\fB] \fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-arg\fR\fR\fB] [\fR\fB\fIcommand\fR\fR\fB [\fR\fB\fIcommand\-arg\fR\fR\fB]] \&.\&.\&.\fR
......
...@@ -32,3 +32,4 @@ drop table t1; ...@@ -32,3 +32,4 @@ drop table t1;
-- last_gtid -- last_gtid
-- 0-1-1002 -- 0-1-1002
reset master;
...@@ -17,3 +17,4 @@ select @@last_gtid; ...@@ -17,3 +17,4 @@ select @@last_gtid;
drop table t1; drop table t1;
--disable_session_track_info --disable_session_track_info
reset master;
...@@ -658,9 +658,9 @@ START TRANSACTION WITH CONSISTENT SNAPSHOT; ...@@ -658,9 +658,9 @@ START TRANSACTION WITH CONSISTENT SNAPSHOT;
connection default; connection default;
DELETE IGNORE FROM t1 WHERE b = 1; DELETE IGNORE FROM t1 WHERE b = 1;
Warnings: Warnings:
Warning 152 InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 20. Please drop extra constraints and try again Warning 152 InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 15. Please drop extra constraints and try again
Warning 1296 Got error 193 '`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`b`) ON DELETE CASCADE' from InnoDB Warning 1296 Got error 193 '`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`b`) ON DELETE CASCADE' from InnoDB
Warning 152 InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 20. Please drop extra constraints and try again Warning 152 InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 15. Please drop extra constraints and try again
Warning 1296 Got error 193 '`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`b`) ON DELETE CASCADE' from InnoDB Warning 1296 Got error 193 '`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`b`) ON DELETE CASCADE' from InnoDB
SELECT a FROM t1 FORCE INDEX(a); SELECT a FROM t1 FORCE INDEX(a);
a a
...@@ -811,4 +811,23 @@ ERROR HY000: Can't create table `test`.`t1` (errno: 150 "Foreign key constraint ...@@ -811,4 +811,23 @@ ERROR HY000: Can't create table `test`.`t1` (errno: 150 "Foreign key constraint
Parsing foreign keys 3... Parsing foreign keys 3...
ERROR HY000: Can't create table `test`.`t1` (errno: 150 "Foreign key constraint is incorrectly formed") ERROR HY000: Can't create table `test`.`t1` (errno: 150 "Foreign key constraint is incorrectly formed")
Parsing foreign keys 4... Parsing foreign keys 4...
#
# MDEV-27583 InnoDB uses different constants for FK cascade
# error message in SQL vs error log
#
CREATE TABLE t1
(a INT, b INT, KEY(b),
CONSTRAINT FOREIGN KEY (a) REFERENCES t1 (b) ON DELETE CASCADE)
ENGINE=InnoDB;
INSERT INTO t1 (a,b) VALUES
(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,1),(1,0);
DELETE FROM t1 WHERE b = 1;
ERROR HY000: Got error 193 '`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`b`) ON DELETE CASCADE' from InnoDB
SHOW WARNINGS;
Level Code Message
Warning 152 InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 15. Please drop extra constraints and try again
Error 1296 Got error 193 '`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`b`) ON DELETE CASCADE' from InnoDB
DROP TABLE t1;
FOUND 1 /InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 15.*/ in mysqld.1.err
# End of 10.2 tests # End of 10.2 tests
...@@ -5,11 +5,14 @@ WHERE LOWER(variable_name) = 'innodb_page_size'; ...@@ -5,11 +5,14 @@ WHERE LOWER(variable_name) = 'innodb_page_size';
variable_value variable_value
16384 16384
# Test 4) The maximum row size is dependent upon the page size. # Test 4) The maximum row size is dependent upon the page size.
# Redundant: 8123, Compact: 8126. # Redundant: 8123, Compact: 8126, Dynamic: 8126.
# Compressed: 8126, Dynamic: 8126.
# Each row format has its own amount of overhead that # Each row format has its own amount of overhead that
# varies depending on number of fields and other overhead. # varies depending on number of fields and other overhead.
SET SESSION innodb_strict_mode = ON; SET SESSION innodb_strict_mode = ON;
SET @save_frequency=@@GLOBAL.innodb_purge_rseg_truncate_frequency;
SET @save_level=@@GLOBAL.innodb_compression_level;
SET GLOBAL innodb_purge_rseg_truncate_frequency=1;
SET GLOBAL innodb_compression_level=1;
CREATE TABLE t1 ( CREATE TABLE t1 (
c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200), c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200), c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
...@@ -18,7 +21,7 @@ c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200), ...@@ -18,7 +21,7 @@ c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200), c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200), c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200), c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(157) c36 char(200), c37 char(200), c38 char(196)
) ROW_FORMAT=compressed; ) ROW_FORMAT=compressed;
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 ( CREATE TABLE t1 (
...@@ -495,10 +498,13 @@ drop table t1; ...@@ -495,10 +498,13 @@ drop table t1;
CREATE TABLE t1(c text, PRIMARY KEY (c(440))) CREATE TABLE t1(c text, PRIMARY KEY (c(440)))
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII; ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline. ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
CREATE TABLE t1(c text, PRIMARY KEY (c(438))) CREATE TABLE t1(c text, PRIMARY KEY (c(292)))
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII; ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512)); INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
DROP TABLE t1; DROP TABLE t1;
InnoDB 0 transactions not purged
SET GLOBAL innodb_purge_rseg_truncate_frequency = @save_frequency;
SET GLOBAL innodb_compression_level=@save_level;
DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge; DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
DROP TABLE tlong; DROP TABLE tlong;
DROP TABLE tlong2; DROP TABLE tlong2;
...@@ -822,6 +822,29 @@ eval create table t1($fk_ref int primary key, $fk_field int, $constrs) engine in ...@@ -822,6 +822,29 @@ eval create table t1($fk_ref int primary key, $fk_field int, $constrs) engine in
drop table t1; drop table t1;
--enable_query_log --enable_query_log
--echo #
--echo # MDEV-27583 InnoDB uses different constants for FK cascade
--echo # error message in SQL vs error log
--echo #
CREATE TABLE t1
(a INT, b INT, KEY(b),
CONSTRAINT FOREIGN KEY (a) REFERENCES t1 (b) ON DELETE CASCADE)
ENGINE=InnoDB;
INSERT INTO t1 (a,b) VALUES
(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),
(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,1),(1,0);
--error ER_GET_ERRMSG
DELETE FROM t1 WHERE b = 1;
SHOW WARNINGS;
DROP TABLE t1;
let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
let SEARCH_PATTERN= InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 15.*;
-- source include/search_pattern_in_file.inc
--echo # End of 10.2 tests --echo # End of 10.2 tests
--source include/wait_until_count_sessions.inc --source include/wait_until_count_sessions.inc
...@@ -12,15 +12,17 @@ SELECT variable_value FROM information_schema.global_status ...@@ -12,15 +12,17 @@ SELECT variable_value FROM information_schema.global_status
WHERE LOWER(variable_name) = 'innodb_page_size'; WHERE LOWER(variable_name) = 'innodb_page_size';
--echo # Test 4) The maximum row size is dependent upon the page size. --echo # Test 4) The maximum row size is dependent upon the page size.
--echo # Redundant: 8123, Compact: 8126. --echo # Redundant: 8123, Compact: 8126, Dynamic: 8126.
--echo # Compressed: 8126, Dynamic: 8126.
--echo # Each row format has its own amount of overhead that --echo # Each row format has its own amount of overhead that
--echo # varies depending on number of fields and other overhead. --echo # varies depending on number of fields and other overhead.
SET SESSION innodb_strict_mode = ON; SET SESSION innodb_strict_mode = ON;
SET @save_frequency=@@GLOBAL.innodb_purge_rseg_truncate_frequency;
SET @save_level=@@GLOBAL.innodb_compression_level;
SET GLOBAL innodb_purge_rseg_truncate_frequency=1;
SET GLOBAL innodb_compression_level=1;
# Compressed table: compressBound() for the s390x DFLTCC instruction
# Compressed table; 7959 bytes with 40 CHAR fields
CREATE TABLE t1 ( CREATE TABLE t1 (
c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200), c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200), c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
...@@ -29,7 +31,7 @@ c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200), ...@@ -29,7 +31,7 @@ c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200), c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200), c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200), c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(157) c36 char(200), c37 char(200), c38 char(196)
) ROW_FORMAT=compressed; ) ROW_FORMAT=compressed;
DROP TABLE t1; DROP TABLE t1;
...@@ -445,17 +447,17 @@ drop table t1; ...@@ -445,17 +447,17 @@ drop table t1;
CREATE TABLE t1(c text, PRIMARY KEY (c(440))) CREATE TABLE t1(c text, PRIMARY KEY (c(440)))
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII; ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
CREATE TABLE t1(c text, PRIMARY KEY (c(438))) CREATE TABLE t1(c text, PRIMARY KEY (c(292)))
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII; ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512)); INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
DROP TABLE t1; DROP TABLE t1;
# The tests that uses these tables required the purge thread to run. --source include/wait_all_purged.inc
# Just in case it has not by now, provide a 10 second wait.
--sleep 10 SET GLOBAL innodb_purge_rseg_truncate_frequency = @save_frequency;
SET GLOBAL innodb_compression_level=@save_level;
DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge; DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
DROP TABLE tlong; DROP TABLE tlong;
......
...@@ -333,6 +333,7 @@ CREATE TABLE t1(a TEXT, FTS_DOC_ID BIGINT UNSIGNED NOT NULL UNIQUE) ENGINE=InnoD ...@@ -333,6 +333,7 @@ CREATE TABLE t1(a TEXT, FTS_DOC_ID BIGINT UNSIGNED NOT NULL UNIQUE) ENGINE=InnoD
let $fts_aux_file= `select concat('FTS_',right(concat(repeat('0',16), lower(hex(TABLE_ID))),16),'_BEING_DELETED.ibd') FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME='test/t1'`; let $fts_aux_file= `select concat('FTS_',right(concat(repeat('0',16), lower(hex(TABLE_ID))),16),'_BEING_DELETED.ibd') FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME='test/t1'`;
write_file $MYSQLD_DATADIR/test/$fts_aux_file; write_file $MYSQLD_DATADIR/test/$fts_aux_file;
EOF EOF
--replace_regex /".*" from/"Resource temporarily unavailable" from/
--error ER_GET_ERRNO --error ER_GET_ERRNO
ALTER TABLE t1 ADD FULLTEXT(a), ALGORITHM=INPLACE; ALTER TABLE t1 ADD FULLTEXT(a), ALGORITHM=INPLACE;
DROP TABLE t1; DROP TABLE t1;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
eval CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, eval CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=$block_size; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=$block_size;
......
--echo # Load the data --echo # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
while ($i) { while ($i) {
......
set @file_per_table=@@global.innodb_file_per_table;
SET GLOBAL innodb_file_per_table=on;
SET sql_mode = 'NO_ENGINE_SUBSTITUTION';
SET GLOBAL innodb_file_per_table=@file_per_table;
SET GLOBAL innodb_file_per_table=on;
SET sql_mode = 'NO_ENGINE_SUBSTITUTION';
CREATE TABLE bug52745 ( CREATE TABLE bug52745 (
a2 int(10) unsigned DEFAULT NULL, a2 int(10) unsigned DEFAULT NULL,
col37 time DEFAULT NULL, col37 time DEFAULT NULL,
...@@ -37,29 +35,8 @@ col68 tinyblob, ...@@ -37,29 +35,8 @@ col68 tinyblob,
col69 date DEFAULT NULL, col69 date DEFAULT NULL,
col70 tinyint(3) unsigned zerofill DEFAULT NULL, col70 tinyint(3) unsigned zerofill DEFAULT NULL,
col71 varchar(44) CHARACTER SET utf8 DEFAULT NULL, col71 varchar(44) CHARACTER SET utf8 DEFAULT NULL,
col72 datetime DEFAULT NULL, col72 datetime DEFAULT NULL
col73 smallint(5) unsigned zerofill DEFAULT NULL,
col74 longblob,
col75 bit(34) DEFAULT NULL,
col76 float unsigned zerofill DEFAULT NULL,
col77 year(4) DEFAULT NULL,
col78 tinyint(3) unsigned DEFAULT NULL,
col79 set('msfheowh','tbpxbgf','by','wahnrjw','myqfasxz','rsokyumrt') CHARACTER SET latin2 DEFAULT NULL,
col80 datetime DEFAULT NULL,
col81 smallint(6) DEFAULT NULL,
col82 enum('xtaurnqfqz','rifrse','kuzwpbvb','niisabk','zxavro','rbvasv','','uulrfaove','','') DEFAULT NULL,
col83 bigint(20) unsigned zerofill DEFAULT NULL,
col84 float unsigned zerofill DEFAULT NULL,
col85 double DEFAULT NULL,
col86 enum('ylannv','','vlkhycqc','snke','cxifustp','xiaxaswzp','oxl') CHARACTER SET latin1 COLLATE latin1_german2_ci DEFAULT NULL,
col87 varbinary(221) DEFAULT NULL,
col88 double unsigned DEFAULT NULL,
col89 float unsigned zerofill DEFAULT NULL,
col90 tinyblob
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
Warnings:
Note 1291 Column 'col82' has duplicated value '' in ENUM
Note 1291 Column 'col82' has duplicated value '' in ENUM
SET sql_mode = default; SET sql_mode = default;
INSERT IGNORE INTO bug52745 SET INSERT IGNORE INTO bug52745 SET
col40='0000-00-00 00:00:00', col40='0000-00-00 00:00:00',
...@@ -81,21 +58,7 @@ col66='19600719080256', ...@@ -81,21 +58,7 @@ col66='19600719080256',
col68=repeat('Sagittarius\'',54), col68=repeat('Sagittarius\'',54),
col69='38943902', col69='38943902',
col70=1232, col70=1232,
col71='Elora\'', col71='Elora\'';
col74=repeat('zipp',11),
col75='0',
col76=23254,
col78=13247,
col79='56219',
col80='20500609035724',
col81=11632,
col82=7,
col84=-23863,
col85=6341,
col87='HZdkf.4 s7t,5Rmq 8so fmr,ruGLUG25TrtI.yQ 2SuHq0ML7rw7.4 b2yf2E5TJxOtBBZImezDnzpj,uPYfznnEUDN1e9aQoO 2DsplB7TFWy oQJ br HLF :F,eQ p4i1oWsr lL3PG,hjCz6hYqN h1QTjLCjrv:QCdSzpYBibJAtZCxLOk3l6Blsh.W',
col88=16894,
col89=6161,
col90=repeat('gale',48);
Warnings: Warnings:
Warning 1265 Data truncated for column 'col53' at row 1 Warning 1265 Data truncated for column 'col53' at row 1
Warning 1264 Out of range value for column 'col54' at row 1 Warning 1264 Out of range value for column 'col54' at row 1
...@@ -107,9 +70,6 @@ Warning 1264 Out of range value for column 'col66' at row 1 ...@@ -107,9 +70,6 @@ Warning 1264 Out of range value for column 'col66' at row 1
Warning 1265 Data truncated for column 'col68' at row 1 Warning 1265 Data truncated for column 'col68' at row 1
Warning 1265 Data truncated for column 'col69' at row 1 Warning 1265 Data truncated for column 'col69' at row 1
Warning 1264 Out of range value for column 'col70' at row 1 Warning 1264 Out of range value for column 'col70' at row 1
Warning 1264 Out of range value for column 'col78' at row 1
Warning 1265 Data truncated for column 'col79' at row 1
Warning 1264 Out of range value for column 'col84' at row 1
SHOW WARNINGS; SHOW WARNINGS;
Level Code Message Level Code Message
Warning 1265 Data truncated for column 'col53' at row 1 Warning 1265 Data truncated for column 'col53' at row 1
...@@ -122,8 +82,4 @@ Warning 1264 Out of range value for column 'col66' at row 1 ...@@ -122,8 +82,4 @@ Warning 1264 Out of range value for column 'col66' at row 1
Warning 1265 Data truncated for column 'col68' at row 1 Warning 1265 Data truncated for column 'col68' at row 1
Warning 1265 Data truncated for column 'col69' at row 1 Warning 1265 Data truncated for column 'col69' at row 1
Warning 1264 Out of range value for column 'col70' at row 1 Warning 1264 Out of range value for column 'col70' at row 1
Warning 1264 Out of range value for column 'col78' at row 1
Warning 1265 Data truncated for column 'col79' at row 1
Warning 1264 Out of range value for column 'col84' at row 1
DROP TABLE bug52745; DROP TABLE bug52745;
SET GLOBAL innodb_file_per_table=1;
...@@ -105,7 +105,7 @@ ERROR 42000: Row size too large. The maximum row size for the used table type, n ...@@ -105,7 +105,7 @@ ERROR 42000: Row size too large. The maximum row size for the used table type, n
show warnings; show warnings;
Level Code Message Level Code Message
Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
create index idx4 on worklog5743_1(a2(434)); create index idx4 on worklog5743_1(a2(290));
show warnings; show warnings;
Level Code Message Level Code Message
create index idx5 on worklog5743_1(a1, a2(430)); create index idx5 on worklog5743_1(a1, a2(430));
...@@ -113,7 +113,7 @@ ERROR 42000: Row size too large. The maximum row size for the used table type, n ...@@ -113,7 +113,7 @@ ERROR 42000: Row size too large. The maximum row size for the used table type, n
show warnings; show warnings;
Level Code Message Level Code Message
Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
create index idx6 on worklog5743_1(a1, a2(428)); create index idx6 on worklog5743_1(a1, a2(283));
show warnings; show warnings;
Level Code Message Level Code Message
create index idx2 on worklog5743_2(a2(4000)); create index idx2 on worklog5743_2(a2(4000));
...@@ -127,7 +127,7 @@ ERROR 42000: Row size too large. The maximum row size for the used table type, n ...@@ -127,7 +127,7 @@ ERROR 42000: Row size too large. The maximum row size for the used table type, n
show warnings; show warnings;
Level Code Message Level Code Message
Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
create index idx4 on worklog5743_2(a2(946)); create index idx4 on worklog5743_2(a2(802));
show warnings; show warnings;
Level Code Message Level Code Message
create index idx5 on worklog5743_2(a1, a2(942)); create index idx5 on worklog5743_2(a1, a2(942));
...@@ -135,7 +135,7 @@ ERROR 42000: Row size too large. The maximum row size for the used table type, n ...@@ -135,7 +135,7 @@ ERROR 42000: Row size too large. The maximum row size for the used table type, n
show warnings; show warnings;
Level Code Message Level Code Message
Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
create index idx6 on worklog5743_2(a1, a2(940)); create index idx6 on worklog5743_2(a1, a2(795));
show warnings; show warnings;
Level Code Message Level Code Message
create index idx2 on worklog5743_4(a2(4000)); create index idx2 on worklog5743_4(a2(4000));
...@@ -149,7 +149,7 @@ ERROR 42000: Row size too large. The maximum row size for the used table type, n ...@@ -149,7 +149,7 @@ ERROR 42000: Row size too large. The maximum row size for the used table type, n
show warnings; show warnings;
Level Code Message Level Code Message
Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
create index idx4 on worklog5743_4(a2(1970)); create index idx4 on worklog5743_4(a2(1826));
show warnings; show warnings;
Level Code Message Level Code Message
create index idx5 on worklog5743_4(a1, a2(1966)); create index idx5 on worklog5743_4(a1, a2(1966));
...@@ -157,7 +157,7 @@ ERROR 42000: Row size too large. The maximum row size for the used table type, n ...@@ -157,7 +157,7 @@ ERROR 42000: Row size too large. The maximum row size for the used table type, n
show warnings; show warnings;
Level Code Message Level Code Message
Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
create index idx6 on worklog5743_4(a1, a2(1964)); create index idx6 on worklog5743_4(a1, a2(1819));
show warnings; show warnings;
Level Code Message Level Code Message
create index idx2 on worklog5743_8(a2(3073)); create index idx2 on worklog5743_8(a2(3073));
......
--- page_size.result
+++ page_size,4k.result
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
SELECT variable_value FROM information_schema.global_status SELECT variable_value FROM information_schema.global_status
WHERE LOWER(variable_name) = 'innodb_page_size'; WHERE LOWER(variable_name) = 'innodb_page_size';
...@@ -85,8 +83,8 @@ ...@@ -85,8 +83,8 @@
-c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200), -c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
-c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200), -c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
-c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200), -c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
-c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(157) -c36 char(200), c37 char(200), c38 char(196)
+c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(76) +c06 char(200), c07 char(200), c08 char(176)
) ROW_FORMAT=compressed; ) ROW_FORMAT=compressed;
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 ( CREATE TABLE t1 (
...@@ -465,5 +463,5 @@ ...@@ -465,5 +463,5 @@
-Warning 139 Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline. -Warning 139 Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+Warning 139 Row size too large (> 1982). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline. +Warning 139 Row size too large (> 1982). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1(c text, PRIMARY KEY (c(438))) CREATE TABLE t1(c text, PRIMARY KEY (c(293)))
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII; ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
--- page_size.result
+++ page_size,8k.result
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
SELECT variable_value FROM information_schema.global_status SELECT variable_value FROM information_schema.global_status
WHERE LOWER(variable_name) = 'innodb_page_size'; WHERE LOWER(variable_name) = 'innodb_page_size';
...@@ -83,8 +81,8 @@ ...@@ -83,8 +81,8 @@
-c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200), -c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
-c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200), -c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
-c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200), -c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
-c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(157) -c36 char(200), c37 char(200), c38 char(196)
+c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(103) +c16 char(200), c17 char(200), c18 char(182)
) ROW_FORMAT=compressed; ) ROW_FORMAT=compressed;
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 ( CREATE TABLE t1 (
...@@ -411,5 +409,5 @@ ...@@ -411,5 +409,5 @@
-Warning 139 Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline. -Warning 139 Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
+Warning 139 Row size too large (> 4030). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline. +Warning 139 Row size too large (> 4030). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1(c text, PRIMARY KEY (c(438))) CREATE TABLE t1(c text, PRIMARY KEY (c(293)))
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII; ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
...@@ -101,7 +101,7 @@ c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200), ...@@ -101,7 +101,7 @@ c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200), c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200), c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200), c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(157) c36 char(200), c37 char(200), c38 char(196)
) ROW_FORMAT=compressed; ) ROW_FORMAT=compressed;
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 ( CREATE TABLE t1 (
...@@ -591,7 +591,7 @@ ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII; ...@@ -591,7 +591,7 @@ ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
Warnings: Warnings:
Warning 139 Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline. Warning 139 Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1(c text, PRIMARY KEY (c(438))) CREATE TABLE t1(c text, PRIMARY KEY (c(293)))
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII; ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512)); INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
DROP TABLE t1; DROP TABLE t1;
...@@ -324,7 +324,7 @@ col_1_binary = REPEAT("c", 255) ...@@ -324,7 +324,7 @@ col_1_binary = REPEAT("c", 255)
DROP TABLE worklog5743; DROP TABLE worklog5743;
CREATE TABLE worklog5743_key2 ( CREATE TABLE worklog5743_key2 (
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) , col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
PRIMARY KEY (col_1_varchar(948)) PRIMARY KEY (col_1_varchar(801))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
INSERT INTO worklog5743_key2 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000)); INSERT INTO worklog5743_key2 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
...@@ -348,7 +348,7 @@ col_1_varchar = REPEAT("c", 4000) ...@@ -348,7 +348,7 @@ col_1_varchar = REPEAT("c", 4000)
DROP TABLE worklog5743_key2; DROP TABLE worklog5743_key2;
CREATE TABLE worklog5743_key4 ( CREATE TABLE worklog5743_key4 (
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) , col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
PRIMARY KEY (col_1_varchar(1964)) PRIMARY KEY (col_1_varchar(1825))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
INSERT INTO worklog5743_key4 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000)); INSERT INTO worklog5743_key4 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
...@@ -397,7 +397,7 @@ col_1_varchar = REPEAT("c", 4000) ...@@ -397,7 +397,7 @@ col_1_varchar = REPEAT("c", 4000)
DROP TABLE worklog5743_key8; DROP TABLE worklog5743_key8;
CREATE TABLE worklog5743_key2 ( CREATE TABLE worklog5743_key2 (
col_1_text TEXT (4000) , col_2_text TEXT (4000) , col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
PRIMARY KEY (col_1_text(948)) PRIMARY KEY (col_1_text(801))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
INSERT INTO worklog5743_key2 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000)); INSERT INTO worklog5743_key2 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
...@@ -421,7 +421,7 @@ col_1_text = REPEAT("c", 4000) ...@@ -421,7 +421,7 @@ col_1_text = REPEAT("c", 4000)
DROP TABLE worklog5743_key2; DROP TABLE worklog5743_key2;
CREATE TABLE worklog5743_key4 ( CREATE TABLE worklog5743_key4 (
col_1_text TEXT (4000) , col_2_text TEXT (4000) , col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
PRIMARY KEY (col_1_text(1964)) PRIMARY KEY (col_1_text(1825))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
INSERT INTO worklog5743_key4 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000)); INSERT INTO worklog5743_key4 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
...@@ -469,7 +469,7 @@ col_1_text = REPEAT("c", 4000) ...@@ -469,7 +469,7 @@ col_1_text = REPEAT("c", 4000)
DROP TABLE worklog5743_key8; DROP TABLE worklog5743_key8;
CREATE TABLE worklog5743_key2 ( CREATE TABLE worklog5743_key2 (
col_1_blob BLOB (4000) , col_2_blob BLOB (4000) , col_1_blob BLOB (4000) , col_2_blob BLOB (4000) ,
PRIMARY KEY (col_1_blob(948)) PRIMARY KEY (col_1_blob(801))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
INSERT INTO worklog5743_key2 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000)); INSERT INTO worklog5743_key2 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
...@@ -493,7 +493,7 @@ col_1_blob = REPEAT("c", 4000) ...@@ -493,7 +493,7 @@ col_1_blob = REPEAT("c", 4000)
DROP TABLE worklog5743_key2; DROP TABLE worklog5743_key2;
CREATE TABLE worklog5743_key4 ( CREATE TABLE worklog5743_key4 (
col_1_blob BLOB (4000) , col_2_blob BLOB (4000) , col_1_blob BLOB (4000) , col_2_blob BLOB (4000) ,
PRIMARY KEY (col_1_blob(1964)) PRIMARY KEY (col_1_blob(1825))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
INSERT INTO worklog5743_key4 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000)); INSERT INTO worklog5743_key4 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
...@@ -1305,7 +1305,7 @@ col_1_text = REPEAT("c", 4000) ...@@ -1305,7 +1305,7 @@ col_1_text = REPEAT("c", 4000)
DROP TABLE worklog5743; DROP TABLE worklog5743;
CREATE TABLE worklog5743 ( CREATE TABLE worklog5743 (
col_1_text TEXT (4000) , col_2_text TEXT (4000) , col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
PRIMARY KEY (col_1_text(948)) PRIMARY KEY (col_1_text(801))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000)); INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
......
...@@ -3,7 +3,7 @@ SET @save_innodb_compression_level = @@global.innodb_compression_level; ...@@ -3,7 +3,7 @@ SET @save_innodb_compression_level = @@global.innodb_compression_level;
SET global innodb_compression_level=0; SET global innodb_compression_level=0;
#create table with 1K block size #create table with 1K block size
CREATE TABLE tab5 (col_1 CHAR (255) , CREATE TABLE tab5 (col_1 CHAR (255) ,
col_2 VARCHAR (255), col_3 longtext, col_2 VARCHAR (121), col_3 longtext,
col_4 longtext,col_5 longtext, col_4 longtext,col_5 longtext,
col_6 longtext , col_7 longtext , col_6 longtext , col_7 longtext ,
col_8 longtext ,col_9 longtext , col_8 longtext ,col_9 longtext ,
...@@ -54,7 +54,7 @@ COMMIT; ...@@ -54,7 +54,7 @@ COMMIT;
SET global innodb_compression_level=9; SET global innodb_compression_level=9;
#create table with 1K block size #create table with 1K block size
CREATE TABLE tab6 (col_1 CHAR (255) , CREATE TABLE tab6 (col_1 CHAR (255) ,
col_2 VARCHAR (255), col_3 longtext, col_2 VARCHAR (121), col_3 longtext,
col_4 longtext,col_5 longtext, col_4 longtext,col_5 longtext,
col_6 longtext , col_7 longtext , col_6 longtext , col_7 longtext ,
col_8 longtext ,col_9 longtext , col_8 longtext ,col_9 longtext ,
......
...@@ -19,7 +19,7 @@ SET GLOBAL innodb_compression_level=0; ...@@ -19,7 +19,7 @@ SET GLOBAL innodb_compression_level=0;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -47,15 +47,15 @@ The size of the tab5.ibd file: 65536 ...@@ -47,15 +47,15 @@ The size of the tab5.ibd file: 65536
# for deterministic reasons simple data should be inserted. # for deterministic reasons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -278,9 +278,6 @@ Fetch Records ...@@ -278,9 +278,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -303,9 +300,6 @@ Fetch Records ...@@ -303,9 +300,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -333,9 +327,6 @@ Fetch Records ...@@ -333,9 +327,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table # check the stats of the table
# testcase : pass = 1 fail = 0 # testcase : pass = 1 fail = 0
SET @comp_val=0; SET @comp_val=0;
...@@ -364,7 +355,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=1; ...@@ -364,7 +355,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=1;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -392,15 +383,15 @@ The size of the tab5.ibd file: 65536 ...@@ -392,15 +383,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -623,9 +614,6 @@ Fetch Records ...@@ -623,9 +614,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -648,9 +636,6 @@ Fetch Records ...@@ -648,9 +636,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -678,9 +663,6 @@ Fetch Records ...@@ -678,9 +663,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table # check the stats of the table
# testcase : pass = 1 fail = 0 # testcase : pass = 1 fail = 0
SET @comp_val=0; SET @comp_val=0;
...@@ -709,7 +691,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=1; ...@@ -709,7 +691,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=1;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -737,15 +719,15 @@ The size of the tab5.ibd file: 65536 ...@@ -737,15 +719,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -960,7 +942,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -960,7 +942,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 131072
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -968,9 +950,6 @@ Fetch Records ...@@ -968,9 +950,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -984,7 +963,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -984,7 +963,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 131072
# fetch the compressed same page once again and check the stats # fetch the compressed same page once again and check the stats
# the stat figures should be same as above query # the stat figures should be same as above query
=============== ===============
...@@ -993,9 +972,6 @@ Fetch Records ...@@ -993,9 +972,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -1009,7 +985,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -1009,7 +985,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 131072
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 1-8K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=0 with page size 8K # Test 1-8K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=0 with page size 8K
...@@ -1022,7 +998,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=1; ...@@ -1022,7 +998,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=1;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -1050,15 +1026,15 @@ The size of the tab5.ibd file: 122880 ...@@ -1050,15 +1026,15 @@ The size of the tab5.ibd file: 122880
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -1273,7 +1249,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -1273,7 +1249,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 212992 The size of the tab5.ibd file: 180224
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -1281,9 +1257,6 @@ Fetch Records ...@@ -1281,9 +1257,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -1297,7 +1270,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -1297,7 +1270,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 212992 The size of the tab5.ibd file: 180224
# fetch the compressed same page once again and check the stats # fetch the compressed same page once again and check the stats
# the stat figures should be same as above query # the stat figures should be same as above query
=============== ===============
...@@ -1306,9 +1279,6 @@ Fetch Records ...@@ -1306,9 +1279,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -1322,7 +1292,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -1322,7 +1292,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 212992 The size of the tab5.ibd file: 180224
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 1-16K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=0 with page size 16K # Test 1-16K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=0 with page size 16K
...@@ -1335,7 +1305,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=1; ...@@ -1335,7 +1305,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=1;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -1363,15 +1333,15 @@ The size of the tab5.ibd file: 245760 ...@@ -1363,15 +1333,15 @@ The size of the tab5.ibd file: 245760
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -1586,7 +1556,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -1586,7 +1556,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -1594,9 +1564,6 @@ Fetch Records ...@@ -1594,9 +1564,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -1610,7 +1577,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -1610,7 +1577,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
# fetch the compressed same page once again and check the stats # fetch the compressed same page once again and check the stats
# the stat figures should be same as above query # the stat figures should be same as above query
=============== ===============
...@@ -1619,9 +1586,6 @@ Fetch Records ...@@ -1619,9 +1586,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -1635,7 +1599,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -1635,7 +1599,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 2: test the interaction between wl6347 & wl6344 (2.2) # Test 2: test the interaction between wl6347 & wl6344 (2.2)
...@@ -1659,7 +1623,7 @@ SET GLOBAL innodb_compression_level=9; ...@@ -1659,7 +1623,7 @@ SET GLOBAL innodb_compression_level=9;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -1688,15 +1652,15 @@ The size of the tab5.ibd file: 65536 ...@@ -1688,15 +1652,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -1920,9 +1884,6 @@ Fetch Records ...@@ -1920,9 +1884,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -1945,9 +1906,6 @@ Fetch Records ...@@ -1945,9 +1906,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -1975,9 +1933,6 @@ Fetch Records ...@@ -1975,9 +1933,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table # check the stats of the table
# testcase : pass = 1 fail = 0 # testcase : pass = 1 fail = 0
SET @comp_val=0; SET @comp_val=0;
...@@ -2006,7 +1961,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON; ...@@ -2006,7 +1961,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -2035,15 +1990,15 @@ The size of the tab5.ibd file: 65536 ...@@ -2035,15 +1990,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -2267,9 +2222,6 @@ Fetch Records ...@@ -2267,9 +2222,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -2292,9 +2244,6 @@ Fetch Records ...@@ -2292,9 +2244,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -2322,9 +2271,6 @@ Fetch Records ...@@ -2322,9 +2271,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table # check the stats of the table
# testcase : pass = 1 fail = 0 # testcase : pass = 1 fail = 0
SET @comp_val=0; SET @comp_val=0;
...@@ -2353,7 +2299,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON; ...@@ -2353,7 +2299,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -2382,15 +2328,15 @@ The size of the tab5.ibd file: 65536 ...@@ -2382,15 +2328,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -2606,7 +2552,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -2606,7 +2552,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 81920 The size of the tab5.ibd file: 77824
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -2614,9 +2560,6 @@ Fetch Records ...@@ -2614,9 +2560,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -2630,7 +2573,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -2630,7 +2573,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 81920 The size of the tab5.ibd file: 77824
# fetch the compressed same page once again and check the stats # fetch the compressed same page once again and check the stats
# the stat figures should be same as above query # the stat figures should be same as above query
=============== ===============
...@@ -2639,9 +2582,6 @@ Fetch Records ...@@ -2639,9 +2582,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -2655,7 +2595,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -2655,7 +2595,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 81920 The size of the tab5.ibd file: 77824
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 2-8K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=9 with page size 8K # Test 2-8K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=9 with page size 8K
...@@ -2668,7 +2608,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON; ...@@ -2668,7 +2608,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -2697,15 +2637,15 @@ The size of the tab5.ibd file: 122880 ...@@ -2697,15 +2637,15 @@ The size of the tab5.ibd file: 122880
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -2920,7 +2860,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -2920,7 +2860,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 155648
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -2928,9 +2868,6 @@ Fetch Records ...@@ -2928,9 +2868,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
# The size of the file with 0 compress = 212992 # The size of the file with 0 compress = 212992
SET @inl_val=1; SET @inl_val=1;
...@@ -2945,7 +2882,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -2945,7 +2882,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 155648
# fetch the compressed same page once again and check the stats # fetch the compressed same page once again and check the stats
# the stat figures should be same as above query # the stat figures should be same as above query
=============== ===============
...@@ -2954,9 +2891,6 @@ Fetch Records ...@@ -2954,9 +2891,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -2970,7 +2904,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -2970,7 +2904,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 155648
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 2-16K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=9 with page size 16K # Test 2-16K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=9 with page size 16K
...@@ -2983,7 +2917,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON; ...@@ -2983,7 +2917,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -3012,15 +2946,15 @@ The size of the tab5.ibd file: 245760 ...@@ -3012,15 +2946,15 @@ The size of the tab5.ibd file: 245760
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -3235,7 +3169,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -3235,7 +3169,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -3243,9 +3177,6 @@ Fetch Records ...@@ -3243,9 +3177,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
# The size of the file with 0 compress = 344064 # The size of the file with 0 compress = 344064
SET @inl_val=1; SET @inl_val=1;
...@@ -3260,7 +3191,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -3260,7 +3191,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
# fetch the compressed same page once again and check the stats # fetch the compressed same page once again and check the stats
# the stat figures should be same as above query # the stat figures should be same as above query
=============== ===============
...@@ -3269,9 +3200,6 @@ Fetch Records ...@@ -3269,9 +3200,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -3285,7 +3213,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -3285,7 +3213,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 3: test the interaction between wl6347 & wl6344 (2.3) # Test 3: test the interaction between wl6347 & wl6344 (2.3)
...@@ -3308,7 +3236,7 @@ SET GLOBAL innodb_compression_level=default; ...@@ -3308,7 +3236,7 @@ SET GLOBAL innodb_compression_level=default;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -3337,15 +3265,15 @@ The size of the tab5.ibd file: 65536 ...@@ -3337,15 +3265,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -3569,9 +3497,6 @@ Fetch Records ...@@ -3569,9 +3497,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -3594,9 +3519,6 @@ Fetch Records ...@@ -3594,9 +3519,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -3624,7 +3546,7 @@ SET GLOBAL innodb_compression_level=default; ...@@ -3624,7 +3546,7 @@ SET GLOBAL innodb_compression_level=default;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -3653,15 +3575,15 @@ The size of the tab5.ibd file: 65536 ...@@ -3653,15 +3575,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -3885,9 +3807,6 @@ Fetch Records ...@@ -3885,9 +3807,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -3915,7 +3834,7 @@ SET GLOBAL innodb_compression_level=default; ...@@ -3915,7 +3834,7 @@ SET GLOBAL innodb_compression_level=default;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -3944,15 +3863,15 @@ The size of the tab5.ibd file: 65536 ...@@ -3944,15 +3863,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -4168,7 +4087,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -4168,7 +4087,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 81920 The size of the tab5.ibd file: 77824
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -4176,9 +4095,6 @@ Fetch Records ...@@ -4176,9 +4095,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -4192,7 +4108,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -4192,7 +4108,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 81920 The size of the tab5.ibd file: 77824
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 3-8K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=Def with page size 8K # Test 3-8K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=Def with page size 8K
...@@ -4206,7 +4122,7 @@ SET GLOBAL innodb_compression_level=default; ...@@ -4206,7 +4122,7 @@ SET GLOBAL innodb_compression_level=default;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -4235,15 +4151,15 @@ The size of the tab5.ibd file: 122880 ...@@ -4235,15 +4151,15 @@ The size of the tab5.ibd file: 122880
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -4459,7 +4375,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -4459,7 +4375,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 155648
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -4467,9 +4383,6 @@ Fetch Records ...@@ -4467,9 +4383,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -4483,7 +4396,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -4483,7 +4396,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 155648
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 3-16K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=Def with page size 16K # Test 3-16K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=Def with page size 16K
...@@ -4497,7 +4410,7 @@ SET GLOBAL innodb_compression_level=default; ...@@ -4497,7 +4410,7 @@ SET GLOBAL innodb_compression_level=default;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -4526,15 +4439,15 @@ The size of the tab5.ibd file: 245760 ...@@ -4526,15 +4439,15 @@ The size of the tab5.ibd file: 245760
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -4750,7 +4663,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -4750,7 +4663,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -4758,9 +4671,6 @@ Fetch Records ...@@ -4758,9 +4671,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -4774,7 +4684,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -4774,7 +4684,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 4: test the interaction between wl6347 & wl6344 (2.5 & 2.6) # Test 4: test the interaction between wl6347 & wl6344 (2.5 & 2.6)
...@@ -4808,7 +4718,7 @@ SELECT @@innodb_compression_level; ...@@ -4808,7 +4718,7 @@ SELECT @@innodb_compression_level;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -4836,15 +4746,15 @@ The size of the tab5.ibd file: 65536 ...@@ -4836,15 +4746,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -5067,9 +4977,6 @@ Fetch Records ...@@ -5067,9 +4977,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -5092,9 +4999,6 @@ Fetch Records ...@@ -5092,9 +4999,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -5122,9 +5026,6 @@ Fetch Records ...@@ -5122,9 +5026,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table # check the stats of the table
# testcase : pass = 1 fail = 0 # testcase : pass = 1 fail = 0
SET @comp_val=0; SET @comp_val=0;
...@@ -5153,7 +5054,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON; ...@@ -5153,7 +5054,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -5181,15 +5082,15 @@ The size of the tab5.ibd file: 65536 ...@@ -5181,15 +5082,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -5412,9 +5313,6 @@ Fetch Records ...@@ -5412,9 +5313,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -5437,9 +5335,6 @@ Fetch Records ...@@ -5437,9 +5335,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -5466,7 +5361,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON; ...@@ -5466,7 +5361,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -5494,15 +5389,15 @@ The size of the tab5.ibd file: 65536 ...@@ -5494,15 +5389,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -5717,7 +5612,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -5717,7 +5612,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 81920 The size of the tab5.ibd file: 77824
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -5725,9 +5620,6 @@ Fetch Records ...@@ -5725,9 +5620,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -5741,7 +5633,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -5741,7 +5633,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 81920 The size of the tab5.ibd file: 77824
# fetch the compressed same page once again and check the stats # fetch the compressed same page once again and check the stats
# the stat figures should be same as above query # the stat figures should be same as above query
=============== ===============
...@@ -5750,9 +5642,6 @@ Fetch Records ...@@ -5750,9 +5642,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -5766,7 +5655,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -5766,7 +5655,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 81920 The size of the tab5.ibd file: 77824
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 4-8K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=0 with page size 8K # Test 4-8K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=0 with page size 8K
...@@ -5779,7 +5668,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON; ...@@ -5779,7 +5668,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -5807,15 +5696,15 @@ The size of the tab5.ibd file: 122880 ...@@ -5807,15 +5696,15 @@ The size of the tab5.ibd file: 122880
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -6030,7 +5919,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -6030,7 +5919,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 155648
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -6038,9 +5927,6 @@ Fetch Records ...@@ -6038,9 +5927,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -6054,7 +5940,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -6054,7 +5940,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 155648
# fetch the compressed same page once again and check the stats # fetch the compressed same page once again and check the stats
# the stat figures should be same as above query # the stat figures should be same as above query
=============== ===============
...@@ -6063,9 +5949,6 @@ Fetch Records ...@@ -6063,9 +5949,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -6079,7 +5962,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -6079,7 +5962,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 155648
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 4-16K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=0 with page size 16K # Test 4-16K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=0 with page size 16K
...@@ -6092,7 +5975,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON; ...@@ -6092,7 +5975,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -6120,15 +6003,15 @@ The size of the tab5.ibd file: 245760 ...@@ -6120,15 +6003,15 @@ The size of the tab5.ibd file: 245760
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -6343,7 +6226,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -6343,7 +6226,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -6351,9 +6234,6 @@ Fetch Records ...@@ -6351,9 +6234,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -6367,7 +6247,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -6367,7 +6247,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
# fetch the compressed same page once again and check the stats # fetch the compressed same page once again and check the stats
# the stat figures should be same as above query # the stat figures should be same as above query
=============== ===============
...@@ -6376,9 +6256,6 @@ Fetch Records ...@@ -6376,9 +6256,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -6392,7 +6269,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -6392,7 +6269,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 5: test the interaction between wl6347 & wl6344 (2.7) # Test 5: test the interaction between wl6347 & wl6344 (2.7)
...@@ -6428,7 +6305,7 @@ SELECT @@innodb_compression_level; ...@@ -6428,7 +6305,7 @@ SELECT @@innodb_compression_level;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -6456,15 +6333,15 @@ The size of the tab5.ibd file: 65536 ...@@ -6456,15 +6333,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -6687,9 +6564,6 @@ Fetch Records ...@@ -6687,9 +6564,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -6712,9 +6586,6 @@ Fetch Records ...@@ -6712,9 +6586,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -6743,9 +6614,6 @@ Fetch Records ...@@ -6743,9 +6614,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table # check the stats of the table
# testcase : pass = 1 fail = 0 # testcase : pass = 1 fail = 0
SET @comp_val=0; SET @comp_val=0;
...@@ -6775,7 +6643,7 @@ SET GLOBAL innodb_compression_failure_threshold_pct=10; ...@@ -6775,7 +6643,7 @@ SET GLOBAL innodb_compression_failure_threshold_pct=10;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -6803,15 +6671,15 @@ The size of the tab5.ibd file: 65536 ...@@ -6803,15 +6671,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -7034,9 +6902,6 @@ Fetch Records ...@@ -7034,9 +6902,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -7059,9 +6924,6 @@ Fetch Records ...@@ -7059,9 +6924,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=2; SET @inl_val=2;
# Check the stats of the table # Check the stats of the table
...@@ -7088,7 +6950,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON; ...@@ -7088,7 +6950,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -7116,15 +6978,15 @@ The size of the tab5.ibd file: 65536 ...@@ -7116,15 +6978,15 @@ The size of the tab5.ibd file: 65536
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -7339,7 +7201,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -7339,7 +7201,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 81920 The size of the tab5.ibd file: 77824
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -7347,9 +7209,6 @@ Fetch Records ...@@ -7347,9 +7209,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -7363,7 +7222,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -7363,7 +7222,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 81920 The size of the tab5.ibd file: 77824
# fetch the compressed same page once again and check the stats # fetch the compressed same page once again and check the stats
# the stat figures should be same as above query # the stat figures should be same as above query
=============== ===============
...@@ -7372,9 +7231,6 @@ Fetch Records ...@@ -7372,9 +7231,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -7388,7 +7244,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -7388,7 +7244,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 81920 The size of the tab5.ibd file: 77824
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 5-8K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=10 with page size 8K # Test 5-8K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=10 with page size 8K
...@@ -7402,7 +7258,7 @@ SET GLOBAL innodb_compression_failure_threshold_pct=10; ...@@ -7402,7 +7258,7 @@ SET GLOBAL innodb_compression_failure_threshold_pct=10;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -7430,15 +7286,15 @@ The size of the tab5.ibd file: 122880 ...@@ -7430,15 +7286,15 @@ The size of the tab5.ibd file: 122880
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -7653,7 +7509,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -7653,7 +7509,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 155648
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -7661,9 +7517,6 @@ Fetch Records ...@@ -7661,9 +7517,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -7677,7 +7530,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -7677,7 +7530,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 155648
# fetch the compressed same page once again and check the stats # fetch the compressed same page once again and check the stats
# the stat figures should be same as above query # the stat figures should be same as above query
=============== ===============
...@@ -7686,9 +7539,6 @@ Fetch Records ...@@ -7686,9 +7539,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -7702,7 +7552,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -7702,7 +7552,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 163840 The size of the tab5.ibd file: 155648
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 5-16K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=10 with page size 16K # Test 5-16K: innodb_cmp_per_index_enabled=ON and Innodb_compression_failure_threshold_pct=10 with page size 16K
...@@ -7715,7 +7565,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON; ...@@ -7715,7 +7565,7 @@ SET GLOBAL innodb_cmp_per_index_enabled=ON;
# Create table & Index # Create table & Index
CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB, CREATE TABLE tab5(col_1 TINYBLOB, col_2 TINYTEXT,col_3 BLOB,
col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT, col_4 TEXT,col_5 MEDIUMBLOB,col_6 MEDIUMTEXT,
col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(255)) col_7 LONGBLOB,col_8 LONGTEXT,col_9 VARCHAR(67))
ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16;
CREATE INDEX idx9 ON tab5(col_9(10)); CREATE INDEX idx9 ON tab5(col_9(10));
CREATE INDEX idx8 ON tab5(col_8(10)); CREATE INDEX idx8 ON tab5(col_8(10));
...@@ -7743,15 +7593,15 @@ The size of the tab5.ibd file: 245760 ...@@ -7743,15 +7593,15 @@ The size of the tab5.ibd file: 245760
# for determintic resons simple data should be inserted. # for determintic resons simple data should be inserted.
# insert some 100 records # insert some 100 records
# Load the data # Load the data
SET @col_1 = repeat('a', 100); SET @col_1 = repeat('a', 67);
SET @col_2 = repeat('b', 100); SET @col_2 = repeat('b', 67);
SET @col_3 = repeat('c', 100); SET @col_3 = repeat('c', 67);
SET @col_4 = repeat('d', 100); SET @col_4 = repeat('d', 67);
SET @col_5 = repeat('e', 100); SET @col_5 = repeat('e', 67);
SET @col_6 = repeat('f', 100); SET @col_6 = repeat('f', 67);
SET @col_7 = repeat('g', 100); SET @col_7 = repeat('g', 67);
SET @col_8 = repeat('h', 100); SET @col_8 = repeat('h', 67);
SET @col_9 = repeat('i', 100); SET @col_9 = repeat('i', 67);
INSERT INTO tab5 INSERT INTO tab5
VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9); VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,@col_7,@col_8,@col_9);
INSERT INTO tab5 INSERT INTO tab5
...@@ -7966,7 +7816,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -7966,7 +7816,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
# fetch the compressed page and check the stats # fetch the compressed page and check the stats
=============== ===============
Fetch Records Fetch Records
...@@ -7974,9 +7824,6 @@ Fetch Records ...@@ -7974,9 +7824,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -7990,7 +7837,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -7990,7 +7837,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
# fetch the compressed same page once again and check the stats # fetch the compressed same page once again and check the stats
# the stat figures should be same as above query # the stat figures should be same as above query
=============== ===============
...@@ -7999,9 +7846,6 @@ Fetch Records ...@@ -7999,9 +7846,6 @@ Fetch Records
SELECT col_7,col_8,col_9 FROM tab5 SELECT col_7,col_8,col_9 FROM tab5
WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' WHERE col_2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
LIMIT 1; LIMIT 1;
col_7 gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
col_8 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
col_9 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
# check the stats of the table & size of the table # check the stats of the table & size of the table
SET @inl_val=1; SET @inl_val=1;
# Check the stats of the table # Check the stats of the table
...@@ -8015,7 +7859,7 @@ AND compress_ops BETWEEN @inl_val AND 1000 ...@@ -8015,7 +7859,7 @@ AND compress_ops BETWEEN @inl_val AND 1000
AND table_name='tab5' AND database_name='test' AND table_name='tab5' AND database_name='test'
AND index_name like 'idx%' ; AND index_name like 'idx%' ;
compress_stat 1 compress_stat 1
The size of the tab5.ibd file: 327680 The size of the tab5.ibd file: 311296
DROP TABLE tab5; DROP TABLE tab5;
#****************************************************************** #******************************************************************
# Test 6: Create multiple tables & indexes having same name in 2 diff DB's # Test 6: Create multiple tables & indexes having same name in 2 diff DB's
......
--source include/innodb_page_size_small.inc
#
# Test case for bug 36172
#
set @file_per_table=@@global.innodb_file_per_table;
SET GLOBAL innodb_file_per_table=on;
SET sql_mode = 'NO_ENGINE_SUBSTITUTION';
# we do not really care about what gets printed, we are only
# interested in getting success or failure according to our
# expectations
-- disable_query_log
-- disable_result_log
CREATE TABLE `table0` ( `col0` tinyint(1) DEFAULT NULL, `col1` tinyint(1) DEFAULT NULL, `col2` tinyint(4) DEFAULT NULL, `col3` date DEFAULT NULL, `col4` time DEFAULT NULL, `col5` set('test1','test2','test3') DEFAULT NULL, `col6` time DEFAULT NULL, `col7` text, `col8` decimal(10,0) DEFAULT NULL, `col9` set('test1','test2','test3') DEFAULT NULL, `col10` float DEFAULT NULL, `col11` double DEFAULT NULL, `col12` enum('test1','test2','test3') DEFAULT NULL, `col13` tinyblob, `col14` year(4) DEFAULT NULL, `col15` set('test1','test2','test3') DEFAULT NULL, `col16` decimal(10,0) DEFAULT NULL, `col17` decimal(10,0) DEFAULT NULL, `col18` blob, `col19` datetime DEFAULT NULL, `col20` double DEFAULT NULL, `col21` decimal(10,0) DEFAULT NULL, `col22` datetime DEFAULT NULL, `col23` decimal(10,0) DEFAULT NULL, `col24` decimal(10,0) DEFAULT NULL, `col25` longtext, `col26` tinyblob, `col27` time DEFAULT NULL, `col28` tinyblob, `col29` enum('test1','test2','test3') DEFAULT NULL, `col30` smallint(6) DEFAULT NULL, `col31` double DEFAULT NULL, `col32` float DEFAULT NULL, `col33` char(175) DEFAULT NULL, `col34` tinytext, `col35` tinytext, `col36` tinyblob, `col37` tinyblob, `col38` tinytext, `col39` mediumblob, `col40` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `col41` double DEFAULT NULL, `col42` smallint(6) DEFAULT NULL, `col43` longblob, `col44` varchar(80) DEFAULT NULL, `col45` mediumtext, `col46` decimal(10,0) DEFAULT NULL, `col47` bigint(20) DEFAULT NULL, `col48` date DEFAULT NULL, `col49` tinyblob, `col50` date DEFAULT NULL, `col51` tinyint(1) DEFAULT NULL, `col52` mediumint(9) DEFAULT NULL, `col53` float DEFAULT NULL, `col54` tinyblob, `col55` longtext, `col56` smallint(6) DEFAULT NULL, `col57` enum('test1','test2','test3') DEFAULT NULL, `col58` datetime DEFAULT NULL, `col59` mediumtext, `col60` varchar(232) DEFAULT NULL, `col61` decimal(10,0) DEFAULT NULL, `col62` year(4) DEFAULT NULL, `col63` smallint(6) DEFAULT NULL, `col64` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `col65` blob, `col66` longblob, `col67` int(11) DEFAULT NULL, `col68` longtext, `col69` enum('test1','test2','test3') DEFAULT NULL, `col70` int(11) DEFAULT NULL, `col71` time DEFAULT NULL, `col72` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `col73` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `col74` varchar(170) DEFAULT NULL, `col75` set('test1','test2','test3') DEFAULT NULL, `col76` tinyblob, `col77` bigint(20) DEFAULT NULL, `col78` decimal(10,0) DEFAULT NULL, `col79` datetime DEFAULT NULL, `col80` year(4) DEFAULT NULL, `col81` decimal(10,0) DEFAULT NULL, `col82` longblob, `col83` text, `col84` char(83) DEFAULT NULL, `col85` decimal(10,0) DEFAULT NULL, `col86` float DEFAULT NULL, `col87` int(11) DEFAULT NULL, `col88` varchar(145) DEFAULT NULL, `col89` date DEFAULT NULL, `col90` decimal(10,0) DEFAULT NULL, `col91` decimal(10,0) DEFAULT NULL, `col92` mediumblob, `col93` time DEFAULT NULL, KEY `idx0` (`col69`,`col90`,`col8`), KEY `idx1` (`col60`), KEY `idx2` (`col60`,`col70`,`col74`), KEY `idx3` (`col22`,`col32`,`col72`,`col30`), KEY `idx4` (`col29`), KEY `idx5` (`col19`,`col45`(143)), KEY `idx6` (`col46`,`col48`,`col5`,`col39`(118)), KEY `idx7` (`col48`,`col61`), KEY `idx8` (`col93`), KEY `idx9` (`col31`), KEY `idx10` (`col30`,`col21`), KEY `idx11` (`col67`), KEY `idx12` (`col44`,`col6`,`col8`,`col38`(226)), KEY `idx13` (`col71`,`col41`,`col15`,`col49`(88)), KEY `idx14` (`col78`), KEY `idx15` (`col63`,`col67`,`col64`), KEY `idx16` (`col17`,`col86`), KEY `idx17` (`col77`,`col56`,`col10`,`col55`(24)), KEY `idx18` (`col62`), KEY `idx19` (`col31`,`col57`,`col56`,`col53`), KEY `idx20` (`col46`), KEY `idx21` (`col83`(54)), KEY `idx22` (`col51`,`col7`(120)), KEY `idx23` (`col7`(163),`col31`,`col71`,`col14`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
SET sql_mode = default;
insert ignore into `table0` set `col23` = 7887371.5084383683, `col24` = 4293854615.6906948000, `col25` = 'vitalist', `col26` = 'widespread', `col27` = '3570490', `col28` = 'habitual', `col30` = -5471, `col31` = 4286985783.6771750000, `col32` = 6354540.9826654866, `col33` = 'defoliation', `col34` = 'logarithms', `col35` = 'tegument\'s', `col36` = 'scouting\'s', `col37` = 'intermittency', `col38` = 'elongates', `col39` = 'prophecies', `col40` = '20560103035939', `col41` = 4292809130.0544143000, `col42` = 22057, `col43` = 'Hess\'s', `col44` = 'bandstand', `col45` = 'phenylketonuria', `col46` = 6338767.4018677324, `col47` = 5310247, `col48` = '12592418', `col49` = 'churchman\'s', `col50` = '32226125', `col51` = -58, `col52` = -6207968, `col53` = 1244839.3255104220, `col54` = 'robotized', `col55` = 'monotonous', `col56` = -26909, `col58` = '20720107023550', `col59` = 'suggestiveness\'s', `col60` = 'gemology', `col61` = 4287800670.2229986000, `col62` = '1944', `col63` = -16827, `col64` = '20700107212324', `col65` = 'Nicolais', `col66` = 'apteryx', `col67` = 6935317, `col68` = 'stroganoff', `col70` = 3316430, `col71` = '3277608', `col72` = '19300511045918', `col73` = '20421201003327', `col74` = 'attenuant', `col75` = '15173', `col76` = 'upstroke\'s', `col77` = 8118987, `col78` = 6791516.2735374002, `col79` = '20780701144624', `col80` = '2134', `col81` = 4290682351.3127537000, `col82` = 'unexplainably', `col83` = 'Storm', `col84` = 'Greyso\'s', `col85` = 4289119212.4306774000, `col86` = 7617575.8796655172, `col87` = -6325335, `col88` = 'fondue\'s', `col89` = '40608940', `col90` = 1659421.8093508712, `col91` = 8346904.6584368423, `col92` = 'reloads', `col93` = '5188366';
CHECK TABLE table0 EXTENDED;
INSERT IGNORE INTO `table0` SET `col19` = '19940127002709', `col20` = 2383927.9055146948, `col21` = 4293243420.5621204000, `col22` = '20511211123705', `col23` = 4289899778.6573381000, `col24` = 4293449279.0540481000, `col25` = 'emphysemic', `col26` = 'dentally', `col27` = '2347406', `col28` = 'eruct', `col30` = 1222, `col31` = 4294372994.9941406000, `col32` = 4291385574.1173744000, `col33` = 'borrowing\'s', `col34` = 'septics', `col35` = 'ratter\'s', `col36` = 'Kaye', `col37` = 'Florentia', `col38` = 'allium', `col39` = 'barkeep', `col40` = '19510407003441', `col41` = 4293559200.4215522000, `col42` = 22482, `col43` = 'decussate', `col44` = 'Brom\'s', `col45` = 'violated', `col46` = 4925506.4635456400, `col47` = 930549, `col48` = '51296066', `col49` = 'voluminously', `col50` = '29306676', `col51` = -88, `col52` = -2153690, `col53` = 4290250202.1464887000, `col54` = 'expropriation', `col55` = 'Aberdeen\'s', `col56` = 20343, `col58` = '19640415171532', `col59` = 'extern', `col60` = 'Ubana', `col61` = 4290487961.8539081000, `col62` = '2147', `col63` = -24271, `col64` = '20750801194548', `col65` = 'Cunaxa\'s', `col66` = 'pasticcio', `col67` = 2795817, `col68` = 'Indore\'s', `col70` = 6864127, `col71` = '1817832', `col72` = '20540506114211', `col73` = '20040101012300', `col74` = 'rationalized', `col75` = '45522', `col76` = 'indene', `col77` = -6964559, `col78` = 4247535.5266884370, `col79` = '20720416124357', `col80` = '2143', `col81` = 4292060102.4466386000, `col82` = 'striving', `col83` = 'boneblack\'s', `col84` = 'redolent', `col85` = 6489697.9009369183, `col86` = 4287473465.9731131000, `col87` = 7726015, `col88` = 'perplexed', `col89` = '17153791', `col90` = 5478587.1108127078, `col91` = 4287091404.7004304000, `col92` = 'Boulez\'s', `col93` = '2931278';
CHECK TABLE table0 EXTENDED;
DROP TABLE table0;
-- enable_query_log
-- enable_result_log
SET GLOBAL innodb_file_per_table=@file_per_table;
-- source include/innodb_page_size_small.inc -- source include/innodb_page_size_small.inc
let $file_per_table=`select @@innodb_file_per_table`;
SET GLOBAL innodb_file_per_table=on;
SET sql_mode = 'NO_ENGINE_SUBSTITUTION';
CREATE TABLE bug52745 ( CREATE TABLE bug52745 (
a2 int(10) unsigned DEFAULT NULL, a2 int(10) unsigned DEFAULT NULL,
col37 time DEFAULT NULL, col37 time DEFAULT NULL,
...@@ -40,25 +37,7 @@ CREATE TABLE bug52745 ( ...@@ -40,25 +37,7 @@ CREATE TABLE bug52745 (
col69 date DEFAULT NULL, col69 date DEFAULT NULL,
col70 tinyint(3) unsigned zerofill DEFAULT NULL, col70 tinyint(3) unsigned zerofill DEFAULT NULL,
col71 varchar(44) CHARACTER SET utf8 DEFAULT NULL, col71 varchar(44) CHARACTER SET utf8 DEFAULT NULL,
col72 datetime DEFAULT NULL, col72 datetime DEFAULT NULL
col73 smallint(5) unsigned zerofill DEFAULT NULL,
col74 longblob,
col75 bit(34) DEFAULT NULL,
col76 float unsigned zerofill DEFAULT NULL,
col77 year(4) DEFAULT NULL,
col78 tinyint(3) unsigned DEFAULT NULL,
col79 set('msfheowh','tbpxbgf','by','wahnrjw','myqfasxz','rsokyumrt') CHARACTER SET latin2 DEFAULT NULL,
col80 datetime DEFAULT NULL,
col81 smallint(6) DEFAULT NULL,
col82 enum('xtaurnqfqz','rifrse','kuzwpbvb','niisabk','zxavro','rbvasv','','uulrfaove','','') DEFAULT NULL,
col83 bigint(20) unsigned zerofill DEFAULT NULL,
col84 float unsigned zerofill DEFAULT NULL,
col85 double DEFAULT NULL,
col86 enum('ylannv','','vlkhycqc','snke','cxifustp','xiaxaswzp','oxl') CHARACTER SET latin1 COLLATE latin1_german2_ci DEFAULT NULL,
col87 varbinary(221) DEFAULT NULL,
col88 double unsigned DEFAULT NULL,
col89 float unsigned zerofill DEFAULT NULL,
col90 tinyblob
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
SET sql_mode = default; SET sql_mode = default;
INSERT IGNORE INTO bug52745 SET INSERT IGNORE INTO bug52745 SET
...@@ -81,24 +60,8 @@ col66='19600719080256', ...@@ -81,24 +60,8 @@ col66='19600719080256',
col68=repeat('Sagittarius\'',54), col68=repeat('Sagittarius\'',54),
col69='38943902', col69='38943902',
col70=1232, col70=1232,
col71='Elora\'', col71='Elora\'';
col74=repeat('zipp',11),
col75='0',
col76=23254,
col78=13247,
col79='56219',
col80='20500609035724',
col81=11632,
col82=7,
col84=-23863,
col85=6341,
col87='HZdkf.4 s7t,5Rmq 8so fmr,ruGLUG25TrtI.yQ 2SuHq0ML7rw7.4 b2yf2E5TJxOtBBZImezDnzpj,uPYfznnEUDN1e9aQoO 2DsplB7TFWy oQJ br HLF :F,eQ p4i1oWsr lL3PG,hjCz6hYqN h1QTjLCjrv:QCdSzpYBibJAtZCxLOk3l6Blsh.W',
col88=16894,
col89=6161,
col90=repeat('gale',48);
SHOW WARNINGS; SHOW WARNINGS;
DROP TABLE bug52745; DROP TABLE bug52745;
EVAL SET GLOBAL innodb_file_per_table=$file_per_table;
...@@ -143,14 +143,14 @@ show warnings; ...@@ -143,14 +143,14 @@ show warnings;
-- error ER_TOO_BIG_ROWSIZE -- error ER_TOO_BIG_ROWSIZE
create index idx3 on worklog5743_1(a2(436)); create index idx3 on worklog5743_1(a2(436));
show warnings; show warnings;
# Bug#13391353 Limit is one byte less on on 32bit-Linux only # MDEV-27634 stricter compressBound() limit for the s390x DFLTCC instruction
create index idx4 on worklog5743_1(a2(434)); create index idx4 on worklog5743_1(a2(290));
show warnings; show warnings;
-- error ER_TOO_BIG_ROWSIZE -- error ER_TOO_BIG_ROWSIZE
create index idx5 on worklog5743_1(a1, a2(430)); create index idx5 on worklog5743_1(a1, a2(430));
show warnings; show warnings;
# Bug#13391353 Limit is one byte less on on 32bit-Linux only # MDEV-27634 stricter compressBound() limit for the s390x DFLTCC instruction
create index idx6 on worklog5743_1(a1, a2(428)); create index idx6 on worklog5743_1(a1, a2(283));
show warnings; show warnings;
# Test edge cases for indexes using key_block_size=2 # Test edge cases for indexes using key_block_size=2
...@@ -160,14 +160,14 @@ show warnings; ...@@ -160,14 +160,14 @@ show warnings;
-- error ER_TOO_BIG_ROWSIZE -- error ER_TOO_BIG_ROWSIZE
create index idx3 on worklog5743_2(a2(948)); create index idx3 on worklog5743_2(a2(948));
show warnings; show warnings;
# Bug#13391353 Limit is one byte less on on 32bit-Linux only # MDEV-27634 stricter compressBound() limit for the s390x DFLTCC instruction
create index idx4 on worklog5743_2(a2(946)); create index idx4 on worklog5743_2(a2(802));
show warnings; show warnings;
-- error ER_TOO_BIG_ROWSIZE -- error ER_TOO_BIG_ROWSIZE
create index idx5 on worklog5743_2(a1, a2(942)); create index idx5 on worklog5743_2(a1, a2(942));
show warnings; show warnings;
# Bug#13391353 Limit is one byte less on on 32bit-Linux only # MDEV-27634 stricter compressBound() limit for the s390x DFLTCC instruction
create index idx6 on worklog5743_2(a1, a2(940)); create index idx6 on worklog5743_2(a1, a2(795));
show warnings; show warnings;
# Test edge cases for indexes using key_block_size=4 # Test edge cases for indexes using key_block_size=4
...@@ -177,14 +177,14 @@ show warnings; ...@@ -177,14 +177,14 @@ show warnings;
-- error ER_TOO_BIG_ROWSIZE -- error ER_TOO_BIG_ROWSIZE
create index idx3 on worklog5743_4(a2(1972)); create index idx3 on worklog5743_4(a2(1972));
show warnings; show warnings;
# Bug#13391353 Limit is one byte less on on 32bit-Linux only # MDEV-27634 stricter compressBound() limit for the s390x DFLTCC instruction
create index idx4 on worklog5743_4(a2(1970)); create index idx4 on worklog5743_4(a2(1826));
show warnings; show warnings;
-- error ER_TOO_BIG_ROWSIZE -- error ER_TOO_BIG_ROWSIZE
create index idx5 on worklog5743_4(a1, a2(1966)); create index idx5 on worklog5743_4(a1, a2(1966));
show warnings; show warnings;
# Bug#13391353 Limit is one byte less on on 32bit-Linux only # MDEV-27634 stricter compressBound() limit for the s390x DFLTCC instruction
create index idx6 on worklog5743_4(a1, a2(1964)); create index idx6 on worklog5743_4(a1, a2(1819));
show warnings; show warnings;
# Test edge cases for indexes using key_block_size=8 # Test edge cases for indexes using key_block_size=8
......
...@@ -85,11 +85,11 @@ c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200), ...@@ -85,11 +85,11 @@ c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(156) c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(156)
) ROW_FORMAT=compact; ) ROW_FORMAT=compact;
# Compressed table; 1878 bytes with 10 CHAR fields # Compressed table
# Bug#13391353 Limit is 1876 on 32-Linux only # MDEV-27634 stricter compressBound() limit for the s390x DFLTCC instruction
CREATE TABLE t1 ( CREATE TABLE t1 (
c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200), c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(76) c06 char(200), c07 char(200), c08 char(176)
) ROW_FORMAT=compressed; ) ROW_FORMAT=compressed;
DROP TABLE t1; DROP TABLE t1;
--replace_regex /> [0-9]*/> max_row_size/ --replace_regex /> [0-9]*/> max_row_size/
...@@ -185,13 +185,13 @@ c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200), ...@@ -185,13 +185,13 @@ c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(203) c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(203)
) ROW_FORMAT=compact; ) ROW_FORMAT=compact;
# Compressed table; 3905 bytes with 20 CHAR fields # Compressed table
# Bug#13391353 Limit is 3903 on 32-Linux only # MDEV-27634 stricter compressBound() limit for the s390x DFLTCC instruction
CREATE TABLE t1 ( CREATE TABLE t1 (
c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200), c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200), c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200), c11 char(200), c12 char(200), c13 char(200), c14 char(200), c15 char(200),
c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(103) c16 char(200), c17 char(200), c18 char(182)
) ROW_FORMAT=compressed; ) ROW_FORMAT=compressed;
DROP TABLE t1; DROP TABLE t1;
--replace_regex /> [0-9]*/> max_row_size/ --replace_regex /> [0-9]*/> max_row_size/
...@@ -307,8 +307,8 @@ c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200), ...@@ -307,8 +307,8 @@ c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
c36 char(200), c37 char(200), c38 char(200), c39 char(250), c40 char(247) c36 char(200), c37 char(200), c38 char(200), c39 char(250), c40 char(247)
) ROW_FORMAT=compact; ) ROW_FORMAT=compact;
# Compressed table; 7959 bytes with 40 CHAR fields # Compressed table
# Bug#13391353 Limit is 7957 on 32-Linux only # MDEV-27634 stricter compressBound() limit for the s390x DFLTCC instruction
CREATE TABLE t1 ( CREATE TABLE t1 (
c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200), c01 char(200), c02 char(200), c03 char(200), c04 char(200), c05 char(200),
c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200), c06 char(200), c07 char(200), c08 char(200), c09 char(200), c10 char(200),
...@@ -317,7 +317,7 @@ c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200), ...@@ -317,7 +317,7 @@ c16 char(200), c17 char(200), c18 char(200), c19 char(200), c20 char(200),
c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200), c21 char(200), c22 char(200), c23 char(200), c24 char(200), c25 char(200),
c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200), c26 char(200), c27 char(200), c28 char(200), c29 char(200), c30 char(200),
c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200), c31 char(200), c32 char(200), c33 char(200), c34 char(200), c35 char(200),
c36 char(200), c37 char(200), c38 char(200), c39 char(200), c40 char(157) c36 char(200), c37 char(200), c38 char(196)
) ROW_FORMAT=compressed; ) ROW_FORMAT=compressed;
DROP TABLE t1; DROP TABLE t1;
--error ER_TOO_BIG_ROWSIZE --error ER_TOO_BIG_ROWSIZE
...@@ -866,7 +866,9 @@ DROP TABLE t1; ...@@ -866,7 +866,9 @@ DROP TABLE t1;
CREATE TABLE t1(c text, PRIMARY KEY (c(440))) CREATE TABLE t1(c text, PRIMARY KEY (c(440)))
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII; ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1(c text, PRIMARY KEY (c(438))) --disable_warnings
CREATE TABLE t1(c text, PRIMARY KEY (c(293)))
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII; ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
--enable_warnings
INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512)); INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
DROP TABLE t1; DROP TABLE t1;
...@@ -292,10 +292,9 @@ DROP TABLE worklog5743; ...@@ -292,10 +292,9 @@ DROP TABLE worklog5743;
# Prefix index with VARCHAR data type , primary/seconday index , DML ops # Prefix index with VARCHAR data type , primary/seconday index , DML ops
# and COMPRESSED row format. KEY_BLOCK_SIZE is varied as 2 , 4 , 8. # and COMPRESSED row format. KEY_BLOCK_SIZE is varied as 2 , 4 , 8.
# With KEY_BLOCK_SIZE = 2,prefix index limit comes around ~948 for following
CREATE TABLE worklog5743_key2 ( CREATE TABLE worklog5743_key2 (
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) , col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
PRIMARY KEY (col_1_varchar(948)) PRIMARY KEY (col_1_varchar(801))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
#CREATE INDEX prefix_idx ON worklog5743_key2 (col_1_varchar (767)); #CREATE INDEX prefix_idx ON worklog5743_key2 (col_1_varchar (767));
...@@ -311,10 +310,9 @@ DELETE FROM worklog5743_key2 WHERE col_1_varchar = REPEAT("b", 4000); ...@@ -311,10 +310,9 @@ DELETE FROM worklog5743_key2 WHERE col_1_varchar = REPEAT("b", 4000);
SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743_key2; SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743_key2;
DROP TABLE worklog5743_key2; DROP TABLE worklog5743_key2;
# With KEY_BLOCK_SIZE = 4,prefix index limit comes around ~1964 for following
CREATE TABLE worklog5743_key4 ( CREATE TABLE worklog5743_key4 (
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) , col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
PRIMARY KEY (col_1_varchar(1964)) PRIMARY KEY (col_1_varchar(1825))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
#CREATE INDEX prefix_idx ON worklog5743_key4 (col_1_varchar (767)); #CREATE INDEX prefix_idx ON worklog5743_key4 (col_1_varchar (767));
...@@ -353,10 +351,9 @@ DROP TABLE worklog5743_key8; ...@@ -353,10 +351,9 @@ DROP TABLE worklog5743_key8;
# Prefix index with TEXT data type , primary/seconday index , DML ops # Prefix index with TEXT data type , primary/seconday index , DML ops
# and COMPRESSED row format. KEY_BLOCK_SIZE is varied as 2 , 4 , 8. # and COMPRESSED row format. KEY_BLOCK_SIZE is varied as 2 , 4 , 8.
# With KEY_BLOCK_SIZE = 2,prefix index limit comes around ~948 for following
CREATE TABLE worklog5743_key2 ( CREATE TABLE worklog5743_key2 (
col_1_text TEXT (4000) , col_2_text TEXT (4000) , col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
PRIMARY KEY (col_1_text(948)) PRIMARY KEY (col_1_text(801))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
#CREATE INDEX prefix_idx ON worklog5743_key2 (col_1_text (767)); #CREATE INDEX prefix_idx ON worklog5743_key2 (col_1_text (767));
...@@ -372,10 +369,9 @@ DELETE FROM worklog5743_key2 WHERE col_1_text = REPEAT("b", 4000); ...@@ -372,10 +369,9 @@ DELETE FROM worklog5743_key2 WHERE col_1_text = REPEAT("b", 4000);
SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743_key2; SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743_key2;
DROP TABLE worklog5743_key2; DROP TABLE worklog5743_key2;
# With KEY_BLOCK_SIZE = 4,prefix index limit comes around ~1964 for following
CREATE TABLE worklog5743_key4 ( CREATE TABLE worklog5743_key4 (
col_1_text TEXT (4000) , col_2_text TEXT (4000) , col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
PRIMARY KEY (col_1_text(1964)) PRIMARY KEY (col_1_text(1825))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
#CREATE INDEX prefix_idx ON worklog5743_key4 (col_1_text (767)); #CREATE INDEX prefix_idx ON worklog5743_key4 (col_1_text (767));
...@@ -413,10 +409,9 @@ DROP TABLE worklog5743_key8; ...@@ -413,10 +409,9 @@ DROP TABLE worklog5743_key8;
# Prefix index with BLOB data type , primary/seconday index , DML ops # Prefix index with BLOB data type , primary/seconday index , DML ops
# and COMPRESSED row format. KEY_BLOCK_SIZE is varied as 2 , 4 , 8. # and COMPRESSED row format. KEY_BLOCK_SIZE is varied as 2 , 4 , 8.
# With KEY_BLOCK_SIZE = 2,prefix index limit comes around ~948 for following
CREATE TABLE worklog5743_key2 ( CREATE TABLE worklog5743_key2 (
col_1_blob BLOB (4000) , col_2_blob BLOB (4000) , col_1_blob BLOB (4000) , col_2_blob BLOB (4000) ,
PRIMARY KEY (col_1_blob(948)) PRIMARY KEY (col_1_blob(801))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
#CREATE INDEX prefix_idx ON worklog5743_key2 (col_1_blob (767)); #CREATE INDEX prefix_idx ON worklog5743_key2 (col_1_blob (767));
...@@ -432,10 +427,9 @@ DELETE FROM worklog5743_key2 WHERE col_1_blob = REPEAT("b", 4000); ...@@ -432,10 +427,9 @@ DELETE FROM worklog5743_key2 WHERE col_1_blob = REPEAT("b", 4000);
SELECT col_1_blob = REPEAT("c", 4000) FROM worklog5743_key2; SELECT col_1_blob = REPEAT("c", 4000) FROM worklog5743_key2;
DROP TABLE worklog5743_key2; DROP TABLE worklog5743_key2;
# With KEY_BLOCK_SIZE = 4,prefix index limit comes around ~1964 for following
CREATE TABLE worklog5743_key4 ( CREATE TABLE worklog5743_key4 (
col_1_blob BLOB (4000) , col_2_blob BLOB (4000) , col_1_blob BLOB (4000) , col_2_blob BLOB (4000) ,
PRIMARY KEY (col_1_blob(1964)) PRIMARY KEY (col_1_blob(1825))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
#CREATE INDEX prefix_idx ON worklog5743_key4 (col_1_blob (767)); #CREATE INDEX prefix_idx ON worklog5743_key4 (col_1_blob (767));
...@@ -1195,7 +1189,7 @@ DROP TABLE worklog5743; ...@@ -1195,7 +1189,7 @@ DROP TABLE worklog5743;
# For compressed row type + primary key # For compressed row type + primary key
CREATE TABLE worklog5743 ( CREATE TABLE worklog5743 (
col_1_text TEXT (4000) , col_2_text TEXT (4000) , col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
PRIMARY KEY (col_1_text(948)) PRIMARY KEY (col_1_text(801))
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb; ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
# Create index of 767 # Create index of 767
......
...@@ -18,7 +18,7 @@ SET global innodb_compression_level=0; ...@@ -18,7 +18,7 @@ SET global innodb_compression_level=0;
-- echo #create table with 1K block size -- echo #create table with 1K block size
CREATE TABLE tab5 (col_1 CHAR (255) , CREATE TABLE tab5 (col_1 CHAR (255) ,
col_2 VARCHAR (255), col_3 longtext, col_2 VARCHAR (121), col_3 longtext,
col_4 longtext,col_5 longtext, col_4 longtext,col_5 longtext,
col_6 longtext , col_7 longtext , col_6 longtext , col_7 longtext ,
col_8 longtext ,col_9 longtext , col_8 longtext ,col_9 longtext ,
...@@ -62,7 +62,7 @@ SET global innodb_compression_level=9; ...@@ -62,7 +62,7 @@ SET global innodb_compression_level=9;
-- echo #create table with 1K block size -- echo #create table with 1K block size
CREATE TABLE tab6 (col_1 CHAR (255) , CREATE TABLE tab6 (col_1 CHAR (255) ,
col_2 VARCHAR (255), col_3 longtext, col_2 VARCHAR (121), col_3 longtext,
col_4 longtext,col_5 longtext, col_4 longtext,col_5 longtext,
col_6 longtext , col_7 longtext , col_6 longtext , col_7 longtext ,
col_8 longtext ,col_9 longtext , col_8 longtext ,col_9 longtext ,
......
...@@ -29,9 +29,10 @@ count(*)=1 ...@@ -29,9 +29,10 @@ count(*)=1
# not considered in Seconds_Behind_Master calculation # not considered in Seconds_Behind_Master calculation
connection slave1; connection slave1;
# Safely resume slave SQL thread # Safely resume slave SQL thread
SET @@global.debug_dbug=''; # Prove SQL thread is in state "debug sync point: now"
SET DEBUG_SYNC='pause_sql_thread_on_fde CLEAR'; SET @@global.debug_dbug="-d,pause_sql_thread_on_fde";
SET DEBUG_SYNC='now SIGNAL sql_thread_continue'; SET DEBUG_SYNC='now SIGNAL sql_thread_continue';
# Wait for SQL thread to continue into normal execution
SET DEBUG_SYNC='RESET'; SET DEBUG_SYNC='RESET';
connection master; connection master;
DROP TABLE t1; DROP TABLE t1;
......
...@@ -71,10 +71,24 @@ if(`select $sbm > $t_now - $t_master_events_logged + 1`) ...@@ -71,10 +71,24 @@ if(`select $sbm > $t_now - $t_master_events_logged + 1`)
} }
--echo # Safely resume slave SQL thread --echo # Safely resume slave SQL thread
SET @@global.debug_dbug='';
SET DEBUG_SYNC='pause_sql_thread_on_fde CLEAR'; --let $dbug_wait_state="debug sync point: now"
--echo # Prove SQL thread is in state $dbug_wait_state
--let $wait_condition= SELECT STATE=$dbug_wait_state from information_schema.PROCESSLIST where COMMAND="Slave_SQL"
--source include/wait_condition.inc
SET @@global.debug_dbug="-d,pause_sql_thread_on_fde";
SET DEBUG_SYNC='now SIGNAL sql_thread_continue'; SET DEBUG_SYNC='now SIGNAL sql_thread_continue';
# We have to wait for the SQL thread to acknowledge the sql_thread_continue
# signal. Otherwise the below RESET command can overwrite the signal before
# the SQL thread is notified to proceed, causing it to "permanently" become
# stuck awaiting the signal (until timeout is reached).
--echo # Wait for SQL thread to continue into normal execution
--let $wait_condition= SELECT STATE!= $dbug_wait_state from information_schema.PROCESSLIST where COMMAND="Slave_SQL"
--source include/wait_condition.inc
# Reset last sql_thread_continue signal # Reset last sql_thread_continue signal
SET DEBUG_SYNC='RESET'; SET DEBUG_SYNC='RESET';
......
...@@ -1911,7 +1911,7 @@ convert_error_code_to_mysql( ...@@ -1911,7 +1911,7 @@ convert_error_code_to_mysql(
"constraints that exceed max " "constraints that exceed max "
"depth of %d. Please " "depth of %d. Please "
"drop extra constraints and try " "drop extra constraints and try "
"again", DICT_FK_MAX_RECURSIVE_LOAD); "again", FK_MAX_CASCADE_DEL);
return(HA_ERR_FK_DEPTH_EXCEEDED); return(HA_ERR_FK_DEPTH_EXCEEDED);
case DB_CANT_CREATE_GEOMETRY_OBJECT: case DB_CANT_CREATE_GEOMETRY_OBJECT:
...@@ -12815,7 +12815,6 @@ bool create_table_info_t::row_size_is_acceptable( ...@@ -12815,7 +12815,6 @@ bool create_table_info_t::row_size_is_acceptable(
if (info.row_is_too_big()) if (info.row_is_too_big())
{ {
ut_ad(info.get_overrun_size() != 0); ut_ad(info.get_overrun_size() != 0);
ut_ad(info.max_leaf_size != 0);
const size_t idx= info.get_first_overrun_field_index(); const size_t idx= info.get_first_overrun_field_index();
const dict_field_t *field= dict_index_get_nth_field(&index, idx); const dict_field_t *field= dict_index_get_nth_field(&index, idx);
......
...@@ -21,6 +21,7 @@ require { ...@@ -21,6 +21,7 @@ require {
type shell_exec_t; type shell_exec_t;
type anon_inodefs_t; type anon_inodefs_t;
type fixed_disk_device_t; type fixed_disk_device_t;
type usermodehelper_t;
class lnk_file read; class lnk_file read;
class process { getattr signull }; class process { getattr signull };
class unix_stream_socket connectto; class unix_stream_socket connectto;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment