SHOW TABLES FROM information_schema LIKE 'CHARACTER_SETS'; Tables_in_information_schema (CHARACTER_SETS) CHARACTER_SETS ####################################################################### # 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.CHARACTER_SETS; CREATE PROCEDURE test.p1() SELECT * FROM information_schema.CHARACTER_SETS; CREATE FUNCTION test.f1() returns BIGINT BEGIN DECLARE counter BIGINT DEFAULT NULL; SELECT COUNT(*) INTO counter FROM information_schema.CHARACTER_SETS; RETURN counter; END// # Attention: The printing of the next result sets is disabled. SELECT * FROM information_schema.CHARACTER_SETS; 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.2.1: INFORMATION_SCHEMA.CHARACTER_SETS layout ######################################################################### DESCRIBE information_schema.CHARACTER_SETS; Field Type Null Key Default Extra CHARACTER_SET_NAME varchar(32) NO NULL DEFAULT_COLLATE_NAME varchar(64) NO NULL DESCRIPTION varchar(60) NO NULL MAXLEN bigint(3) NO NULL SHOW CREATE TABLE information_schema.CHARACTER_SETS; Table Create Table CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` ( `CHARACTER_SET_NAME` varchar(32) NOT NULL, `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL, `DESCRIPTION` varchar(60) NOT NULL, `MAXLEN` bigint(3) NOT NULL ) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci SHOW COLUMNS FROM information_schema.CHARACTER_SETS; Field Type Null Key Default Extra CHARACTER_SET_NAME varchar(32) NO NULL DEFAULT_COLLATE_NAME varchar(64) NO NULL DESCRIPTION varchar(60) NO NULL MAXLEN bigint(3) NO NULL # Testcases 3.2.2.2 and 3.2.2.3 are checked in suite/funcs_1/t/charset_collation*.test ######################################################################## # 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 tables are not supported ######################################################################## DROP DATABASE IF EXISTS db_datadict; CREATE DATABASE db_datadict; INSERT INTO information_schema.character_sets SELECT * FROM information_schema.character_sets; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' UPDATE information_schema.character_sets SET description = 'just updated'; Got one of the listed errors DELETE FROM information_schema.character_sets WHERE table_name = 't1'; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' TRUNCATE information_schema.character_sets; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' CREATE INDEX my_idx ON information_schema.character_sets(character_set_name); ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' ALTER TABLE information_schema.character_sets DROP PRIMARY KEY; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' ALTER TABLE information_schema.character_sets ADD f1 INT; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' DROP TABLE information_schema.character_sets; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' ALTER TABLE information_schema.character_sets RENAME db_datadict.character_sets; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' ALTER TABLE information_schema.character_sets RENAME information_schema.xcharacter_sets; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' DROP DATABASE db_datadict;