summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb/t/innodb_information_schema_buffer.test
blob: 7f0d4f0a73795a348dae3dc6543c1270920e03f5 (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
# Exercise the code path for INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS
# and INFORMATION_SCHEMA.INNODB_BUFFER_PAGE

# This test assumes that buffer pool is idle
# with key rotation threads buffer pages gets evicted this
# testcase gets flaky
-- source include/not_encrypted.inc

-- source include/have_innodb.inc

--replace_regex /([0-9]*\.)?[0-9]+/#/
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS;

# Create a table and check its page info behave correctly in the pool
CREATE TABLE infoschema_buffer_test (col1 INT) ENGINE = INNODB;

INSERT INTO infoschema_buffer_test VALUES(9);

# We should be able to see this table in the buffer pool if we check
# right away
--sorted_result
--replace_column 2 # 3 # 7 FIX 8 AHI 9 LSN 10 LSN 11 TIME 18 IO_FIX 19 OLD 20 #
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
WHERE TABLE_NAME LIKE '%infoschema_buffer_test%' AND PAGE_TYPE='index';

# The NUMBER_RECORDS and DATA_SIZE should check with each insertion
INSERT INTO infoschema_buffer_test VALUES(19);

CREATE INDEX idx ON infoschema_buffer_test(col1);

--sorted_result
--replace_column 2 # 3 # 7 FIX 8 AHI 9 LSN 10 LSN 11 TIME 18 IO_FIX 19 OLD 20 #
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
WHERE TABLE_NAME LIKE '%infoschema_buffer_test%' AND PAGE_TYPE='index';

# Check the buffer after dropping the table
DROP TABLE infoschema_buffer_test;

SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
WHERE TABLE_NAME LIKE '%infoschema_buffer_test%';

CREATE TABLE infoschema_parent (id INT NOT NULL, PRIMARY KEY (id))
ENGINE=INNODB;

CREATE TABLE infoschema_child (id INT, parent_id INT, INDEX par_ind (parent_id),
			       FOREIGN KEY (parent_id)
			       REFERENCES infoschema_parent(id)
			       ON DELETE CASCADE)
ENGINE=INNODB;

--sorted_result
--replace_column 2 # 3 # 7 FIX 8 AHI 9 LSN 10 LSN 11 TIME 18 IO_FIX 19 OLD 20 #
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
WHERE TABLE_NAME LIKE '%infoschema_child%';

DROP TABLE infoschema_child;
DROP TABLE infoschema_parent;