Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
Description
Let us clean up several inconsistencies and inefficiencies in the INFORMATION_SCHEMA table plugins of InnoDB:
- For Boolean attributes, use INT(1) NOT NULL instead of VARCHAR containing strings like 'NO','YES','disabled','enabled','Uninitialized','Initialized'.
- For 32-bit integer attributes, use INT instead of BIGINT.
- For n-ary attributes, use ENUM instead of VARCHAR.
- Remove the unnecessary column SYS_TABLESPACES.SPACE_TYPE.
- Shorten many string columns to more reasonable length. Index and column names can be up to NAME_CHAR_LEN (64) characters long.
Also, implement some functional changes, such as reducing the memory usage for i_s_locks_row_t and i_s_trx_row_t, and replacing some function calls with inlined code.
Attachments
Issue Links
- causes
-
MDEV-21537 InnoDB INFORMATION_SCHEMA tables fail to define DEFAULT for ENUM NOT NULL
- Closed
-
MDEV-22206 Assertion "heap_no == ULINT_UNDEFINED" in trx0i_s.cc
- Closed
- is blocked by
-
MDEV-19861 Add intfastructure to have ENUM columns in INFORMATION_SCHEMA
- Closed