Bug #79889 Document InnoDB Flags
Submitted: 8 Jan 2016 11:30 Modified: 11 Jan 2016 12:46
Reporter: Daniël van Eeden (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version:5.7.10 OS:Any
Assigned to: CPU Architecture:Any
Tags: flags, innodb

[8 Jan 2016 11:30] Daniël van Eeden
Description:
The possible flags used by InnoDB are not documented.

See also Bug #79888.

How to repeat:
What I did to see which flags are used in which situations:
mysql [localhost] {msandbox} (test) > CREATE TABLE t1 (id int);
Query OK, 0 rows affected (0.04 sec)

mysql [localhost] {msandbox} (test) > CREATE TABLE t2 (id int) row_format=compact;
Query OK, 0 rows affected (0.06 sec)

mysql [localhost] {msandbox} (test) > CREATE TABLE t3 (id int) row_format=compressed;
Query OK, 0 rows affected (1.08 sec)

mysql [localhost] {msandbox} (test) > CREATE TABLE t4 (id int) row_format=redundant;
Query OK, 0 rows affected (0.04 sec)

mysql [localhost] {msandbox} (test) > set session innodb_large_prefix=0;
ERROR 1229 (HY000): Variable 'innodb_large_prefix' is a GLOBAL variable and should be set with SET GLOBAL
mysql [localhost] {msandbox} (test) > set global  innodb_large_prefix=0;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql [localhost] {msandbox} (test) > show warnings;
+---------+------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Level   | Code | Message                                                                                                                                                         |
+---------+------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Warning |  131 | Using innodb_large_prefix is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html |
+---------+------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql [localhost] {msandbox} (test) > CREATE TABLE t5 (id int);
Query OK, 0 rows affected (0.06 sec)

mysql [localhost] {msandbox} (test) > SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES where name like 'test%';
+----------+---------+------+--------+-------+-------------+------------+---------------+------------+
| TABLE_ID | NAME    | FLAG | N_COLS | SPACE | FILE_FORMAT | ROW_FORMAT | ZIP_PAGE_SIZE | SPACE_TYPE |
+----------+---------+------+--------+-------+-------------+------------+---------------+------------+
|      360 | test/t1 |   33 |      4 |   359 | Barracuda   | Dynamic    |             0 | Single     |
|      361 | test/t2 |    1 |      4 |   360 | Antelope    | Compact    |             0 | Single     |
|      362 | test/t3 |   41 |      4 |   361 | Barracuda   | Compressed |          8192 | Single     |
|      363 | test/t4 |    0 |      4 |   362 | Antelope    | Redundant  |             0 | Single     |
|      364 | test/t5 |   33 |      4 |   363 | Barracuda   | Dynamic    |             0 | Single     |
+----------+---------+------+--------+-------+-------------+------------+---------------+------------+
5 rows in set (0.00 sec)
[8 Jan 2016 11:43] MySQL Verification Team
Hello Daniël,

Thank you for the report.

Thanks,
Umesh
[11 Jan 2016 12:46] Daniel Price
Posted by developer:
 
Information about interpreting FLAG values is provided in the INFORMATION_SCHEMA.INNODB_SYS_TABLES documentation:
https://dev.mysql.com/doc/refman/5.7/en/innodb-sys-tables-table.html

Please see the content on the bottom half of the page.