Skip to content

Commit 90f1d8c

Browse files
author
Darshan M N
committed
Merge mysql-5.7 to mysql-trunk for Bug#21687636
2 parents 2654ad4 + 48e359e commit 90f1d8c

File tree

3 files changed

+48
-27
lines changed

3 files changed

+48
-27
lines changed

mysql-test/suite/innodb/r/table_compress.result

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,32 @@ t1 CREATE TABLE `t1` (
4747
`c1` int(11) NOT NULL,
4848
PRIMARY KEY (`c1`)
4949
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='ZLIB'
50-
SELECT NAME, COMPRESSION
50+
SELECT NAME
5151
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME LIKE '%t1';
52-
NAME COMPRESSION
53-
test/t1 Zlib
52+
NAME
53+
test/t1
54+
SHOW CREATE TABLE t1;
55+
Table Create Table
56+
t1 CREATE TABLE `t1` (
57+
`c1` int(11) NOT NULL,
58+
PRIMARY KEY (`c1`)
59+
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='ZLIB'
5460
SELECT * FROM t1;
5561
c1
5662
1
5763
2
5864
3
5965
4
66+
#
67+
# Bug#21687636 COMPRESSION COLUMN IN INNODB_SYS_TABLESPACES IS NOT CORRECT
68+
#
69+
# restart
70+
SHOW CREATE TABLE t1;
71+
Table Create Table
72+
t1 CREATE TABLE `t1` (
73+
`c1` int(11) NOT NULL,
74+
PRIMARY KEY (`c1`)
75+
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='ZLIB'
6076
ALTER TABLE t1 COMPRESSION = "BLAH";
6177
ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'COMPRESSION'
6278
SHOW WARNINGS;
@@ -80,11 +96,17 @@ t1 CREATE TABLE `t1` (
8096
`c1` int(11) NOT NULL,
8197
PRIMARY KEY (`c1`)
8298
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='NONE'
83-
SELECT NAME, COMPRESSION
99+
SELECT NAME
84100
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES
85101
WHERE NAME LIKE '%t1';
86-
NAME COMPRESSION
87-
test/t1 None
102+
NAME
103+
test/t1
104+
SHOW CREATE TABLE t1;
105+
Table Create Table
106+
t1 CREATE TABLE `t1` (
107+
`c1` int(11) NOT NULL,
108+
PRIMARY KEY (`c1`)
109+
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='NONE'
88110
SELECT * FROM t1;
89111
c1
90112
1
@@ -143,11 +165,16 @@ FROM INFORMATION_SCHEMA.TABLES
143165
WHERE TABLE_SCHEMA='test' AND TABLE_NAME = 't1';
144166
TABLE_NAME CREATE_OPTIONS
145167
t1 COMPRESSION="abcdefg"
146-
SELECT NAME, COMPRESSION
168+
SELECT NAME
147169
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES
148170
WHERE NAME LIKE '%t1';
149-
NAME COMPRESSION
150-
test/t1 None
171+
NAME
172+
test/t1
173+
SHOW CREATE TABLE t1;
174+
Table Create Table
175+
t1 CREATE TABLE `t1` (
176+
`C1` int(11) DEFAULT NULL
177+
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMPRESSION='abcdefghijklmnopqrstuvwxyz'
151178
DROP TABLE t1;
152179
CREATE TABLE t1(c1 INT) KEY_BLOCK_SIZE=1 COMPRESSION='NONE';
153180
DROP TABLE t1;

mysql-test/suite/innodb/t/table_compress.test

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,17 @@ ALTER TABLE t1 COMPRESSION = "ZLIB";
5757
OPTIMIZE TABLE t1;
5858
SHOW CREATE TABLE t1;
5959

60-
SELECT NAME, COMPRESSION
60+
SELECT NAME
6161
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE NAME LIKE '%t1';
62+
SHOW CREATE TABLE t1;
6263
SELECT * FROM t1;
6364

65+
--echo #
66+
--echo # Bug#21687636 COMPRESSION COLUMN IN INNODB_SYS_TABLESPACES IS NOT CORRECT
67+
--echo #
68+
-- source include/restart_mysqld.inc
69+
SHOW CREATE TABLE t1;
70+
6471
--error ER_ILLEGAL_HA_CREATE_OPTION
6572
ALTER TABLE t1 COMPRESSION = "BLAH";
6673
SHOW WARNINGS;
@@ -71,9 +78,10 @@ ALTER TABLE t1 COMPRESSION = "NONE";
7178
# Force all pages to the new compression mode
7279
OPTIMIZE TABLE t1;
7380
SHOW CREATE TABLE t1;
74-
SELECT NAME, COMPRESSION
81+
SELECT NAME
7582
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES
7683
WHERE NAME LIKE '%t1';
84+
SHOW CREATE TABLE t1;
7785
SELECT * FROM t1;
7886

7987

@@ -127,9 +135,10 @@ SELECT TABLE_NAME, CREATE_OPTIONS
127135
FROM INFORMATION_SCHEMA.TABLES
128136
WHERE TABLE_SCHEMA='test' AND TABLE_NAME = 't1';
129137

130-
SELECT NAME, COMPRESSION
138+
SELECT NAME
131139
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES
132140
WHERE NAME LIKE '%t1';
141+
SHOW CREATE TABLE t1;
133142

134143
DROP TABLE t1;
135144

storage/innobase/handler/i_s.cc

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8300,15 +8300,6 @@ static ST_FIELD_INFO innodb_sys_tablespaces_fields_info[] =
83008300
STRUCT_FLD(old_name, ""),
83018301
STRUCT_FLD(open_method, SKIP_OPEN_TABLE)},
83028302

8303-
#define SYS_TABLESPACES_COMPRESSION 10
8304-
{STRUCT_FLD(field_name, "COMPRESSION"),
8305-
STRUCT_FLD(field_length, MAX_COMPRESSION_LEN + 1),
8306-
STRUCT_FLD(field_type, MYSQL_TYPE_STRING),
8307-
STRUCT_FLD(value, 0),
8308-
STRUCT_FLD(field_flags, 0),
8309-
STRUCT_FLD(old_name, ""),
8310-
STRUCT_FLD(open_method, SKIP_OPEN_TABLE)},
8311-
83128303
END_OF_ST_FIELD_INFO
83138304

83148305
};
@@ -8420,12 +8411,6 @@ i_s_dict_fill_sys_tablespaces(
84208411

84218412
OK(fields[SYS_TABLESPACES_ALLOC_SIZE]->store(file.m_alloc_size, true));
84228413

8423-
Compression::Type type = fil_get_compression(space);
8424-
8425-
OK(field_store_string(
8426-
fields[SYS_TABLESPACES_COMPRESSION],
8427-
Compression::to_string(type)));
8428-
84298414
OK(schema_table_store_record(thd, table_to_fill));
84308415

84318416
DBUG_RETURN(0);

0 commit comments

Comments
 (0)