WL#10436: NewDD: Implicit tablespace name should be same as table name

Affects: Server-8.0   —   Status: Complete

With current InnoDB tablespace implementation with newDD, the implicit
(file-per-table) tablespace name is named as "innodb_file_per_table_x", where x
is the tablespace ID. The advantage of this is that for any rename table, there
is no such need of rename tablespace, since the tablespace name is independent
of table name. The disadvantage of this is that the tablespace name is hard for
user to find out. This makes it a bit harder for user to specify tablespace name
for import/export tablespace etc.

This Worklog is to work on a solution to make tablespace name same
as table name again for file-per-table tablespace.
FR1: While creating implicit tablespace, tablespace name should be stored as
table name in new data dictionary.

FR2: Rename table operation for implicit tablespace have to store the
tablespace name as table name.

FR3: During alter table rebuild operation, new table will be created and
its tablespace name has to be stored as table name in new data dictionary.

FR4: All FTS auxilary table should have its tablespace name as table name.

FR5: Upgrade should work fine when tablespace name as table name.

FR6: Import and discard table should work when tablespace name as table name.
The following tasks are mainly done to change the tablespace name from 
innodb_file_per_table_x to table name:

Convert tablespace name from file name charset to tablename charset:
=====================================================================

- Convert the tablespace name from filename charset to tablename charset.
Because length of the tablespace name in filename charset can be high compare
to the tablespace name in tablename charset. It saves lot of memory space in
mysql.tablespaces table.

- While filling the tablespace name for information schema queries,
conversion should happen for tablespace name before filling it. It can save
the information_schema.tablespaces table memory.

Implicit tablespace name creation:
===================================

- Convert the tablespace name charset before storing into the dictionary.
- Do the conversion in dd_create_implicit_tablespace().

Rename of implicit tablespace name:
- During prepare inplace alter, store the newly created temporary table
as "old tablespace name".

Upgrade from mysql-5.7:
========================

- Append the tablespace name of mysql-5.7 innodb_table_stats, innodb_index_stats
with "_backup57" to avoid the confusion of 8.0 innodb_table_stats and 
innodb_index_stats.