[MDEV-19940] Clean up INFORMATION_SCHEMA.INNODB_ tables Created: 2019-07-03  Updated: 2021-02-05  Resolved: 2019-07-03

Status: Closed
Project: MariaDB Server
Component/s: Information Schema, Storage Engine - InnoDB
Fix Version/s: 10.5.0

Type: Task Priority: Major
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: performance, refactoring

Issue Links:
Blocks
is blocked by MDEV-19861 Add intfastructure to have ENUM colum... Closed
Problem/Incident
causes MDEV-21537 InnoDB INFORMATION_SCHEMA tables fail... Closed
causes MDEV-22206 Assertion "heap_no == ULINT_UNDEFINED... Closed

 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.



 Comments   
Comment by Daniel Black [ 2021-02-05 ]

VARCHAR strings were ugly, but changing names does break things https://github.com/FromDual/mariadb-sys/pull/1
Lets see if https://github.com/FromDual/mariadb-sys/pull/2 is successful.

Generated at Thu Feb 08 08:55:31 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.