WL#9461: Upgrade for Innodb Internal Dictionary Migration

Affects: Server-8.0   —   Status: Complete

With the implementation of Data Dictionary for Server, InnoDB will remove its
internal Data Dictionary. InnoDB will store its metadata in Server Data
dictionary. Dictionary provides se_private_id and se_private_data columns to be
used by Storage Engines.

For the user to upgrade from older mysql versions, a way is needed to migrate
the contents of InnoDB internal dictionary to the Data Dictionary. This includes
all the innodb internal metadata related to :
- tablespaces
- tables
- indexes
- Foreign keys, currently stored by InnoDB dictionary only.

The scope of the worklog:
- This worklog will deal with the in place (live) server version upgrade from 
  mysql-5.7(all GAed versions), to mysql-8.0 with InnoDB internal dictionary 
  removed.
- http://wl.no.oracle.com/worklog/Server-Sprint/?tid=6392#Upgrade_Prerequisites 
  mentions all the upgrade pre requisites. 
- WL#6392 has implemented upgrade from mysql-5.7 to mysql-8.0. In the scope of 
  WL#6392, workarounds were implemented for the tasks which were needed to be
  implemented by Storage Engines. For example : In mysql-5.7, Storage engines 
  stores Foreign key information. In implemenation of WL#6392, Foreign key 
  information was fetched from storage engine to store in server data dictionary.
  This worklog will remove above implementation and provide handler API to be 
  called for each table. Storage engine will take the responsibility to populate
  Foreign key information.
- Major or minor version upgrade of DD will be dealt with as separate work.
- Downgrade from mysql-8.0 to a lower version which do not support DD is not in
  the scope of this worklog.

User Documentation
==================

No user-visible effects. No user documentation required.