polardbxengine/mysql-test/suite/funcs_1/r/is_key_column_usage.result

599 lines
38 KiB
Plaintext

SHOW TABLES FROM information_schema LIKE 'KEY_COLUMN_USAGE';
Tables_in_information_schema (KEY_COLUMN_USAGE)
KEY_COLUMN_USAGE
#######################################################################
# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT
#######################################################################
DROP VIEW IF EXISTS test.v1;
DROP PROCEDURE IF EXISTS test.p1;
DROP FUNCTION IF EXISTS test.f1;
CREATE VIEW test.v1 AS SELECT * FROM information_schema.KEY_COLUMN_USAGE;
CREATE PROCEDURE test.p1() SELECT * FROM information_schema.KEY_COLUMN_USAGE;
CREATE FUNCTION test.f1() returns BIGINT
BEGIN
DECLARE counter BIGINT DEFAULT NULL;
SELECT COUNT(*) INTO counter FROM information_schema.KEY_COLUMN_USAGE;
RETURN counter;
END//
# Attention: The printing of the next result sets is disabled.
SELECT * FROM information_schema.KEY_COLUMN_USAGE;
SELECT * FROM test.v1;
CALL test.p1;
SELECT test.f1();
DROP VIEW test.v1;
DROP PROCEDURE test.p1;
DROP FUNCTION test.f1;
#########################################################################
# Testcase 3.2.7.1: INFORMATION_SCHEMA.KEY_COLUMN_USAGE layout
#########################################################################
DESCRIBE information_schema.KEY_COLUMN_USAGE;
Field Type Null Key Default Extra
CONSTRAINT_CATALOG varchar(64) NO
CONSTRAINT_SCHEMA varchar(64) NO
CONSTRAINT_NAME varchar(64) YES NULL
TABLE_CATALOG varchar(64) NO
TABLE_SCHEMA varchar(64) NO
TABLE_NAME varchar(64) NO
COLUMN_NAME varchar(64) YES NULL
ORDINAL_POSITION int(10) unsigned NO 0
POSITION_IN_UNIQUE_CONSTRAINT int(10) unsigned YES NULL
REFERENCED_TABLE_SCHEMA varchar(64) YES NULL
REFERENCED_TABLE_NAME varchar(64) YES NULL
REFERENCED_COLUMN_NAME varchar(64) YES NULL
SHOW CREATE TABLE information_schema.KEY_COLUMN_USAGE;
View Create View character_set_client collation_connection
KEY_COLUMN_USAGE CREATE ALGORITHM=UNDEFINED DEFINER=`mysql.infoschema`@`localhost` SQL SECURITY DEFINER VIEW `information_schema`.`KEY_COLUMN_USAGE` AS select `cat`.`name` AS `CONSTRAINT_CATALOG`,`sch`.`name` AS `CONSTRAINT_SCHEMA`,`idx`.`name` AS `CONSTRAINT_NAME`,`cat`.`name` AS `TABLE_CATALOG`,`sch`.`name` AS `TABLE_SCHEMA`,`tbl`.`name` AS `TABLE_NAME`,(`col`.`name` collate utf8_tolower_ci) AS `COLUMN_NAME`,`icu`.`ordinal_position` AS `ORDINAL_POSITION`,NULL AS `POSITION_IN_UNIQUE_CONSTRAINT`,NULL AS `REFERENCED_TABLE_SCHEMA`,NULL AS `REFERENCED_TABLE_NAME`,NULL AS `REFERENCED_COLUMN_NAME` from (((((`mysql`.`indexes` `idx` join `mysql`.`tables` `tbl` on((`idx`.`table_id` = `tbl`.`id`))) join `mysql`.`schemata` `sch` on((`tbl`.`schema_id` = `sch`.`id`))) join `mysql`.`catalogs` `cat` on((`cat`.`id` = `sch`.`catalog_id`))) join `mysql`.`index_column_usage` `icu` on((`icu`.`index_id` = `idx`.`id`))) join `mysql`.`columns` `col` on(((`icu`.`column_id` = `col`.`id`) and (`idx`.`type` in ('PRIMARY','UNIQUE'))))) where ((0 <> can_access_column(`sch`.`name`,`tbl`.`name`,`col`.`name`)) and (0 <> is_visible_dd_object(`tbl`.`hidden`,((`col`.`hidden` <> 'Visible') or (0 <> `idx`.`hidden`) or (0 <> `icu`.`hidden`))))) union select `cat`.`name` AS `CONSTRAINT_CATALOG`,`sch`.`name` AS `CONSTRAINT_SCHEMA`,(`fk`.`name` collate utf8_tolower_ci) AS `CONSTRAINT_NAME`,`cat`.`name` AS `TABLE_CATALOG`,`sch`.`name` AS `TABLE_SCHEMA`,`tbl`.`name` AS `TABLE_NAME`,(`col`.`name` collate utf8_tolower_ci) AS `COLUMN_NAME`,`fkcu`.`ordinal_position` AS `ORDINAL_POSITION`,`fkcu`.`ordinal_position` AS `POSITION_IN_UNIQUE_CONSTRAINT`,`fk`.`referenced_table_schema` AS `REFERENCED_TABLE_SCHEMA`,`fk`.`referenced_table_name` AS `REFERENCED_TABLE_NAME`,`fkcu`.`referenced_column_name` AS `REFERENCED_COLUMN_NAME` from (((((`mysql`.`foreign_keys` `fk` join `mysql`.`tables` `tbl` on((`fk`.`table_id` = `tbl`.`id`))) join `mysql`.`foreign_key_column_usage` `fkcu` on((`fkcu`.`foreign_key_id` = `fk`.`id`))) join `mysql`.`schemata` `sch` on((`fk`.`schema_id` = `sch`.`id`))) join `mysql`.`catalogs` `cat` on((`cat`.`id` = `sch`.`catalog_id`))) join `mysql`.`columns` `col` on((`fkcu`.`column_id` = `col`.`id`))) where ((0 <> can_access_column(`sch`.`name`,`tbl`.`name`,`col`.`name`)) and (0 <> is_visible_dd_object(`tbl`.`hidden`,(`col`.`hidden` <> 'Visible')))) utf8 utf8_general_ci
SHOW COLUMNS FROM information_schema.KEY_COLUMN_USAGE;
Field Type Null Key Default Extra
CONSTRAINT_CATALOG varchar(64) NO
CONSTRAINT_SCHEMA varchar(64) NO
CONSTRAINT_NAME varchar(64) YES NULL
TABLE_CATALOG varchar(64) NO
TABLE_SCHEMA varchar(64) NO
TABLE_NAME varchar(64) NO
COLUMN_NAME varchar(64) YES NULL
ORDINAL_POSITION int(10) unsigned NO 0
POSITION_IN_UNIQUE_CONSTRAINT int(10) unsigned YES NULL
REFERENCED_TABLE_SCHEMA varchar(64) YES NULL
REFERENCED_TABLE_NAME varchar(64) YES NULL
REFERENCED_COLUMN_NAME varchar(64) YES NULL
SELECT constraint_catalog, constraint_schema, constraint_name, table_catalog,
table_schema, table_name, column_name
FROM information_schema.key_column_usage
WHERE (constraint_catalog IS NOT NULL OR table_catalog IS NOT NULL) AND
table_name != 'ndb_binlog_index'
ORDER BY constraint_name, table_name, column_name;
constraint_catalog constraint_schema constraint_name table_catalog table_schema table_name column_name
def performance_schema ACCOUNT def performance_schema accounts HOST
def performance_schema ACCOUNT def performance_schema accounts USER
def performance_schema ACCOUNT def performance_schema events_errors_summary_by_account_by_error ERROR_NUMBER
def performance_schema ACCOUNT def performance_schema events_errors_summary_by_account_by_error HOST
def performance_schema ACCOUNT def performance_schema events_errors_summary_by_account_by_error USER
def performance_schema ACCOUNT def performance_schema events_stages_summary_by_account_by_event_name EVENT_NAME
def performance_schema ACCOUNT def performance_schema events_stages_summary_by_account_by_event_name HOST
def performance_schema ACCOUNT def performance_schema events_stages_summary_by_account_by_event_name USER
def performance_schema ACCOUNT def performance_schema events_statements_summary_by_account_by_event_name EVENT_NAME
def performance_schema ACCOUNT def performance_schema events_statements_summary_by_account_by_event_name HOST
def performance_schema ACCOUNT def performance_schema events_statements_summary_by_account_by_event_name USER
def performance_schema ACCOUNT def performance_schema events_transactions_summary_by_account_by_event_name EVENT_NAME
def performance_schema ACCOUNT def performance_schema events_transactions_summary_by_account_by_event_name HOST
def performance_schema ACCOUNT def performance_schema events_transactions_summary_by_account_by_event_name USER
def performance_schema ACCOUNT def performance_schema events_waits_summary_by_account_by_event_name EVENT_NAME
def performance_schema ACCOUNT def performance_schema events_waits_summary_by_account_by_event_name HOST
def performance_schema ACCOUNT def performance_schema events_waits_summary_by_account_by_event_name USER
def performance_schema ACCOUNT def performance_schema memory_summary_by_account_by_event_name EVENT_NAME
def performance_schema ACCOUNT def performance_schema memory_summary_by_account_by_event_name HOST
def performance_schema ACCOUNT def performance_schema memory_summary_by_account_by_event_name USER
def performance_schema ACCOUNT def performance_schema status_by_account HOST
def performance_schema ACCOUNT def performance_schema status_by_account USER
def performance_schema ACCOUNT def performance_schema status_by_account VARIABLE_NAME
def performance_schema ERROR_NUMBER def performance_schema events_errors_summary_global_by_error ERROR_NUMBER
def performance_schema HOST def performance_schema events_errors_summary_by_host_by_error ERROR_NUMBER
def performance_schema HOST def performance_schema events_errors_summary_by_host_by_error HOST
def performance_schema HOST def performance_schema events_stages_summary_by_host_by_event_name EVENT_NAME
def performance_schema HOST def performance_schema events_stages_summary_by_host_by_event_name HOST
def performance_schema HOST def performance_schema events_statements_summary_by_host_by_event_name EVENT_NAME
def performance_schema HOST def performance_schema events_statements_summary_by_host_by_event_name HOST
def performance_schema HOST def performance_schema events_transactions_summary_by_host_by_event_name EVENT_NAME
def performance_schema HOST def performance_schema events_transactions_summary_by_host_by_event_name HOST
def performance_schema HOST def performance_schema events_waits_summary_by_host_by_event_name EVENT_NAME
def performance_schema HOST def performance_schema events_waits_summary_by_host_by_event_name HOST
def performance_schema HOST def performance_schema hosts HOST
def performance_schema HOST def performance_schema memory_summary_by_host_by_event_name EVENT_NAME
def performance_schema HOST def performance_schema memory_summary_by_host_by_event_name HOST
def performance_schema HOST def performance_schema status_by_host HOST
def performance_schema HOST def performance_schema status_by_host VARIABLE_NAME
def mysql name def mysql help_category name
def mysql name def mysql help_keyword name
def mysql name def mysql help_topic name
def performance_schema OBJECT def performance_schema objects_summary_global_by_type OBJECT_NAME
def performance_schema OBJECT def performance_schema objects_summary_global_by_type OBJECT_SCHEMA
def performance_schema OBJECT def performance_schema objects_summary_global_by_type OBJECT_TYPE
def performance_schema OBJECT def performance_schema setup_objects OBJECT_NAME
def performance_schema OBJECT def performance_schema setup_objects OBJECT_SCHEMA
def performance_schema OBJECT def performance_schema setup_objects OBJECT_TYPE
def performance_schema OBJECT def performance_schema table_io_waits_summary_by_index_usage INDEX_NAME
def performance_schema OBJECT def performance_schema table_io_waits_summary_by_index_usage OBJECT_NAME
def performance_schema OBJECT def performance_schema table_io_waits_summary_by_index_usage OBJECT_SCHEMA
def performance_schema OBJECT def performance_schema table_io_waits_summary_by_index_usage OBJECT_TYPE
def performance_schema OBJECT def performance_schema table_io_waits_summary_by_table OBJECT_NAME
def performance_schema OBJECT def performance_schema table_io_waits_summary_by_table OBJECT_SCHEMA
def performance_schema OBJECT def performance_schema table_io_waits_summary_by_table OBJECT_TYPE
def performance_schema OBJECT def performance_schema table_lock_waits_summary_by_table OBJECT_NAME
def performance_schema OBJECT def performance_schema table_lock_waits_summary_by_table OBJECT_SCHEMA
def performance_schema OBJECT def performance_schema table_lock_waits_summary_by_table OBJECT_TYPE
def performance_schema OWNER_THREAD_ID def performance_schema prepared_statements_instances OWNER_EVENT_ID
def performance_schema OWNER_THREAD_ID def performance_schema prepared_statements_instances OWNER_THREAD_ID
def mysql PRIMARY def mysql columns_priv Column_name
def mysql PRIMARY def mysql columns_priv Db
def mysql PRIMARY def mysql columns_priv Host
def mysql PRIMARY def mysql columns_priv Table_name
def mysql PRIMARY def mysql columns_priv User
def mysql PRIMARY def mysql component component_id
def mysql PRIMARY def mysql concurrency_control Id
def performance_schema PRIMARY def performance_schema cond_instances OBJECT_INSTANCE_BEGIN
def mysql PRIMARY def mysql consensus_info number_of_lines
def performance_schema PRIMARY def performance_schema data_locks ENGINE
def performance_schema PRIMARY def performance_schema data_locks ENGINE_LOCK_ID
def mysql PRIMARY def mysql db Db
def mysql PRIMARY def mysql db Host
def mysql PRIMARY def mysql db User
def mysql PRIMARY def mysql default_roles DEFAULT_ROLE_HOST
def mysql PRIMARY def mysql default_roles DEFAULT_ROLE_USER
def mysql PRIMARY def mysql default_roles HOST
def mysql PRIMARY def mysql default_roles USER
def mysql PRIMARY def mysql engine_cost cost_name
def mysql PRIMARY def mysql engine_cost device_type
def mysql PRIMARY def mysql engine_cost engine_name
def performance_schema PRIMARY def performance_schema events_stages_current EVENT_ID
def performance_schema PRIMARY def performance_schema events_stages_current THREAD_ID
def performance_schema PRIMARY def performance_schema events_stages_history EVENT_ID
def performance_schema PRIMARY def performance_schema events_stages_history THREAD_ID
def performance_schema PRIMARY def performance_schema events_stages_summary_by_thread_by_event_name EVENT_NAME
def performance_schema PRIMARY def performance_schema events_stages_summary_by_thread_by_event_name THREAD_ID
def performance_schema PRIMARY def performance_schema events_stages_summary_global_by_event_name EVENT_NAME
def performance_schema PRIMARY def performance_schema events_statements_current EVENT_ID
def performance_schema PRIMARY def performance_schema events_statements_current THREAD_ID
def performance_schema PRIMARY def performance_schema events_statements_histogram_global BUCKET_NUMBER
def performance_schema PRIMARY def performance_schema events_statements_history EVENT_ID
def performance_schema PRIMARY def performance_schema events_statements_history THREAD_ID
def performance_schema PRIMARY def performance_schema events_statements_summary_by_program OBJECT_NAME
def performance_schema PRIMARY def performance_schema events_statements_summary_by_program OBJECT_SCHEMA
def performance_schema PRIMARY def performance_schema events_statements_summary_by_program OBJECT_TYPE
def performance_schema PRIMARY def performance_schema events_statements_summary_by_thread_by_event_name EVENT_NAME
def performance_schema PRIMARY def performance_schema events_statements_summary_by_thread_by_event_name THREAD_ID
def performance_schema PRIMARY def performance_schema events_statements_summary_global_by_event_name EVENT_NAME
def performance_schema PRIMARY def performance_schema events_transactions_current EVENT_ID
def performance_schema PRIMARY def performance_schema events_transactions_current THREAD_ID
def performance_schema PRIMARY def performance_schema events_transactions_history EVENT_ID
def performance_schema PRIMARY def performance_schema events_transactions_history THREAD_ID
def performance_schema PRIMARY def performance_schema events_transactions_summary_by_thread_by_event_name EVENT_NAME
def performance_schema PRIMARY def performance_schema events_transactions_summary_by_thread_by_event_name THREAD_ID
def performance_schema PRIMARY def performance_schema events_transactions_summary_global_by_event_name EVENT_NAME
def performance_schema PRIMARY def performance_schema events_waits_current EVENT_ID
def performance_schema PRIMARY def performance_schema events_waits_current THREAD_ID
def performance_schema PRIMARY def performance_schema events_waits_history EVENT_ID
def performance_schema PRIMARY def performance_schema events_waits_history THREAD_ID
def performance_schema PRIMARY def performance_schema events_waits_summary_by_instance OBJECT_INSTANCE_BEGIN
def performance_schema PRIMARY def performance_schema events_waits_summary_by_thread_by_event_name EVENT_NAME
def performance_schema PRIMARY def performance_schema events_waits_summary_by_thread_by_event_name THREAD_ID
def performance_schema PRIMARY def performance_schema events_waits_summary_global_by_event_name EVENT_NAME
def performance_schema PRIMARY def performance_schema file_instances FILE_NAME
def performance_schema PRIMARY def performance_schema file_summary_by_event_name EVENT_NAME
def performance_schema PRIMARY def performance_schema file_summary_by_instance OBJECT_INSTANCE_BEGIN
def mysql PRIMARY def mysql func name
def mysql PRIMARY def mysql global_grants HOST
def mysql PRIMARY def mysql global_grants PRIV
def mysql PRIMARY def mysql global_grants USER
def performance_schema PRIMARY def performance_schema global_status VARIABLE_NAME
def performance_schema PRIMARY def performance_schema global_variables VARIABLE_NAME
def mysql PRIMARY def mysql gtid_executed interval_start
def mysql PRIMARY def mysql gtid_executed source_uuid
def mysql PRIMARY def mysql help_category help_category_id
def mysql PRIMARY def mysql help_keyword help_keyword_id
def mysql PRIMARY def mysql help_relation help_keyword_id
def mysql PRIMARY def mysql help_relation help_topic_id
def mysql PRIMARY def mysql help_topic help_topic_id
def performance_schema PRIMARY def performance_schema host_cache IP
def mysql PRIMARY def mysql innodb_flashback_snapshot scn
def mysql PRIMARY def mysql innodb_index_stats database_name
def mysql PRIMARY def mysql innodb_index_stats index_name
def mysql PRIMARY def mysql innodb_index_stats stat_name
def mysql PRIMARY def mysql innodb_index_stats table_name
def mysql PRIMARY def mysql innodb_table_stats database_name
def mysql PRIMARY def mysql innodb_table_stats table_name
def performance_schema PRIMARY def performance_schema memory_summary_by_thread_by_event_name EVENT_NAME
def performance_schema PRIMARY def performance_schema memory_summary_by_thread_by_event_name THREAD_ID
def performance_schema PRIMARY def performance_schema memory_summary_global_by_event_name EVENT_NAME
def performance_schema PRIMARY def performance_schema metadata_locks OBJECT_INSTANCE_BEGIN
def performance_schema PRIMARY def performance_schema mutex_instances OBJECT_INSTANCE_BEGIN
def mysql PRIMARY def mysql outline Id
def mysql PRIMARY def mysql password_history Host
def mysql PRIMARY def mysql password_history Password_timestamp
def mysql PRIMARY def mysql password_history User
def performance_schema PRIMARY def performance_schema persisted_variables VARIABLE_NAME
def mysql PRIMARY def mysql plugin name
def performance_schema PRIMARY def performance_schema prepared_statements_instances OBJECT_INSTANCE_BEGIN
def mysql PRIMARY def mysql procs_priv Db
def mysql PRIMARY def mysql procs_priv Host
def mysql PRIMARY def mysql procs_priv Routine_name
def mysql PRIMARY def mysql procs_priv Routine_type
def mysql PRIMARY def mysql procs_priv User
def mysql PRIMARY def mysql proxies_priv Host
def mysql PRIMARY def mysql proxies_priv Proxied_host
def mysql PRIMARY def mysql proxies_priv Proxied_user
def mysql PRIMARY def mysql proxies_priv User
def performance_schema PRIMARY def performance_schema replication_applier_configuration CHANNEL_NAME
def performance_schema PRIMARY def performance_schema replication_applier_status CHANNEL_NAME
def performance_schema PRIMARY def performance_schema replication_applier_status_by_coordinator CHANNEL_NAME
def performance_schema PRIMARY def performance_schema replication_applier_status_by_worker CHANNEL_NAME
def performance_schema PRIMARY def performance_schema replication_applier_status_by_worker WORKER_ID
def performance_schema PRIMARY def performance_schema replication_connection_configuration CHANNEL_NAME
def performance_schema PRIMARY def performance_schema replication_connection_status CHANNEL_NAME
def mysql PRIMARY def mysql role_edges FROM_HOST
def mysql PRIMARY def mysql role_edges FROM_USER
def mysql PRIMARY def mysql role_edges TO_HOST
def mysql PRIMARY def mysql role_edges TO_USER
def performance_schema PRIMARY def performance_schema rwlock_instances OBJECT_INSTANCE_BEGIN
def mysql PRIMARY def mysql server_cost cost_name
def mysql PRIMARY def mysql servers Server_name
def performance_schema PRIMARY def performance_schema session_account_connect_attrs ATTR_NAME
def performance_schema PRIMARY def performance_schema session_account_connect_attrs PROCESSLIST_ID
def performance_schema PRIMARY def performance_schema session_connect_attrs ATTR_NAME
def performance_schema PRIMARY def performance_schema session_connect_attrs PROCESSLIST_ID
def performance_schema PRIMARY def performance_schema session_status VARIABLE_NAME
def performance_schema PRIMARY def performance_schema session_variables VARIABLE_NAME
def performance_schema PRIMARY def performance_schema setup_actors HOST
def performance_schema PRIMARY def performance_schema setup_actors ROLE
def performance_schema PRIMARY def performance_schema setup_actors USER
def performance_schema PRIMARY def performance_schema setup_consumers NAME
def performance_schema PRIMARY def performance_schema setup_instruments NAME
def performance_schema PRIMARY def performance_schema setup_threads NAME
def mysql PRIMARY def mysql slave_master_info Channel_name
def mysql PRIMARY def mysql slave_relay_log_info Channel_name
def mysql PRIMARY def mysql slave_worker_info Channel_name
def mysql PRIMARY def mysql slave_worker_info Id
def performance_schema PRIMARY def performance_schema socket_instances OBJECT_INSTANCE_BEGIN
def performance_schema PRIMARY def performance_schema socket_summary_by_event_name EVENT_NAME
def performance_schema PRIMARY def performance_schema socket_summary_by_instance OBJECT_INSTANCE_BEGIN
def performance_schema PRIMARY def performance_schema status_by_thread THREAD_ID
def performance_schema PRIMARY def performance_schema status_by_thread VARIABLE_NAME
def sys PRIMARY def sys sys_config variable
def performance_schema PRIMARY def performance_schema table_handles OBJECT_INSTANCE_BEGIN
def mysql PRIMARY def mysql tables_priv Db
def mysql PRIMARY def mysql tables_priv Host
def mysql PRIMARY def mysql tables_priv Table_name
def mysql PRIMARY def mysql tables_priv User
def performance_schema PRIMARY def performance_schema threads THREAD_ID
def mysql PRIMARY def mysql time_zone Time_zone_id
def mysql PRIMARY def mysql time_zone_leap_second Transition_time
def mysql PRIMARY def mysql time_zone_name Name
def mysql PRIMARY def mysql time_zone_transition Time_zone_id
def mysql PRIMARY def mysql time_zone_transition Transition_time
def mysql PRIMARY def mysql time_zone_transition_type Time_zone_id
def mysql PRIMARY def mysql time_zone_transition_type Transition_type_id
def mysql PRIMARY def mysql user Host
def mysql PRIMARY def mysql user User
def performance_schema PRIMARY def performance_schema user_defined_functions UDF_NAME
def performance_schema PRIMARY def performance_schema user_variables_by_thread THREAD_ID
def performance_schema PRIMARY def performance_schema user_variables_by_thread VARIABLE_NAME
def performance_schema PRIMARY def performance_schema variables_by_thread THREAD_ID
def performance_schema PRIMARY def performance_schema variables_by_thread VARIABLE_NAME
def performance_schema SCHEMA_NAME def performance_schema events_statements_histogram_by_digest BUCKET_NUMBER
def performance_schema SCHEMA_NAME def performance_schema events_statements_histogram_by_digest DIGEST
def performance_schema SCHEMA_NAME def performance_schema events_statements_histogram_by_digest SCHEMA_NAME
def performance_schema SCHEMA_NAME def performance_schema events_statements_summary_by_digest DIGEST
def performance_schema SCHEMA_NAME def performance_schema events_statements_summary_by_digest SCHEMA_NAME
def performance_schema SCHEMA_NAME def performance_schema events_statements_summary_by_digest_supplement DIGEST
def performance_schema SCHEMA_NAME def performance_schema events_statements_summary_by_digest_supplement SCHEMA_NAME
def performance_schema THREAD_ID def performance_schema events_errors_summary_by_thread_by_error ERROR_NUMBER
def performance_schema THREAD_ID def performance_schema events_errors_summary_by_thread_by_error THREAD_ID
def performance_schema USER def performance_schema events_errors_summary_by_user_by_error ERROR_NUMBER
def performance_schema USER def performance_schema events_errors_summary_by_user_by_error USER
def performance_schema USER def performance_schema events_stages_summary_by_user_by_event_name EVENT_NAME
def performance_schema USER def performance_schema events_stages_summary_by_user_by_event_name USER
def performance_schema USER def performance_schema events_statements_summary_by_user_by_event_name EVENT_NAME
def performance_schema USER def performance_schema events_statements_summary_by_user_by_event_name USER
def performance_schema USER def performance_schema events_transactions_summary_by_user_by_event_name EVENT_NAME
def performance_schema USER def performance_schema events_transactions_summary_by_user_by_event_name USER
def performance_schema USER def performance_schema events_waits_summary_by_user_by_event_name EVENT_NAME
def performance_schema USER def performance_schema events_waits_summary_by_user_by_event_name USER
def performance_schema USER def performance_schema memory_summary_by_user_by_event_name EVENT_NAME
def performance_schema USER def performance_schema memory_summary_by_user_by_event_name USER
def performance_schema USER def performance_schema status_by_user USER
def performance_schema USER def performance_schema status_by_user VARIABLE_NAME
def performance_schema USER def performance_schema users USER
########################################################################################
# Testcase 3.2.7.2 + 3.2.7.3: INFORMATION_SCHEMA.KEY_COLUMN_USAGE accessible information
########################################################################################
DROP DATABASE IF EXISTS db_datadict;
CREATE DATABASE db_datadict;
DROP USER 'testuser1'@'localhost';
CREATE USER 'testuser1'@'localhost';
DROP USER 'testuser2'@'localhost';
CREATE USER 'testuser2'@'localhost';
USE db_datadict;
CREATE TABLE t1_1
(f1 INT NOT NULL, PRIMARY KEY(f1),
f2 INT, INDEX f2_ind(f2))
ENGINE = <engine_type>;
GRANT SELECT ON t1_1 to 'testuser1'@'localhost';
CREATE TABLE t1_2
(f1 INT NOT NULL, PRIMARY KEY(f1),
f2 INT, INDEX f2_ind(f2))
ENGINE = <engine_type>;
GRANT SELECT ON t1_2 to 'testuser2'@'localhost';
SELECT * FROM information_schema.key_column_usage
WHERE table_name LIKE 't1_%'
ORDER BY constraint_catalog, constraint_schema, constraint_name,
table_catalog, table_schema, table_name, ordinal_position;
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
def db_datadict PRIMARY def db_datadict t1_1 f1 1 NULL NULL NULL NULL
def db_datadict PRIMARY def db_datadict t1_2 f1 1 NULL NULL NULL NULL
# Establish connection testuser1 (user=testuser1)
SELECT * FROM information_schema.key_column_usage
WHERE table_name LIKE 't1_%'
ORDER BY constraint_catalog, constraint_schema, constraint_name,
table_catalog, table_schema, table_name, ordinal_position;
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
def db_datadict PRIMARY def db_datadict t1_1 f1 1 NULL NULL NULL NULL
# Establish connection testuser2 (user=testuser2)
SELECT * FROM information_schema.key_column_usage
WHERE table_name LIKE 't1_%'
ORDER BY constraint_catalog, constraint_schema, constraint_name,
table_catalog, table_schema, table_name, ordinal_position;
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
def db_datadict PRIMARY def db_datadict t1_2 f1 1 NULL NULL NULL NULL
# Switch to connection default and close connections testuser1, testuser2
DROP USER 'testuser1'@'localhost';
DROP USER 'testuser2'@'localhost';
DROP TABLE t1_1;
DROP TABLE t1_2;
DROP DATABASE IF EXISTS db_datadict;
########################################################################################
# Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.KEY_COLUMN_USAGE modifications
########################################################################################
DROP DATABASE IF EXISTS db_datadict;
DROP TABLE IF EXISTS test.t1_my_table;
CREATE DATABASE db_datadict;
SELECT table_name FROM information_schema.key_column_usage
WHERE table_name LIKE 't1_my_table%';
table_name
CREATE TABLE test.t1_my_table
(f1 CHAR(12), f2 TIMESTAMP, f4 BIGINT, PRIMARY KEY(f1,f2))
DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
ENGINE = <engine_type>;
SELECT * FROM information_schema.key_column_usage
WHERE table_name = 't1_my_table' ORDER BY column_name;
CONSTRAINT_CATALOG def
CONSTRAINT_SCHEMA test
CONSTRAINT_NAME PRIMARY
TABLE_CATALOG def
TABLE_SCHEMA test
TABLE_NAME t1_my_table
COLUMN_NAME f1
ORDINAL_POSITION #
POSITION_IN_UNIQUE_CONSTRAINT NULL
REFERENCED_TABLE_SCHEMA NULL
REFERENCED_TABLE_NAME NULL
REFERENCED_COLUMN_NAME NULL
CONSTRAINT_CATALOG def
CONSTRAINT_SCHEMA test
CONSTRAINT_NAME PRIMARY
TABLE_CATALOG def
TABLE_SCHEMA test
TABLE_NAME t1_my_table
COLUMN_NAME f2
ORDINAL_POSITION #
POSITION_IN_UNIQUE_CONSTRAINT NULL
REFERENCED_TABLE_SCHEMA NULL
REFERENCED_TABLE_NAME NULL
REFERENCED_COLUMN_NAME NULL
SELECT DISTINCT table_name FROM information_schema.key_column_usage
WHERE table_name LIKE 't1_my_table%';
table_name
t1_my_table
RENAME TABLE test.t1_my_table TO test.t1_my_tablex;
SELECT DISTINCT table_name FROM information_schema.key_column_usage
WHERE table_name LIKE 't1_my_table%';
table_name
t1_my_tablex
SELECT DISTINCT table_schema,table_name FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex';
table_schema table_name
test t1_my_tablex
RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex;
SELECT DISTINCT table_schema,table_name FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex';
table_schema table_name
db_datadict t1_my_tablex
SELECT DISTINCT table_name, column_name FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex'
ORDER BY table_name, column_name;
table_name column_name
t1_my_tablex f1
t1_my_tablex f2
ALTER TABLE db_datadict.t1_my_tablex CHANGE COLUMN f1 first_col CHAR(12);
SELECT DISTINCT table_name, column_name FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex'
ORDER BY table_name, column_name;
table_name column_name
t1_my_tablex f2
t1_my_tablex first_col
SELECT constraint_schema, constraint_name, table_schema,
table_name, column_name, ordinal_position
FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex'
ORDER BY constraint_schema, constraint_name, table_schema,
table_name, ordinal_position;
constraint_schema constraint_name table_schema table_name column_name ordinal_position
db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
db_datadict PRIMARY db_datadict t1_my_tablex f2 2
CREATE INDEX f2 ON db_datadict.t1_my_tablex(f2);
SELECT constraint_schema, constraint_name, table_schema,
table_name, column_name, ordinal_position
FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex'
ORDER BY constraint_schema, constraint_name, table_schema,
table_name, ordinal_position;
constraint_schema constraint_name table_schema table_name column_name ordinal_position
db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
db_datadict PRIMARY db_datadict t1_my_tablex f2 2
DROP INDEX f2 ON db_datadict.t1_my_tablex;
SELECT constraint_schema, constraint_name, table_schema,
table_name, column_name, ordinal_position
FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex'
ORDER BY constraint_schema, constraint_name, table_schema,
table_name, ordinal_position;
constraint_schema constraint_name table_schema table_name column_name ordinal_position
db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
db_datadict PRIMARY db_datadict t1_my_tablex f2 2
ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE (f2);
SELECT constraint_schema, constraint_name, table_schema,
table_name, column_name, ordinal_position
FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex'
ORDER BY constraint_schema, constraint_name, table_schema,
table_name, ordinal_position;
constraint_schema constraint_name table_schema table_name column_name ordinal_position
db_datadict f2 db_datadict t1_my_tablex f2 1
db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
db_datadict PRIMARY db_datadict t1_my_tablex f2 2
DROP INDEX f2 ON db_datadict.t1_my_tablex;
SELECT constraint_schema, constraint_name, table_schema,
table_name, column_name, ordinal_position
FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex'
ORDER BY constraint_schema, constraint_name, table_schema,
table_name, ordinal_position;
constraint_schema constraint_name table_schema table_name column_name ordinal_position
db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
db_datadict PRIMARY db_datadict t1_my_tablex f2 2
ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f2);
SELECT constraint_schema, constraint_name, table_schema,
table_name, column_name, ordinal_position
FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex'
ORDER BY constraint_schema, constraint_name, table_schema,
table_name, ordinal_position;
constraint_schema constraint_name table_schema table_name column_name ordinal_position
db_datadict my_idx db_datadict t1_my_tablex f2 1
db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
db_datadict PRIMARY db_datadict t1_my_tablex f2 2
DROP INDEX my_idx ON db_datadict.t1_my_tablex;
SELECT constraint_schema, constraint_name, table_schema,
table_name, column_name, ordinal_position
FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex'
ORDER BY constraint_schema, constraint_name, table_schema,
table_name, ordinal_position;
constraint_schema constraint_name table_schema table_name column_name ordinal_position
db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
db_datadict PRIMARY db_datadict t1_my_tablex f2 2
ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f4,first_col);
SELECT constraint_schema, constraint_name, table_schema,
table_name, column_name, ordinal_position
FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex'
ORDER BY constraint_schema, constraint_name, table_schema,
table_name, ordinal_position;
constraint_schema constraint_name table_schema table_name column_name ordinal_position
db_datadict my_idx db_datadict t1_my_tablex f4 1
db_datadict my_idx db_datadict t1_my_tablex first_col 2
db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
db_datadict PRIMARY db_datadict t1_my_tablex f2 2
SELECT constraint_schema, constraint_name, table_schema,
table_name, column_name, ordinal_position
FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex'
ORDER BY constraint_schema, constraint_name, table_schema,
table_name, ordinal_position;
constraint_schema constraint_name table_schema table_name column_name ordinal_position
db_datadict my_idx db_datadict t1_my_tablex f4 1
db_datadict my_idx db_datadict t1_my_tablex first_col 2
db_datadict PRIMARY db_datadict t1_my_tablex first_col 1
db_datadict PRIMARY db_datadict t1_my_tablex f2 2
ALTER TABLE db_datadict.t1_my_tablex
DROP COLUMN first_col;
SELECT constraint_schema, constraint_name, table_schema,
table_name, column_name, ordinal_position
FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex'
ORDER BY constraint_schema, constraint_name, table_schema,
table_name, ordinal_position;
constraint_schema constraint_name table_schema table_name column_name ordinal_position
db_datadict my_idx db_datadict t1_my_tablex f4 1
db_datadict PRIMARY db_datadict t1_my_tablex f2 1
SELECT table_name, column_name
FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex'
ORDER BY table_name, column_name;
table_name column_name
t1_my_tablex f2
t1_my_tablex f4
DROP TABLE db_datadict.t1_my_tablex;
SELECT table_name, column_name
FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex';
table_name column_name
SELECT table_name FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex';
table_name
CREATE TABLE db_datadict.t1_my_tablex
ENGINE = <engine_type> AS
SELECT 1 AS f1;
SELECT table_name FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex';
table_name
ALTER TABLE db_datadict.t1_my_tablex ADD PRIMARY KEY(f1);
SELECT table_name FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex';
table_name
t1_my_tablex
SELECT table_name FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex';
table_name
t1_my_tablex
DROP DATABASE db_datadict;
SELECT table_name FROM information_schema.key_column_usage
WHERE table_name = 't1_my_tablex';
table_name
########################################################################
# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and
# DDL on INFORMATION_SCHEMA table are not supported
########################################################################
DROP DATABASE IF EXISTS db_datadict;
DROP TABLE IF EXISTS db_datadict.t1;
CREATE DATABASE db_datadict;
CREATE TABLE db_datadict.t1 (f1 BIGINT)
ENGINE = <engine_type>;
INSERT INTO information_schema.key_column_usage
(constraint_schema, constraint_name, table_name)
VALUES ( 'mysql', 'primary', 'db');
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
INSERT INTO information_schema.key_column_usage
SELECT * FROM information_schema.key_column_usage;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
UPDATE information_schema.key_column_usage
SET table_name = 'db1' WHERE constraint_name = 'primary';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DELETE FROM information_schema.key_column_usage WHERE table_name = 't1';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
TRUNCATE information_schema.key_column_usage;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE INDEX i3 ON information_schema.key_column_usage(table_name);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
ALTER TABLE information_schema.key_column_usage ADD f1 INT;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DROP TABLE information_schema.key_column_usage;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
ALTER TABLE information_schema.key_column_usage
RENAME db_datadict.key_column_usage;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
ALTER TABLE information_schema.key_column_usage
RENAME information_schema.xkey_column_usage;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DROP TABLE db_datadict.t1;
DROP DATABASE db_datadict;