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

600 lines
31 KiB
Plaintext

SHOW DATABASES LIKE 'information_schema';
Database (information_schema)
information_schema
#######################################################################
# Testcase 3.2.1.20: USE INFORMATION_SCHEMA is supported
#######################################################################
# Switch to connection default
USE test;
SELECT DATABASE();
DATABASE()
test
USE information_schema;
SELECT DATABASE();
DATABASE()
information_schema
DROP USER 'testuser1'@'localhost';
CREATE USER 'testuser1'@'localhost';
# Establish connection testuser1 (user=testuser1)
SELECT DATABASE();
DATABASE()
test
USE information_schema;
SELECT DATABASE();
DATABASE()
information_schema
# Switch to connection default and close connection testuser1
DROP USER 'testuser1'@'localhost';
#######################################################################
# Testcase TBD1: The INFORMATION_SCHEMA cannot be dropped.
#######################################################################
DROP DATABASE information_schema;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
#######################################################################
# Testcase TBD2: There cannot be a second database INFORMATION_SCHEMA.
#######################################################################
CREATE DATABASE information_schema;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
##################################################################################
# Testcase 3.2.1.6+3.2.1.7: No user may create an INFORMATION_SCHEMA table or view
##################################################################################
# Switch to connection default (user=root)
USE information_schema;
CREATE TABLE schemata ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE tables ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE columns ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE character_sets ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE collations ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE collation_character_set_applicability ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE routines ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE statistics ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE views ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE user_privileges ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE schema_privileges ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE table_privileges ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE column_privileges ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE table_constraints ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE key_column_usage ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE triggers ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE t1 (f1 INT, f2 INT, f3 INT);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE VIEW tables AS SELECT 'garbage';
ERROR 42S01: Table 'tables' already exists
CREATE VIEW tables AS SELECT * FROM information_schema.tables;
ERROR 42S02: Table 'information_schema.TABLES' doesn't exist
CREATE VIEW v1 AS SELECT 'garbage';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
USE test;
CREATE TABLE information_schema. schemata ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. tables ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. columns ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. character_sets ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. collations ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. routines ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. statistics ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. views ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. user_privileges ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. schema_privileges ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. table_privileges ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. column_privileges ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. table_constraints ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. key_column_usage ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. triggers ( c1 INT );
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE TABLE information_schema.t1 (f1 INT, f2 INT, f3 INT);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE VIEW information_schema.tables AS SELECT 'garbage';
ERROR 42S01: Table 'tables' already exists
CREATE VIEW information_schema.tables AS
SELECT * FROM information_schema.tables;
ERROR 42S02: Table 'information_schema.TABLES' doesn't exist
CREATE VIEW information_schema.v1 AS SELECT 'garbage';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DROP USER 'testuser1'@'localhost';
CREATE USER 'testuser1'@'localhost';
GRANT ALL ON *.* TO testuser1@localhost;
SHOW GRANTS FOR testuser1@localhost;
Grants for testuser1@localhost
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `testuser1`@`localhost`
GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,GROUP_REPLICATION_ADMIN,INNODB_REDO_LOG_ARCHIVE,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* TO `testuser1`@`localhost`
# Establish connection testuser1 (user=testuser1)
USE information_schema;
CREATE TABLE schemata ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE tables ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE columns ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE character_sets ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE collations ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE collation_character_set_applicability ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE routines ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE statistics ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE views ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE user_privileges ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE schema_privileges ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE table_privileges ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE column_privileges ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE table_constraints ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE key_column_usage ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE triggers ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE t1 (f1 INT, f2 INT, f3 INT);
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE VIEW tables AS SELECT 'garbage';
ERROR 42S01: Table 'tables' already exists
CREATE VIEW tables AS SELECT * FROM information_schema.tables;
ERROR 42S02: Table 'information_schema.TABLES' doesn't exist
CREATE VIEW v1 AS SELECT 'garbage';
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
USE test;
CREATE TABLE information_schema. schemata ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. tables ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. columns ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. character_sets ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. collations ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. routines ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. statistics ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. views ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. user_privileges ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. schema_privileges ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. table_privileges ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. column_privileges ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. table_constraints ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. key_column_usage ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema. triggers ( c1 INT );
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE TABLE information_schema.t1 (f1 INT, f2 INT, f3 INT);
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
CREATE VIEW information_schema.tables AS SELECT 'garbage';
ERROR 42S01: Table 'tables' already exists
CREATE VIEW information_schema.tables AS
SELECT * FROM information_schema.tables;
ERROR 42S02: Table 'information_schema.TABLES' doesn't exist
CREATE VIEW information_schema.v1 AS SELECT 'garbage';
ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema'
# Switch to connection default (user=root) and close connection testuser1
DROP USER 'testuser1'@'localhost';
###############################################################################
# Testcase 3.2.1.1+3.2.1.2: INFORMATION_SCHEMA tables can be queried via SELECT
###############################################################################
DROP DATABASE IF EXISTS db_datadict;
CREATE DATABASE db_datadict;
CREATE TABLE db_datadict.t1_first (f1 BIGINT UNIQUE, f2 BIGINT)
ENGINE = <some_engine>;
CREATE TABLE db_datadict.t1_second (f1 BIGINT UNIQUE, f2 BIGINT)
ENGINE = <some_engine>;
# Attention: The protocolling of the next result set is disabled.
SELECT * FROM information_schema.tables;
SELECT table_name FROM information_schema.tables
WHERE table_schema = 'db_datadict';
TABLE_NAME
t1_first
t1_second
SELECT LENGTH(table_name) FROM information_schema.tables
WHERE table_schema = 'db_datadict' ORDER BY table_name;
LENGTH(table_name)
8
9
SELECT count(table_name) FROM information_schema.tables
WHERE table_schema LIKE 'db_datadic%';
count(table_name)
2
SELECT CAST((LENGTH(table_schema) + LENGTH(table_name)) AS DECIMAL(15,1))
FROM information_schema.tables
WHERE table_schema = 'db_datadict';
CAST((LENGTH(table_schema) + LENGTH(table_name)) AS DECIMAL(15,1))
19.0
20.0
SELECT table_name FROM information_schema.tables
WHERE table_name IN ('t1_first','t1_second') ORDER BY table_name LIMIT 1;
TABLE_NAME
t1_first
SELECT table_name FROM information_schema.tables
WHERE table_name IN ('t1_first','t1_second') ORDER BY table_name LIMIT 1,1;
TABLE_NAME
t1_second
SELECT table_name,table_schema AS my_col FROM information_schema.tables
WHERE table_name = 't1_first' AND table_schema = 'db_datadict';
TABLE_NAME my_col
t1_first db_datadict
SELECT HIGH_PRIORITY table_name AS my_col FROM information_schema.tables
WHERE table_name = 't1_first' OR table_name = 't1_second';
my_col
t1_first
t1_second
SELECT 1 AS my_col FROM information_schema.tables
WHERE table_name = 't1_third';
my_col
SELECT table_name,table_schema INTO @table_name,@table_schema
FROM information_schema.tables
WHERE table_schema = 'db_datadict' ORDER BY table_name LIMIT 1;
SELECT @table_name,@table_schema;
@table_name @table_schema
t1_first db_datadict
SELECT table_name,table_schema
INTO OUTFILE '<OUTFILE>'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM information_schema.tables
WHERE table_schema = 'db_datadict' ORDER BY table_name;
"t1_first","db_datadict"
"t1_second","db_datadict"
SELECT table_name FROM information_schema.tables
WHERE table_name = 't1_first'
UNION ALL
SELECT table_name FROM information_schema.tables
WHERE table_name = 't1_second';
TABLE_NAME
t1_first
t1_second
SELECT DISTINCT table_schema FROM information_schema.tables
WHERE table_name IN (SELECT table_name FROM information_schema.tables
WHERE table_schema = 'db_datadict')
ORDER BY table_name;
TABLE_SCHEMA
db_datadict
SELECT table_name FROM information_schema.tables t1
LEFT JOIN information_schema.tables t2 USING(table_name,table_schema)
WHERE t2.table_schema = 'db_datadict'
ORDER BY table_name;
TABLE_NAME
t1_first
t1_second
USE test;
SELECT * FROM tables;
ERROR 42S02: Table 'test.tables' doesn't exist
#########################################################################
# Testcase 3.2.1.17+3.2.1.18
#########################################################################
DROP DATABASE IF EXISTS db_datadict;
CREATE DATABASE db_datadict;
CREATE TABLE db_datadict.t1 (f1 BIGINT UNIQUE, f2 BIGINT)
ENGINE = <some_engine>;
SELECT * FROM db_datadict.t1;
f1 f2
DROP USER 'testuser1'@'localhost';
CREATE USER 'testuser1'@'localhost';
DROP USER 'testuser2'@'localhost';
CREATE USER 'testuser2'@'localhost';
GRANT CREATE VIEW,SELECT ON db_datadict.* TO testuser1@localhost
WITH GRANT OPTION;
GRANT USAGE ON db_datadict.* TO testuser2@localhost;
FLUSH PRIVILEGES;
GRANT SELECT on information_schema.* TO testuser1@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
# Establish connection testuser1 (user=testuser1)
SELECT table_schema,table_name FROM information_schema.tables
WHERE table_schema = 'information_schema' AND table_name = 'TABLES';
TABLE_SCHEMA TABLE_NAME
information_schema TABLES
SELECT * FROM information_schema.table_privileges
WHERE table_schema = 'information_schema';
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
SELECT * FROM information_schema.schema_privileges
WHERE table_schema = 'information_schema';
GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE
CREATE VIEW db_datadict.v2 AS
SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
FROM information_schema.tables WHERE table_schema = 'db_datadict';
SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
FROM db_datadict.v2;
TABLE_SCHEMA TABLE_NAME TABLE_TYPE
db_datadict t1 BASE TABLE
db_datadict v2 VIEW
SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
FROM information_schema.tables WHERE table_schema = 'db_datadict';
TABLE_SCHEMA TABLE_NAME TABLE_TYPE
db_datadict t1 BASE TABLE
db_datadict v2 VIEW
GRANT SELECT ON db_datadict.v2 to testuser2@localhost;
# Establish connection testuser2 (user=testuser2)
SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
FROM db_datadict.v2;
TABLE_SCHEMA TABLE_NAME TABLE_TYPE
db_datadict v2 VIEW
SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
FROM information_schema.tables WHERE table_schema = 'db_datadict';
TABLE_SCHEMA TABLE_NAME TABLE_TYPE
db_datadict v2 VIEW
# Switch to connection default and close connections testuser1 and testuser2
DROP USER 'testuser1'@'localhost';
DROP USER 'testuser2'@'localhost';
DROP DATABASE db_datadict;
#########################################################################
# Testcase 3.2.1.19
#########################################################################
DROP USER 'testuser1'@'localhost';
CREATE USER 'testuser1'@'localhost';
SELECT 'empty result set was expected' AS my_col
FROM information_schema.schema_privileges
WHERE table_schema = 'information_schema';
my_col
SELECT 'empty result set was expected' AS my_col
FROM information_schema.table_privileges
WHERE table_schema = 'information_schema';
my_col
SELECT 'empty result set was expected' AS my_col
FROM information_schema.column_privileges
WHERE table_schema = 'information_schema';
my_col
GRANT ALTER ON information_schema.*
TO 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
GRANT ALTER ROUTINE ON information_schema.*
TO 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
GRANT CREATE ON information_schema.*
TO 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
GRANT CREATE ROUTINE ON information_schema.*
TO 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
GRANT CREATE TEMPORARY TABLES ON information_schema.*
TO 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
GRANT DELETE ON information_schema.*
TO 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
GRANT DROP ON information_schema.*
TO 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
GRANT EXECUTE ON information_schema.*
TO 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
GRANT INDEX ON information_schema.*
TO 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
GRANT INSERT ON information_schema.*
TO 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
GRANT LOCK TABLES ON information_schema.*
TO 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
GRANT UPDATE ON information_schema.*
TO 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
SELECT 'empty result set was expected' AS my_col
FROM information_schema.schema_privileges
WHERE table_schema = 'information_schema';
my_col
SELECT 'empty result set was expected' AS my_col
FROM information_schema.table_privileges
WHERE table_schema = 'information_schema';
my_col
SELECT 'empty result set was expected' AS my_col
FROM information_schema.column_privileges
WHERE table_schema = 'information_schema';
my_col
DROP USER 'testuser1'@'localhost';
#########################################################################
# Testcase 3.2.1.16
#########################################################################
SELECT DISTINCT table_schema FROM information_schema.columns
WHERE table_schema LIKE 'db_data%';
TABLE_SCHEMA
SELECT DISTINCT table_schema FROM information_schema.column_privileges
WHERE table_schema LIKE 'db_data%';
table_schema
SELECT DISTINCT constraint_schema,table_schema
FROM information_schema.key_column_usage
WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
constraint_schema table_schema
SELECT DISTINCT routine_schema FROM information_schema.routines
WHERE routine_schema LIKE 'db_data%';
ROUTINE_SCHEMA
SELECT DISTINCT schema_name FROM information_schema.schemata
WHERE schema_name LIKE 'db_data%';
SCHEMA_NAME
SELECT DISTINCT table_schema FROM information_schema.schema_privileges
WHERE table_schema LIKE 'db_data%';
table_schema
SELECT DISTINCT table_schema,index_schema FROM information_schema.statistics
WHERE table_schema LIKE 'db_data%' OR index_schema LIKE 'db_data%';
TABLE_SCHEMA INDEX_SCHEMA
SELECT DISTINCT table_schema FROM information_schema.tables
WHERE table_schema LIKE 'db_data%';
TABLE_SCHEMA
SELECT DISTINCT constraint_schema,table_schema
FROM information_schema.table_constraints
WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
constraint_schema table_schema
SELECT DISTINCT table_schema FROM information_schema.table_privileges
WHERE table_schema LIKE 'db_data%';
table_schema
SELECT DISTINCT trigger_schema,event_object_schema
FROM information_schema.triggers
WHERE trigger_schema LIKE 'db_data%' OR event_object_schema LIKE 'db_data%';
TRIGGER_SCHEMA EVENT_OBJECT_SCHEMA
SELECT DISTINCT table_schema FROM information_schema.views
WHERE table_schema LIKE 'db_data%';
TABLE_SCHEMA
DROP DATABASE IF EXISTS db_datadict;
CREATE DATABASE db_datadict;
CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT NOT NULL, f3 BIGINT,
PRIMARY KEY(f1))
ENGINE = <some_engine>;
CREATE UNIQUE INDEX UIDX ON db_datadict.t1(f3);
CREATE PROCEDURE db_datadict.sproc1() SELECT 'db_datadict';
CREATE FUNCTION db_datadict.func1() RETURNS INT RETURN 0;
CREATE TRIGGER db_datadict.trig1 BEFORE INSERT ON db_datadict.t1
FOR EACH ROW SET @aux = 1;
CREATE VIEW db_datadict.v1 AS SELECT * FROM db_datadict.t1;
CREATE VIEW db_datadict.v2 AS SELECT * FROM information_schema.tables;
SELECT DISTINCT table_schema FROM information_schema.columns
WHERE table_schema LIKE 'db_data%';
TABLE_SCHEMA
db_datadict
SELECT DISTINCT table_schema FROM information_schema.column_privileges
WHERE table_schema LIKE 'db_data%';
table_schema
SELECT DISTINCT constraint_schema,table_schema
FROM information_schema.key_column_usage
WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
constraint_schema table_schema
db_datadict db_datadict
SELECT DISTINCT routine_schema FROM information_schema.routines
WHERE routine_schema LIKE 'db_data%';
ROUTINE_SCHEMA
db_datadict
SELECT DISTINCT schema_name FROM information_schema.schemata
WHERE schema_name LIKE 'db_data%';
SCHEMA_NAME
db_datadict
SELECT DISTINCT table_schema FROM information_schema.schema_privileges
WHERE table_schema LIKE 'db_data%';
table_schema
SELECT DISTINCT table_schema,index_schema FROM information_schema.statistics
WHERE table_schema LIKE 'db_data%' OR index_schema LIKE 'db_data%';
TABLE_SCHEMA INDEX_SCHEMA
db_datadict db_datadict
SELECT DISTINCT table_schema FROM information_schema.tables
WHERE table_schema LIKE 'db_data%';
TABLE_SCHEMA
db_datadict
SELECT DISTINCT constraint_schema,table_schema
FROM information_schema.table_constraints
WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
constraint_schema table_schema
db_datadict db_datadict
SELECT DISTINCT table_schema FROM information_schema.table_privileges
WHERE table_schema LIKE 'db_data%';
table_schema
SELECT DISTINCT trigger_schema,event_object_schema
FROM information_schema.triggers
WHERE trigger_schema LIKE 'db_data%' OR event_object_schema LIKE 'db_data%';
TRIGGER_SCHEMA EVENT_OBJECT_SCHEMA
db_datadict db_datadict
SELECT DISTINCT table_schema FROM information_schema.views
WHERE table_schema LIKE 'db_data%';
TABLE_SCHEMA
db_datadict
DROP USER 'testuser1'@'localhost';
CREATE USER 'testuser1'@'localhost';
GRANT ALL ON test.* TO 'testuser1'@'localhost';
# Establish connection testuser1 (user=testuser1)
SELECT DISTINCT table_schema FROM information_schema.columns
WHERE table_schema LIKE 'db_data%';
TABLE_SCHEMA
SELECT DISTINCT table_schema FROM information_schema.column_privileges
WHERE table_schema LIKE 'db_data%';
table_schema
SELECT DISTINCT constraint_schema,table_schema
FROM information_schema.key_column_usage
WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
constraint_schema table_schema
SELECT DISTINCT routine_schema FROM information_schema.routines
WHERE routine_schema LIKE 'db_data%';
ROUTINE_SCHEMA
SELECT DISTINCT schema_name FROM information_schema.schemata
WHERE schema_name LIKE 'db_data%';
SCHEMA_NAME
SELECT DISTINCT table_schema FROM information_schema.schema_privileges
WHERE table_schema LIKE 'db_data%';
table_schema
SELECT DISTINCT table_schema,index_schema FROM information_schema.statistics
WHERE table_schema LIKE 'db_data%' OR index_schema LIKE 'db_data%';
TABLE_SCHEMA INDEX_SCHEMA
SELECT DISTINCT table_schema FROM information_schema.tables
WHERE table_schema LIKE 'db_data%';
TABLE_SCHEMA
SELECT DISTINCT constraint_schema,table_schema
FROM information_schema.table_constraints
WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
constraint_schema table_schema
SELECT DISTINCT table_schema FROM information_schema.table_privileges
WHERE table_schema LIKE 'db_data%';
table_schema
SELECT DISTINCT trigger_schema,event_object_schema
FROM information_schema.triggers
WHERE trigger_schema LIKE 'db_data%' OR event_object_schema LIKE 'db_data%';
TRIGGER_SCHEMA EVENT_OBJECT_SCHEMA
SELECT DISTINCT table_schema FROM information_schema.views
WHERE table_schema LIKE 'db_data%';
TABLE_SCHEMA
# Switch to connection default and close connections testuser1 and testuser2
DROP USER 'testuser1'@'localhost';
DROP DATABASE db_datadict;
########################################################################
# 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 PROCEDURE IF EXISTS test.p1;
CREATE PROCEDURE test.p1()
INSERT INTO information_schema.tables
SELECT * FROM information_schema.tables LIMIT 1;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
CREATE PROCEDURE test.p1()
UPDATE information_schema.columns SET table_schema = 'garbage';
CALL test.p1();
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DROP PROCEDURE test.p1;
CREATE PROCEDURE test.p1()
DELETE FROM information_schema.schemata;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
#########################################################################
# Testcase 3.2.17.1+3.2.17.2: To be implemented outside of this script
#########################################################################