Bug #83169 Add last_checked_for_upgrade column to dd.tables table
Submitted: 27 Sep 2016 10:44 Modified: 18 Jun 2018 13:53
Reporter: Dyre Tjeldvoll Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Data Dictionary Severity:S3 (Non-critical)
Version: OS:Any
Assigned to: CPU Architecture:Any

[27 Sep 2016 10:44] Dyre Tjeldvoll
Description:
When using the FOR UPGRADE option to check if tables are compatible with the current version of MySQL, the result of the check (which may be time-consuming) used to be stored (cached) in the .frm file, to avoid having to perform the check again. With the removal of the .frm files this optimization was also removed. 

How to repeat:
Run CHECK TABLE FOR UPGRADE repeatedly.

Suggested fix:
Add separate column DD.TABLES.last_checked_for_upgrade and use it to store the current server version number whenever CHECK TABLE FOR UPGRADE is completed successfully.

Shortcut CHECK TABLE FOR UPGRADE execution for tables which already have the current version number stored in this column.
[18 Jun 2018 13:53] Daniel Price
Posted by developer:
 
Fixed as of the upcoming 8.0.13 release, and here's the changelog entry:

A last_checked_for_upgrade column that stores the current server version
number was added to the mysql.tables data dictionary table to track
successful CHECK TABLE ... FOR UPGRADE operations. This data was
previously stored in frm files to avoid rechecking tables unnecessarily.