WL#7704: InnoDB: Remove deprecated file format parameters in 8.0

Affects: Server-8.0   —   Status: Complete

The following options will be removed:

innodb_file_format
innodb_file_format_check
innodb_file_format_max
innodb_large_prefix

They have been deprecated in 5.7.7 with WL#7703.

The file_format column in two INFORMATION_SCHEMA tables will be removed:
innodb_sys_tablespaces
innodb_sys_tables

See also WL#8307 InnoDB: Make ROW_FORMAT=DYNAMIC the default
The innodb_file_format was persisted at the end of TRX_SYS_PAGE
in the system tablespace (space 0, page 5).

Assuming that the first file of the system tablespace is called ibdata1
the file format tag would be stored at the 8 bytes starting at the offset

6*innodb_page_size-16
which is 98288 or 0x17FF0 when innodb_page_size=16k.

Theoretically, this field could contain uninitialized garbage bytes
if the system tablespace was created with a very old version of InnoDB
and MySQL 5.5, 5.6 or 5.7 was never started on the file.

In practice, there are 3 possible values of the innodb_file_format tag
when the database was created with MySQL 5.5, 5.6 or 5.7:

0 (not initialized yet)
0xA3AC72B5D9505B81 (innodb_file_format_max=Antelope)
0xA3AC72B5D9505B82 (innodb_file_format_max=Barracuda)

According to mysql-test, the value can remain at 0 across server restarts.
./mtr main.1st innodb.innodb
od -An -t x1 -j 98288 -N 8 var/mysqld.1/data/ibdata1
./mtr innodb.innodb_file_format
od -An -t x1 -j 98288 -N 8 var/mysqld.1/data/ibdata1

After the first tests, the bytes remain at 0.
The last test will change the format tag to 0xA3AC72B5D9505B81.

Because of this, we will remove all explicit initialization of the
file format tag bytes. On startup, and on any DDL operation, we will leave
the tag at whatever value it was. When creating a new database instance,
the tag will be initialized to 0.