mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-11943 I_S.TABLES inconsistencies with tables with unknown storage engine
Make SELECT <columns> FROM I_S.TABLES behave identically independently from whether <columns> require opening the table in engine or <columns> can be filled with only opening the frm. In particular, fill_schema_table_from_frm() should not silently skip frms with unknown engine, but should fill the I_S.TABLES row with NULLs just like fill_schema_table_by_open() does.
This commit is contained in:
@ -97,6 +97,9 @@ COLUMN_COMMENT varchar(1024) NO
|
||||
SELECT table_catalog, table_schema, table_name, column_name
|
||||
FROM information_schema.columns WHERE table_catalog IS NULL OR table_catalog <> 'def';
|
||||
table_catalog table_schema table_name column_name
|
||||
Warnings:
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
###############################################################################
|
||||
# Testcase 3.2.6.2 + 3.2.6.3: INFORMATION_SCHEMA.COLUMNS accessible information
|
||||
###############################################################################
|
||||
|
@ -117,6 +117,20 @@ def mysql index_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_
|
||||
def mysql index_stats index_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
|
||||
def mysql index_stats prefix_arity 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned PRI select,insert,update,references
|
||||
def mysql index_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
|
||||
def mysql innodb_index_stats database_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
|
||||
def mysql innodb_index_stats index_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
|
||||
def mysql innodb_index_stats last_update 4 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
|
||||
def mysql innodb_index_stats sample_size 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
|
||||
def mysql innodb_index_stats stat_description 8 NULL NO varchar 1024 3072 NULL NULL NULL utf8 utf8_bin varchar(1024) select,insert,update,references
|
||||
def mysql innodb_index_stats stat_name 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
|
||||
def mysql innodb_index_stats stat_value 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
|
||||
def mysql innodb_index_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
|
||||
def mysql innodb_table_stats clustered_index_size 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
|
||||
def mysql innodb_table_stats database_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
|
||||
def mysql innodb_table_stats last_update 3 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
|
||||
def mysql innodb_table_stats n_rows 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
|
||||
def mysql innodb_table_stats sum_of_other_index_sizes 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references
|
||||
def mysql innodb_table_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI select,insert,update,references
|
||||
def mysql plugin dl 2 NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
|
||||
def mysql plugin name 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) PRI select,insert,update,references
|
||||
def mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob select,insert,update,references
|
||||
@ -438,6 +452,20 @@ NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5)
|
||||
3.0000 mysql index_stats index_name varchar 64 192 utf8 utf8_bin varchar(64)
|
||||
NULL mysql index_stats prefix_arity int NULL NULL NULL NULL int(11) unsigned
|
||||
NULL mysql index_stats avg_frequency decimal NULL NULL NULL NULL decimal(12,4)
|
||||
3.0000 mysql innodb_index_stats database_name varchar 64 192 utf8 utf8_bin varchar(64)
|
||||
3.0000 mysql innodb_index_stats table_name varchar 64 192 utf8 utf8_bin varchar(64)
|
||||
3.0000 mysql innodb_index_stats index_name varchar 64 192 utf8 utf8_bin varchar(64)
|
||||
NULL mysql innodb_index_stats last_update timestamp NULL NULL NULL NULL timestamp
|
||||
3.0000 mysql innodb_index_stats stat_name varchar 64 192 utf8 utf8_bin varchar(64)
|
||||
NULL mysql innodb_index_stats stat_value bigint NULL NULL NULL NULL bigint(20) unsigned
|
||||
NULL mysql innodb_index_stats sample_size bigint NULL NULL NULL NULL bigint(20) unsigned
|
||||
3.0000 mysql innodb_index_stats stat_description varchar 1024 3072 utf8 utf8_bin varchar(1024)
|
||||
3.0000 mysql innodb_table_stats database_name varchar 64 192 utf8 utf8_bin varchar(64)
|
||||
3.0000 mysql innodb_table_stats table_name varchar 64 192 utf8 utf8_bin varchar(64)
|
||||
NULL mysql innodb_table_stats last_update timestamp NULL NULL NULL NULL timestamp
|
||||
NULL mysql innodb_table_stats n_rows bigint NULL NULL NULL NULL bigint(20) unsigned
|
||||
NULL mysql innodb_table_stats clustered_index_size bigint NULL NULL NULL NULL bigint(20) unsigned
|
||||
NULL mysql innodb_table_stats sum_of_other_index_sizes bigint NULL NULL NULL NULL bigint(20) unsigned
|
||||
3.0000 mysql plugin name varchar 64 192 utf8 utf8_general_ci varchar(64)
|
||||
3.0000 mysql plugin dl varchar 128 384 utf8 utf8_general_ci varchar(128)
|
||||
3.0000 mysql proc db char 64 192 utf8 utf8_bin char(64)
|
||||
|
@ -251,6 +251,9 @@ def mysql user Update_priv 6 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci e
|
||||
def mysql user User 2 NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI
|
||||
def mysql user x509_issuer 35 NULL NO blob 65535 65535 NULL NULL NULL NULL NULL blob
|
||||
def mysql user x509_subject 36 NULL NO blob 65535 65535 NULL NULL NULL NULL NULL blob
|
||||
Warnings:
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
##########################################################################
|
||||
# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
|
||||
##########################################################################
|
||||
@ -272,6 +275,9 @@ COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
|
||||
1.0000 text utf8 utf8_bin
|
||||
1.0000 mediumtext utf8 utf8_general_ci
|
||||
1.0000 text utf8 utf8_general_ci
|
||||
Warnings:
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
SELECT DISTINCT
|
||||
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
|
||||
DATA_TYPE,
|
||||
@ -289,6 +295,9 @@ COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
|
||||
3.0000 enum utf8 utf8_general_ci
|
||||
3.0000 set utf8 utf8_general_ci
|
||||
3.0000 varchar utf8 utf8_general_ci
|
||||
Warnings:
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
SELECT DISTINCT
|
||||
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
|
||||
DATA_TYPE,
|
||||
@ -307,6 +316,9 @@ NULL smallint NULL NULL
|
||||
NULL time NULL NULL
|
||||
NULL timestamp NULL NULL
|
||||
NULL tinyint NULL NULL
|
||||
Warnings:
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
--> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values
|
||||
--> are 0, which is intended behavior, and the result of 0 / 0 IS NULL
|
||||
SELECT CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
|
||||
@ -572,3 +584,6 @@ NULL mysql user max_user_connections int NULL NULL NULL NULL int(11)
|
||||
3.0000 mysql user is_role enum 1 3 utf8 utf8_general_ci enum('N','Y')
|
||||
3.0000 mysql user default_role char 80 240 utf8 utf8_bin char(80)
|
||||
NULL mysql user max_statement_time decimal NULL NULL NULL NULL decimal(12,6)
|
||||
Warnings:
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
|
@ -151,6 +151,9 @@ def mysql time_zone_transition_type mysql PRIMARY
|
||||
def mysql time_zone_transition_type mysql PRIMARY
|
||||
def mysql user mysql PRIMARY
|
||||
def mysql user mysql PRIMARY
|
||||
Warnings:
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
####################################################################################
|
||||
# Testcase 3.2.14.2 + 3.2.14.3: INFORMATION_SCHEMA.STATISTICS accessible information
|
||||
####################################################################################
|
||||
|
Reference in New Issue
Block a user