summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2012-11-03 12:28:51 +0100
committerSergei Golubchik <sergii@pisem.net>2012-11-03 12:28:51 +0100
commit40e94a3734b1daa254810c4be64e17b84dbbc2a2 (patch)
tree5e14dfc106276445caf85dc76c8034c8b0df11b4 /mysql-test/suite/innodb
parent247e654fa7e04dd0c5181c2241470f56749d2a99 (diff)
parent4ffc9c3b01459a2904a7154a6c750d128864fc7b (diff)
downloadmariadb-git-40e94a3734b1daa254810c4be64e17b84dbbc2a2.tar.gz
merge with 5.5
Diffstat (limited to 'mysql-test/suite/innodb')
-rw-r--r--mysql-test/suite/innodb/r/innodb_information_schema_buffer.result130
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug14007649.test5
-rw-r--r--mysql-test/suite/innodb/t/innodb_information_schema_buffer.opt3
-rw-r--r--mysql-test/suite/innodb/t/innodb_information_schema_buffer.test81
4 files changed, 214 insertions, 5 deletions
diff --git a/mysql-test/suite/innodb/r/innodb_information_schema_buffer.result b/mysql-test/suite/innodb/r/innodb_information_schema_buffer.result
new file mode 100644
index 00000000000..b4a350e77a3
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_information_schema_buffer.result
@@ -0,0 +1,130 @@
+SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS;
+SELECT count(*) FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS;
+SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE;
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE;
+CREATE TABLE infoschema_buffer_test (col1 INT) ENGINE = INNODB;
+INSERT INTO infoschema_buffer_test VALUES(9);
+SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
+FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
+WHERE TABLE_NAME like "%infoschema_buffer_test"
+ and PAGE_STATE="file_page" and PAGE_TYPE="index";
+TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE PAGE_STATE PAGE_TYPE
+test/infoschema_buffer_test GEN_CLUST_INDEX 1 29 FILE_PAGE INDEX
+INSERT INTO infoschema_buffer_test VALUES(19);
+SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
+FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
+WHERE TABLE_NAME like "%infoschema_buffer_test"
+and PAGE_STATE="file_page" and PAGE_TYPE="index";
+TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE PAGE_STATE PAGE_TYPE
+test/infoschema_buffer_test GEN_CLUST_INDEX 2 58 FILE_PAGE INDEX
+CREATE INDEX idx ON infoschema_buffer_test(col1);
+SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
+FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
+WHERE TABLE_NAME like "%infoschema_buffer_test"
+and PAGE_STATE="file_page" and INDEX_NAME = "idx" and PAGE_TYPE="index";
+TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE PAGE_STATE PAGE_TYPE
+test/infoschema_buffer_test idx 2 32 FILE_PAGE INDEX
+DROP TABLE infoschema_buffer_test;
+SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
+FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
+WHERE TABLE_NAME like "%infoschema_buffer_test";
+TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE PAGE_STATE PAGE_TYPE
+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;
+SELECT count(*)
+FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
+WHERE TABLE_NAME like "%infoschema_child" and PAGE_STATE="file_page"
+and PAGE_TYPE="index";
+count(*)
+2
+DROP TABLE infoschema_child;
+DROP TABLE infoschema_parent;
+show create table information_schema.innodb_buffer_page;
+Table Create Table
+INNODB_BUFFER_PAGE CREATE TEMPORARY TABLE `INNODB_BUFFER_PAGE` (
+ `POOL_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `BLOCK_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `SPACE` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `PAGE_NUMBER` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `PAGE_TYPE` varchar(64) DEFAULT NULL,
+ `FLUSH_TYPE` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `FIX_COUNT` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `IS_HASHED` varchar(3) DEFAULT NULL,
+ `NEWEST_MODIFICATION` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `OLDEST_MODIFICATION` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `ACCESS_TIME` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `TABLE_NAME` varchar(1024) DEFAULT NULL,
+ `INDEX_NAME` varchar(1024) DEFAULT NULL,
+ `NUMBER_RECORDS` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `DATA_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `COMPRESSED_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `PAGE_STATE` varchar(64) DEFAULT NULL,
+ `IO_FIX` varchar(64) DEFAULT NULL,
+ `IS_OLD` varchar(3) DEFAULT NULL,
+ `FREE_PAGE_CLOCK` bigint(21) unsigned NOT NULL DEFAULT '0'
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+show create table information_schema.innodb_buffer_page_lru;
+Table Create Table
+INNODB_BUFFER_PAGE_LRU CREATE TEMPORARY TABLE `INNODB_BUFFER_PAGE_LRU` (
+ `POOL_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `LRU_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `SPACE` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `PAGE_NUMBER` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `PAGE_TYPE` varchar(64) DEFAULT NULL,
+ `FLUSH_TYPE` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `FIX_COUNT` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `IS_HASHED` varchar(3) DEFAULT NULL,
+ `NEWEST_MODIFICATION` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `OLDEST_MODIFICATION` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `ACCESS_TIME` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `TABLE_NAME` varchar(1024) DEFAULT NULL,
+ `INDEX_NAME` varchar(1024) DEFAULT NULL,
+ `NUMBER_RECORDS` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `DATA_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `COMPRESSED_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `COMPRESSED` varchar(3) DEFAULT NULL,
+ `IO_FIX` varchar(64) DEFAULT NULL,
+ `IS_OLD` varchar(3) DEFAULT NULL,
+ `FREE_PAGE_CLOCK` bigint(21) unsigned NOT NULL DEFAULT '0'
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
+show create table information_schema.innodb_buffer_pool_stats;
+Table Create Table
+INNODB_BUFFER_POOL_STATS CREATE TEMPORARY TABLE `INNODB_BUFFER_POOL_STATS` (
+ `POOL_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `POOL_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `FREE_BUFFERS` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `DATABASE_PAGES` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `OLD_DATABASE_PAGES` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `MODIFIED_DATABASE_PAGES` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `PENDING_DECOMPRESS` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `PENDING_READS` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `PENDING_FLUSH_LRU` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `PENDING_FLUSH_LIST` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `PAGES_MADE_YOUNG` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `PAGES_NOT_MADE_YOUNG` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `PAGES_MADE_YOUNG_RATE` double NOT NULL DEFAULT '0',
+ `PAGES_MADE_NOT_YOUNG_RATE` double NOT NULL DEFAULT '0',
+ `NUMBER_PAGES_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `NUMBER_PAGES_CREATED` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `NUMBER_PAGES_WRITTEN` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `PAGES_READ_RATE` double NOT NULL DEFAULT '0',
+ `PAGES_CREATE_RATE` double NOT NULL DEFAULT '0',
+ `PAGES_WRITTEN_RATE` double NOT NULL DEFAULT '0',
+ `NUMBER_PAGES_GET` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `HIT_RATE` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `YOUNG_MAKE_PER_THOUSAND_GETS` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `NOT_YOUNG_MAKE_PER_THOUSAND_GETS` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `NUMBER_PAGES_READ_AHEAD` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `NUMBER_READ_AHEAD_EVICTED` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `READ_AHEAD_RATE` double NOT NULL DEFAULT '0',
+ `READ_AHEAD_EVICTED_RATE` double NOT NULL DEFAULT '0',
+ `LRU_IO_TOTAL` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `LRU_IO_CURRENT` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `UNCOMPRESS_TOTAL` bigint(21) unsigned NOT NULL DEFAULT '0',
+ `UNCOMPRESS_CURRENT` bigint(21) unsigned NOT NULL DEFAULT '0'
+) ENGINE=MEMORY DEFAULT CHARSET=utf8
diff --git a/mysql-test/suite/innodb/t/innodb_bug14007649.test b/mysql-test/suite/innodb/t/innodb_bug14007649.test
index da413e0ce59..9326e1c53ef 100644
--- a/mysql-test/suite/innodb/t/innodb_bug14007649.test
+++ b/mysql-test/suite/innodb/t/innodb_bug14007649.test
@@ -1,11 +1,6 @@
--source include/have_innodb.inc
--source include/have_debug.inc
-if (`select plugin_auth_version <= "1.0.17-13.01" from information_schema.plugins where plugin_name='innodb'`)
-{
- --skip Not fixed in XtraDB 1.0.17-13.01 or earlier
-}
-
create table t1 (
rowid int,
f1 int,
diff --git a/mysql-test/suite/innodb/t/innodb_information_schema_buffer.opt b/mysql-test/suite/innodb/t/innodb_information_schema_buffer.opt
new file mode 100644
index 00000000000..9e43eb47f97
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_information_schema_buffer.opt
@@ -0,0 +1,3 @@
+--loose-innodb-buffer-pool-stats
+--loose-innodb-buffer-page
+--loose-innodb-buffer-page-lru
diff --git a/mysql-test/suite/innodb/t/innodb_information_schema_buffer.test b/mysql-test/suite/innodb/t/innodb_information_schema_buffer.test
new file mode 100644
index 00000000000..b9c6aecd177
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_information_schema_buffer.test
@@ -0,0 +1,81 @@
+# Exercise the code path for INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS
+# and INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
+
+-- source include/have_innodb.inc
+
+if (`select plugin_auth_version <= "1.1.8-29.0" from information_schema.plugins where plugin_name='innodb'`)
+{
+ --skip Not fixed in XtraDB 1.1.8-29.0 or earlier
+}
+
+-- disable_result_log
+SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS;
+
+# How many buffer pools we have
+SELECT count(*) FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS;
+
+SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE;
+
+# This gives the over all buffer pool size
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE;
+
+-- enable_result_log
+
+# 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
+SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
+FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
+WHERE TABLE_NAME like "%infoschema_buffer_test"
+ and PAGE_STATE="file_page" and PAGE_TYPE="index";
+
+# The NUMBER_RECORDS and DATA_SIZE should check with each insertion
+INSERT INTO infoschema_buffer_test VALUES(19);
+
+SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
+FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
+WHERE TABLE_NAME like "%infoschema_buffer_test"
+and PAGE_STATE="file_page" and PAGE_TYPE="index";
+
+CREATE INDEX idx ON infoschema_buffer_test(col1);
+
+SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
+FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
+WHERE TABLE_NAME like "%infoschema_buffer_test"
+and PAGE_STATE="file_page" and INDEX_NAME = "idx" and PAGE_TYPE="index";
+
+
+# Check the buffer after dropping the table
+DROP TABLE infoschema_buffer_test;
+
+SELECT TABLE_NAME, INDEX_NAME, NUMBER_RECORDS, DATA_SIZE, PAGE_STATE, PAGE_TYPE
+FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
+WHERE TABLE_NAME like "%infoschema_buffer_test";
+
+# Do one more test
+#--replace_regex /'*[0-9]*'/'NUM'/
+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;
+
+SELECT count(*)
+FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
+WHERE TABLE_NAME like "%infoschema_child" and PAGE_STATE="file_page"
+and PAGE_TYPE="index";
+
+DROP TABLE infoschema_child;
+DROP TABLE infoschema_parent;
+
+show create table information_schema.innodb_buffer_page;
+show create table information_schema.innodb_buffer_page_lru;
+show create table information_schema.innodb_buffer_pool_stats;
+