SHOW TABLES FROM information_schema LIKE 'EVENTS'; Tables_in_information_schema (EVENTS) EVENTS ####################################################################### # 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.EVENTS; CREATE PROCEDURE test.p1() SELECT * FROM information_schema.EVENTS; CREATE FUNCTION test.f1() returns BIGINT BEGIN DECLARE counter BIGINT DEFAULT NULL; SELECT COUNT(*) INTO counter FROM information_schema.EVENTS; RETURN counter; END// # Attention: The printing of the next result sets is disabled. SELECT * FROM information_schema.EVENTS; 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.12.1: INFORMATION_SCHEMA.EVENTS layout ######################################################################### DESCRIBE information_schema.EVENTS; Field Type Null Key Default Extra EVENT_CATALOG varchar(64) NO NULL EVENT_SCHEMA varchar(64) NO NULL EVENT_NAME varchar(64) NO NULL DEFINER varchar(384) NO NULL TIME_ZONE varchar(64) NO NULL EVENT_BODY varchar(8) NO NULL EVENT_DEFINITION longtext NO NULL EVENT_TYPE varchar(9) NO NULL EXECUTE_AT datetime YES NULL INTERVAL_VALUE varchar(256) YES NULL INTERVAL_FIELD varchar(18) YES NULL SQL_MODE varchar(8192) NO NULL STARTS datetime YES NULL ENDS datetime YES NULL STATUS varchar(18) NO NULL ON_COMPLETION varchar(12) NO NULL CREATED datetime NO NULL LAST_ALTERED datetime NO NULL LAST_EXECUTED datetime YES NULL EVENT_COMMENT varchar(64) NO NULL ORIGINATOR bigint(10) NO NULL CHARACTER_SET_CLIENT varchar(32) NO NULL COLLATION_CONNECTION varchar(64) NO NULL DATABASE_COLLATION varchar(64) NO NULL SHOW CREATE TABLE information_schema.EVENTS; Table Create Table EVENTS CREATE TEMPORARY TABLE `EVENTS` ( `EVENT_CATALOG` varchar(64) NOT NULL, `EVENT_SCHEMA` varchar(64) NOT NULL, `EVENT_NAME` varchar(64) NOT NULL, `DEFINER` varchar(384) NOT NULL, `TIME_ZONE` varchar(64) NOT NULL, `EVENT_BODY` varchar(8) NOT NULL, `EVENT_DEFINITION` longtext NOT NULL, `EVENT_TYPE` varchar(9) NOT NULL, `EXECUTE_AT` datetime, `INTERVAL_VALUE` varchar(256), `INTERVAL_FIELD` varchar(18), `SQL_MODE` varchar(8192) NOT NULL, `STARTS` datetime, `ENDS` datetime, `STATUS` varchar(18) NOT NULL, `ON_COMPLETION` varchar(12) NOT NULL, `CREATED` datetime NOT NULL, `LAST_ALTERED` datetime NOT NULL, `LAST_EXECUTED` datetime, `EVENT_COMMENT` varchar(64) NOT NULL, `ORIGINATOR` bigint(10) NOT NULL, `CHARACTER_SET_CLIENT` varchar(32) NOT NULL, `COLLATION_CONNECTION` varchar(64) NOT NULL, `DATABASE_COLLATION` varchar(64) NOT NULL ) DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci SHOW COLUMNS FROM information_schema.EVENTS; Field Type Null Key Default Extra EVENT_CATALOG varchar(64) NO NULL EVENT_SCHEMA varchar(64) NO NULL EVENT_NAME varchar(64) NO NULL DEFINER varchar(384) NO NULL TIME_ZONE varchar(64) NO NULL EVENT_BODY varchar(8) NO NULL EVENT_DEFINITION longtext NO NULL EVENT_TYPE varchar(9) NO NULL EXECUTE_AT datetime YES NULL INTERVAL_VALUE varchar(256) YES NULL INTERVAL_FIELD varchar(18) YES NULL SQL_MODE varchar(8192) NO NULL STARTS datetime YES NULL ENDS datetime YES NULL STATUS varchar(18) NO NULL ON_COMPLETION varchar(12) NO NULL CREATED datetime NO NULL LAST_ALTERED datetime NO NULL LAST_EXECUTED datetime YES NULL EVENT_COMMENT varchar(64) NO NULL ORIGINATOR bigint(10) NO NULL CHARACTER_SET_CLIENT varchar(32) NO NULL COLLATION_CONNECTION varchar(64) NO NULL DATABASE_COLLATION varchar(64) NO NULL SELECT event_catalog, event_name, event_body, event_type, event_type, status, on_completion FROM information_schema.events WHERE event_catalog IS NOT NULL or event_body NOT IN ('SQL') or event_type NOT IN ('ONE TIME','RECURRING') or status NOT IN ('ENABLED','DISABLED','SLAVESIDE_DISABLED') or on_completion NOT IN ('PRESERVE','NOT PRESERVE'); event_catalog event_name event_body event_type event_type status on_completion ######################################################################## # 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; CREATE TABLE db_datadict.t1 (f1 BIGINT) ENGINE = ; INSERT INTO information_schema.events SELECT * FROM information_schema.events; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' UPDATE information_schema.events SET event_name = '1234567' WHERE table_name = 't1'; Got one of the listed errors DELETE FROM information_schema.events WHERE event_catalog IS NULL; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' TRUNCATE information_schema.events; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' CREATE INDEX my_idx_on_events ON information_schema.events(event_name); ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' ALTER TABLE information_schema.events DROP PRIMARY KEY; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' ALTER TABLE information_schema.events ADD f1 INT; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' DROP TABLE information_schema.events; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' ALTER TABLE information_schema.events RENAME db_datadict.events; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' ALTER TABLE information_schema.events RENAME information_schema.xevents; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' DROP DATABASE db_datadict;