Bug #72891 I_S.INNODB_BUFFER_PAGE_LRU table is not properly documented
Submitted: 5 Jun 2014 16:24 Modified: 6 Jun 2014 17:30
Reporter: Valeriy Kravchuk Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S2 (Serious)
Version:5.6 OS:Any
Assigned to: Daniel Price CPU Architecture:Any
Tags: information_schema, INNODB_BUFFER_PAGES_LRU, missing manual

[5 Jun 2014 16:24] Valeriy Kravchuk
Description:
This manual page, http://dev.mysql.com/doc/refman/5.6/en/innodb-buffer-page-lru-table.html, says nothing about columns, they data types and meaning. One may wonder, for example, why there is no schema for a table here:

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysql -uroot -proot -P3314 test
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.17-log MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> desc information_schema.INNODB_BUFFER_PAGE_LRU;
+---------------------+---------------------+------+-----+---------+-------+
| Field               | Type                | Null | Key | Default | Extra |
+---------------------+---------------------+------+-----+---------+-------+
| POOL_ID             | bigint(21) unsigned | NO   |     | 0       |       |
| LRU_POSITION        | bigint(21) unsigned | NO   |     | 0       |       |
| SPACE               | bigint(21) unsigned | NO   |     | 0       |       |
| PAGE_NUMBER         | bigint(21) unsigned | NO   |     | 0       |       |
| PAGE_TYPE           | varchar(64)         | YES  |     | NULL    |       |
| FLUSH_TYPE          | bigint(21) unsigned | NO   |     | 0       |       |
| FIX_COUNT           | bigint(21) unsigned | NO   |     | 0       |       |
| IS_HASHED           | varchar(3)          | YES  |     | NULL    |       |
| NEWEST_MODIFICATION | bigint(21) unsigned | NO   |     | 0       |       |
| OLDEST_MODIFICATION | bigint(21) unsigned | NO   |     | 0       |       |
| ACCESS_TIME         | bigint(21) unsigned | NO   |     | 0       |       |
| TABLE_NAME          | varchar(1024)       | YES  |     | NULL    |       |
| INDEX_NAME          | varchar(1024)       | YES  |     | NULL    |       |
| NUMBER_RECORDS      | bigint(21) unsigned | NO   |     | 0       |       |
| DATA_SIZE           | bigint(21) unsigned | NO   |     | 0       |       |
| COMPRESSED_SIZE     | bigint(21) unsigned | NO   |     | 0       |       |
| COMPRESSED          | varchar(3)          | YES  |     | NULL    |       |
| IO_FIX              | varchar(64)         | YES  |     | NULL    |       |
| IS_OLD              | varchar(3)          | YES  |     | NULL    |       |
| FREE_PAGE_CLOCK     | bigint(21) unsigned | NO   |     | 0       |       |
+---------------------+---------------------+------+-----+---------+-------+
20 rows in set (0.02 sec)

or why TABLE_NAME is defined as varchar(1024). Surely one can just try to query the table (even though manual does not recommend this):

mysql> select table_name from information_schema.INNODB_BUFFER_PAGE_LRU where table_name is not null limit 20;
+------------------------------+
| table_name                   |
+------------------------------+
| `SYS_TABLES`                 |
| `SYS_COLUMNS`                |
| `SYS_COLUMNS`                |
| `SYS_INDEXES`                |
| `SYS_INDEXES`                |
| `SYS_FIELDS`                 |
| `SYS_FIELDS`                 |
| `SYS_FOREIGN`                |
| `SYS_FOREIGN`                |
| `SYS_DATAFILES`              |
| `SYS_INDEXES`                |
| `SYS_INDEXES`                |
| `SYS_TABLES`                 |
| `SYS_COLUMNS`                |
| `SYS_FIELDS`                 |
| `SYS_TABLESPACES`            |
| `mysql`.`innodb_index_stats` |
| `mysql`.`innodb_index_stats` |
| `mysql`.`innodb_table_stats` |
| `mysql`.`innodb_index_stats` |
+------------------------------+
20 rows in set (0.01 sec)

and then make his own conclusions, but what the point then to have a separate page for this table in the manual?

How to repeat:
Try to find out at http://dev.mysql.com/doc/refman/5.6/en/innodb-buffer-page-lru-table.html what are the columns and how to use the table properly.

Suggested fix:
Describe this table in details, including format of columns when it is not obvious 9same as you do for other INFORMATION_SCHEMA at least).
[6 Jun 2014 0:35] MySQL Verification Team
Thank you for the bug report.
[6 Jun 2014 17:30] Daniel Price
Table column descriptions have been added for the INFORMATION_SCHEMA INNODB_BUFFER_PAGE_LRU table. The revised content should appear soon, with the next published documentation build.

http://dev.mysql.com/doc/refman/5.5/en/innodb-buffer-page-lru-table.html
http://dev.mysql.com/doc/refman/5.6/en/innodb-buffer-page-lru-table.html
http://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-page-lru-table.html

Thank you for the bug report.