Skip to content

Commit e4a0d75

Browse files
committed
import a test case from percona-server-5.6.34-79.1
1 parent e99990c commit e4a0d75

File tree

3 files changed

+115
-0
lines changed

3 files changed

+115
-0
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# include file to test index and table statstics for specific storage engine
2+
# requires includer set the default strorage engine for the session
3+
4+
# Bug 602047 (wrong rows_read value)
5+
6+
FLUSH INDEX_STATISTICS;
7+
FLUSH TABLE_STATISTICS;
8+
9+
SET @userstat_old= @@userstat;
10+
SET GLOBAL userstat=ON;
11+
12+
CREATE TABLE t1 (id int(10), PRIMARY KEY (id));
13+
INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
14+
SELECT COUNT(*) FROM t1;
15+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t1';
16+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.INDEX_STATISTICS WHERE TABLE_NAME='t1';
17+
18+
# Test that FLUSH clears one table but not another
19+
20+
FLUSH TABLE_STATISTICS;
21+
22+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t1';
23+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.INDEX_STATISTICS WHERE TABLE_NAME='t1';
24+
25+
# Test that FLUSH clears both tables now
26+
27+
FLUSH INDEX_STATISTICS;
28+
29+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.INDEX_STATISTICS WHERE TABLE_NAME='t1';
30+
31+
# Test that stats are collected after the FLUSH again
32+
33+
SELECT COUNT(*) FROM t1;
34+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t1';
35+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.INDEX_STATISTICS WHERE TABLE_NAME='t1';
36+
37+
DROP TABLE t1;
38+
39+
# Bug 1183625 (handler::update_global_table_stats crash).
40+
41+
CREATE TABLE t2 (c1 INT UNSIGNED);
42+
43+
ALTER TABLE t2 MODIFY c1 FLOAT;
44+
45+
SELECT * FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t2';
46+
47+
DROP TABLE t2;
48+
49+
# Bug 1183625 (handler::update_global_table_stats crash).
50+
51+
CREATE TABLE t2 (c1 INT UNSIGNED) ENGINE=InnoDB;
52+
53+
ALTER TABLE t2 MODIFY c1 FLOAT;
54+
55+
SELECT * FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t2';
56+
57+
DROP TABLE t2;
58+
59+
SET GLOBAL userstat= @userstat_old;
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
SET @default_storage_engine_old = @@session.default_storage_engine;
2+
SET SESSION default_storage_engine = INNODB;
3+
FLUSH INDEX_STATISTICS;
4+
FLUSH TABLE_STATISTICS;
5+
SET @userstat_old= @@userstat;
6+
SET GLOBAL userstat=ON;
7+
CREATE TABLE t1 (id int(10), PRIMARY KEY (id));
8+
INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
9+
SELECT COUNT(*) FROM t1;
10+
COUNT(*)
11+
10
12+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t1';
13+
ROWS_READ
14+
10
15+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.INDEX_STATISTICS WHERE TABLE_NAME='t1';
16+
ROWS_READ
17+
10
18+
FLUSH TABLE_STATISTICS;
19+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t1';
20+
ROWS_READ
21+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.INDEX_STATISTICS WHERE TABLE_NAME='t1';
22+
ROWS_READ
23+
10
24+
FLUSH INDEX_STATISTICS;
25+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.INDEX_STATISTICS WHERE TABLE_NAME='t1';
26+
ROWS_READ
27+
SELECT COUNT(*) FROM t1;
28+
COUNT(*)
29+
10
30+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t1';
31+
ROWS_READ
32+
10
33+
SELECT ROWS_READ FROM INFORMATION_SCHEMA.INDEX_STATISTICS WHERE TABLE_NAME='t1';
34+
ROWS_READ
35+
10
36+
DROP TABLE t1;
37+
CREATE TABLE t2 (c1 INT UNSIGNED);
38+
ALTER TABLE t2 MODIFY c1 FLOAT;
39+
SELECT * FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t2';
40+
TABLE_SCHEMA TABLE_NAME ROWS_READ ROWS_CHANGED ROWS_CHANGED_X_INDEXES
41+
DROP TABLE t2;
42+
CREATE TABLE t2 (c1 INT UNSIGNED) ENGINE=InnoDB;
43+
ALTER TABLE t2 MODIFY c1 FLOAT;
44+
SELECT * FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='t2';
45+
TABLE_SCHEMA TABLE_NAME ROWS_READ ROWS_CHANGED ROWS_CHANGED_X_INDEXES
46+
DROP TABLE t2;
47+
SET GLOBAL userstat= @userstat_old;
48+
SET SESSION default_storage_engine = @default_storage_engine_old;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
--source include/have_innodb.inc
2+
3+
SET @default_storage_engine_old = @@session.default_storage_engine;
4+
SET SESSION default_storage_engine = INNODB;
5+
6+
--source extra/table_index_statistics.inc
7+
8+
SET SESSION default_storage_engine = @default_storage_engine_old;

0 commit comments

Comments
 (0)