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			
EVENT_SCHEMA	varchar(64)	NO			
EVENT_NAME	varchar(64)	NO			
DEFINER	varchar(189)	NO			
TIME_ZONE	varchar(64)	NO			
EVENT_BODY	varchar(8)	NO			
EVENT_DEFINITION	longtext	NO		NULL	
EVENT_TYPE	varchar(9)	NO			
EXECUTE_AT	datetime	YES		NULL	
INTERVAL_VALUE	varchar(256)	YES		NULL	
INTERVAL_FIELD	varchar(18)	YES		NULL	
SQL_MODE	varchar(8192)	NO			
STARTS	datetime	YES		NULL	
ENDS	datetime	YES		NULL	
STATUS	varchar(18)	NO			
ON_COMPLETION	varchar(12)	NO			
CREATED	datetime	NO		0000-00-00 00:00:00	
LAST_ALTERED	datetime	NO		0000-00-00 00:00:00	
LAST_EXECUTED	datetime	YES		NULL	
EVENT_COMMENT	varchar(64)	NO			
ORIGINATOR	bigint(10)	NO		0	
CHARACTER_SET_CLIENT	varchar(32)	NO			
COLLATION_CONNECTION	varchar(32)	NO			
DATABASE_COLLATION	varchar(32)	NO			
SHOW CREATE TABLE information_schema.EVENTS;
Table	Create Table
EVENTS	CREATE TEMPORARY TABLE `EVENTS` (
  `EVENT_CATALOG` varchar(64) NOT NULL DEFAULT '',
  `EVENT_SCHEMA` varchar(64) NOT NULL DEFAULT '',
  `EVENT_NAME` varchar(64) NOT NULL DEFAULT '',
  `DEFINER` varchar(189) NOT NULL DEFAULT '',
  `TIME_ZONE` varchar(64) NOT NULL DEFAULT '',
  `EVENT_BODY` varchar(8) NOT NULL DEFAULT '',
  `EVENT_DEFINITION` longtext NOT NULL,
  `EVENT_TYPE` varchar(9) NOT NULL DEFAULT '',
  `EXECUTE_AT` datetime DEFAULT NULL,
  `INTERVAL_VALUE` varchar(256) DEFAULT NULL,
  `INTERVAL_FIELD` varchar(18) DEFAULT NULL,
  `SQL_MODE` varchar(8192) NOT NULL DEFAULT '',
  `STARTS` datetime DEFAULT NULL,
  `ENDS` datetime DEFAULT NULL,
  `STATUS` varchar(18) NOT NULL DEFAULT '',
  `ON_COMPLETION` varchar(12) NOT NULL DEFAULT '',
  `CREATED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `LAST_ALTERED` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `LAST_EXECUTED` datetime DEFAULT NULL,
  `EVENT_COMMENT` varchar(64) NOT NULL DEFAULT '',
  `ORIGINATOR` bigint(10) NOT NULL DEFAULT '0',
  `CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '',
  `COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT '',
  `DATABASE_COLLATION` varchar(32) NOT NULL DEFAULT ''
)  DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.EVENTS;
Field	Type	Null	Key	Default	Extra
EVENT_CATALOG	varchar(64)	NO			
EVENT_SCHEMA	varchar(64)	NO			
EVENT_NAME	varchar(64)	NO			
DEFINER	varchar(189)	NO			
TIME_ZONE	varchar(64)	NO			
EVENT_BODY	varchar(8)	NO			
EVENT_DEFINITION	longtext	NO		NULL	
EVENT_TYPE	varchar(9)	NO			
EXECUTE_AT	datetime	YES		NULL	
INTERVAL_VALUE	varchar(256)	YES		NULL	
INTERVAL_FIELD	varchar(18)	YES		NULL	
SQL_MODE	varchar(8192)	NO			
STARTS	datetime	YES		NULL	
ENDS	datetime	YES		NULL	
STATUS	varchar(18)	NO			
ON_COMPLETION	varchar(12)	NO			
CREATED	datetime	NO		0000-00-00 00:00:00	
LAST_ALTERED	datetime	NO		0000-00-00 00:00:00	
LAST_EXECUTED	datetime	YES		NULL	
EVENT_COMMENT	varchar(64)	NO			
ORIGINATOR	bigint(10)	NO		0	
CHARACTER_SET_CLIENT	varchar(32)	NO			
COLLATION_CONNECTION	varchar(32)	NO			
DATABASE_COLLATION	varchar(32)	NO			
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 = <engine_type>;
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';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
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;
