summaryrefslogtreecommitdiff
path: root/mysql-test/suite/sys_vars/t/innodb_cmp_per_index_enabled_basic.test
blob: 432c04857ec4f4878098a0a3e7a6335e189d2bb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
-- source include/have_innodb.inc
# CREATE TABLE ... KEY_BLOCK_SIZE=8; does not work with page size = 4k
-- source include/have_innodb_16k.inc

# Check the default value
SELECT @@global.innodb_cmp_per_index_enabled;

# should be a boolean
-- error ER_WRONG_VALUE_FOR_VAR
SET GLOBAL innodb_stats_persistent=123;

-- error ER_WRONG_VALUE_FOR_VAR
SET GLOBAL innodb_stats_persistent='foo';

# Check that changing value works and that setting the same value again
# is as expected
SET GLOBAL innodb_cmp_per_index_enabled=ON;
SELECT @@global.innodb_cmp_per_index_enabled;

SET GLOBAL innodb_cmp_per_index_enabled=ON;
SELECT @@global.innodb_cmp_per_index_enabled;

SET GLOBAL innodb_cmp_per_index_enabled=OFF;
SELECT @@global.innodb_cmp_per_index_enabled;

SET GLOBAL innodb_cmp_per_index_enabled=OFF;
SELECT @@global.innodb_cmp_per_index_enabled;

-- vertical_results

# Check that enabling after being disabled resets the stats

SET GLOBAL innodb_cmp_per_index_enabled=ON;

CREATE TABLE t (a INT) ENGINE=INNODB KEY_BLOCK_SIZE=8;

INSERT INTO t VALUES (1);

SELECT * FROM information_schema.innodb_cmp_per_index;

SET GLOBAL innodb_cmp_per_index_enabled=OFF;
SET GLOBAL innodb_cmp_per_index_enabled=ON;

SELECT * FROM information_schema.innodb_cmp_per_index;

DROP TABLE t;

# Check that enabling after being enabled does not reset the stats

SET GLOBAL innodb_cmp_per_index_enabled=ON;

CREATE TABLE t (a INT) ENGINE=INNODB KEY_BLOCK_SIZE=8;

INSERT INTO t VALUES (1);

SELECT * FROM information_schema.innodb_cmp_per_index;

SET GLOBAL innodb_cmp_per_index_enabled=ON;

SELECT * FROM information_schema.innodb_cmp_per_index;

DROP TABLE t;

#

SET GLOBAL innodb_cmp_per_index_enabled=default;