Bug #89553 Change the hidden attribute for columns to an ENUM
Submitted: 6 Feb 2018 11:44 Modified: 15 Feb 2018 23:07
Reporter: Erik Frøseth Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Data Dictionary Severity:S3 (Non-critical)
Version:8.0 OS:Any
Assigned to: CPU Architecture:Any

[6 Feb 2018 11:44] Erik Frøseth
Description:
In order to implement functional indexes, we need to mark a column as hidden from users. We already have a field named "hidden" for columns, but it hides the column completely from the optimizer. We need have a column that is visible to the optimizer, but invisible to the user. The solution is to change the field "hidden" from a BOOL to an ENUM, so we can have different levels of visibility. This will also make it more consistent with the field "hidden" for tables, which already is an ENUM.

The current suggestion is to change the field from BOOL to ENUM('VISIBLE', 'INVISIBLE', 'INTERNAL'). The value 'INVISIBLE' will represent what "hidden == true" represents today, but this is subject to change.

How to repeat:
N/A

Suggested fix:
N/A
[15 Feb 2018 23:07] Daniel Price
Posted by developer:
 
Fixed as of the upcoming 8.0.5  release, and here's the changelog entry:

An internal field used to mark a column as hidden was changed from a
boolean field to an enum field to support additional levels of column
visibility.