📄 is_views_embedded.result
字号:
SHOW TABLES FROM information_schema LIKE 'VIEWS';Tables_in_information_schema (VIEWS)VIEWS######################################################################## 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.VIEWS;CREATE PROCEDURE test.p1() SELECT * FROM information_schema.VIEWS;CREATE FUNCTION test.f1() returns BIGINTBEGINDECLARE counter BIGINT DEFAULT NULL;SELECT COUNT(*) INTO counter FROM information_schema.VIEWS;RETURN counter;END//# Attention: The printing of the next result sets is disabled.SELECT * FROM information_schema.VIEWS;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.13.1: INFORMATION_SCHEMA.VIEWS layout#########################################################################DESCRIBE information_schema.VIEWS;Field Type Null Key Default ExtraTABLE_CATALOG varchar(512) YES NULL TABLE_SCHEMA varchar(64) NO TABLE_NAME varchar(64) NO VIEW_DEFINITION longtext NO NULL CHECK_OPTION varchar(8) NO IS_UPDATABLE varchar(3) NO DEFINER varchar(77) NO SECURITY_TYPE varchar(7) NO SHOW CREATE TABLE information_schema.VIEWS;Table Create TableVIEWS CREATE TEMPORARY TABLE `VIEWS` ( `TABLE_CATALOG` varchar(512) default NULL, `TABLE_SCHEMA` varchar(64) NOT NULL default '', `TABLE_NAME` varchar(64) NOT NULL default '', `VIEW_DEFINITION` longtext NOT NULL, `CHECK_OPTION` varchar(8) NOT NULL default '', `IS_UPDATABLE` varchar(3) NOT NULL default '', `DEFINER` varchar(77) NOT NULL default '', `SECURITY_TYPE` varchar(7) NOT NULL default '') ENGINE=MyISAM DEFAULT CHARSET=utf8SHOW COLUMNS FROM information_schema.VIEWS;Field Type Null Key Default ExtraTABLE_CATALOG varchar(512) YES NULL TABLE_SCHEMA varchar(64) NO TABLE_NAME varchar(64) NO VIEW_DEFINITION longtext NO NULL CHECK_OPTION varchar(8) NO IS_UPDATABLE varchar(3) NO DEFINER varchar(77) NO SECURITY_TYPE varchar(7) NO SELECT table_catalog, table_schema, table_nameFROM information_schema.views WHERE table_catalog IS NOT NULL;table_catalog table_schema table_name################################################################################# Testcase 3.2.13.2 + 3.2.13.3: INFORMATION_SCHEMA.VIEWS 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';DROP USER 'test_no_views'@'localhost';CREATE USER 'test_no_views'@'localhost';CREATE TABLE db_datadict.t1(f1 INT, f2 INT, f3 INT)ENGINE = <engine_type>;CREATE VIEW db_datadict.v_granted_to_1 AS SELECT * FROM db_datadict.t1;CREATE VIEW db_datadict.v_granted_glob AS SELECT f2, f3 FROM db_datadict.t1;GRANT SELECT ON db_datadict.t1 TO 'testuser1'@'localhost';GRANT SELECT ON db_datadict.v_granted_to_1 TO 'testuser1'@'localhost';GRANT SHOW VIEW, CREATE VIEW ON db_datadict.* TO 'testuser2'@'localhost';SELECT * FROM information_schema.viewsWHERE table_schema = 'db_datadict' ORDER BY table_name;TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPENULL db_datadict v_granted_glob /* ALGORITHM=UNDEFINED */ select `db_datadict`.`t1`.`f2` AS `f2`,`db_datadict`.`t1`.`f3` AS `f3` from `db_datadict`.`t1` NONE YES root@localhost DEFINERNULL db_datadict v_granted_to_1 /* ALGORITHM=UNDEFINED */ select `db_datadict`.`t1`.`f1` AS `f1`,`db_datadict`.`t1`.`f2` AS `f2`,`db_datadict`.`t1`.`f3` AS `f3` from `db_datadict`.`t1` NONE YES root@localhost DEFINER# Establish connection testuser1 (user=testuser1)SELECT * FROM information_schema.viewsWHERE table_schema = 'db_datadict' ORDER BY table_name;TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPENULL db_datadict v_granted_glob NONE YES root@localhost DEFINERNULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER# Establish connection testuser2 (user=testuser2)SELECT * FROM information_schema.viewsWHERE table_schema = 'db_datadict' ORDER BY table_name;TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPENULL db_datadict v_granted_glob NONE YES root@localhost DEFINERNULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER# Establish connection test_no_views (user=test_no_views)SELECT * FROM information_schema.viewsWHERE table_schema = 'db_datadict' ORDER BY table_name;TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPENULL db_datadict v_granted_glob NONE YES root@localhost DEFINERNULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER# Switch to connection default and close all other connectionsDROP USER 'testuser1'@'localhost';DROP USER 'testuser2'@'localhost';DROP USER 'test_no_views'@'localhost';DROP DATABASE db_datadict;########################################################################## 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.VIEWS modifications#########################################################################DROP TABLE IF EXISTS test.t1_my_table;DROP DATABASE IF EXISTS db_datadict;CREATE DATABASE db_datadict;CREATE TABLE test.t1_table (f1 BIGINT, f2 CHAR(10))DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ciENGINE = <engine_type>;DROP USER 'testuser1'@'localhost';CREATE USER 'testuser1'@'localhost';SELECT * FROM information_schema.viewsWHERE table_name LIKE 't1_%';TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPECREATE VIEW test.t1_view AS SELECT DISTINCT f1 FROM test.t1_table;SELECT * FROM information_schema.viewsWHERE table_name LIKE 't1_%';TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPENULL test t1_view /* ALGORITHM=UNDEFINED */ select distinct `test`.`t1_table`.`f1` AS `f1` from `test`.`t1_table` NONE NO root@localhost DEFINERSELECT table_name,definer FROM information_schema.viewsWHERE table_name = 't1_view';table_name definert1_view root@localhostALTER DEFINER = 'testuser1'@'localhost' VIEW test.t1_view ASSELECT DISTINCT f1 FROM test.t1_table;SELECT table_name,definer,security_type FROM information_schema.viewsWHERE table_name LIKE 't1_%';table_name definer security_typet1_view testuser1@localhost DEFINERALTER DEFINER = 'root'@'localhost' SQL SECURITY INVOKER VIEW test.t1_view ASSELECT f1 FROM test.t1_table WITH LOCAL CHECK OPTION;SELECT table_name,definer,security_type FROM information_schema.viewsWHERE table_name LIKE 't1_%';table_name definer security_typet1_view root@localhost INVOKERSELECT table_schema,table_name FROM information_schema.viewsWHERE table_name LIKE 't1_%'ORDER BY table_schema,table_name;table_schema table_nametest t1_viewRENAME TABLE test.t1_view TO db_datadict.t1_view;ERROR HY000: Changing schema from 'test' to 'db_datadict' is not allowed.DROP VIEW test.t1_view;CREATE VIEW db_datadict.t1_view AS SELECT * FROM test.t1_table;SELECT table_schema,table_name FROM information_schema.viewsWHERE table_name LIKE 't1_%'ORDER BY table_schema,table_name;table_schema table_namedb_datadict t1_viewSELECT table_name FROM information_schema.viewsWHERE table_name LIKE 't1_%'ORDER BY table_name;table_namet1_viewRENAME TABLE db_datadict.t1_view TO db_datadict.t1_viewx;SELECT table_name FROM information_schema.viewsWHERE table_name LIKE 't1_%'ORDER BY table_name;table_namet1_viewxSELECT table_name FROM information_schema.viewsWHERE table_name LIKE 't1_%'ORDER BY table_name;table_namet1_viewxDROP VIEW db_datadict.t1_viewx;SELECT table_name FROM information_schema.viewsWHERE table_name LIKE 't1_%'ORDER BY table_name;table_nameCREATE VIEW db_datadict.t1_view AS SELECT * FROM test.t1_table;SELECT table_name FROM information_schema.viewsWHERE table_name LIKE 't1_%'ORDER BY table_name;table_namet1_viewDROP TABLE test.t1_table;SELECT table_name FROM information_schema.viewsWHERE table_name LIKE 't1_%'ORDER BY table_name;table_namet1_viewWarnings:Warning 1356 View 'db_datadict.t1_view' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use themCREATE TABLE test.t1_table (f1 BIGINT, f2 CHAR(10))DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci COMMENT = 'Initial Comment'ENGINE = <engine_type>;SELECT table_name FROM information_schema.viewsWHERE table_name LIKE 't1_%'ORDER BY table_name;table_namet1_viewDROP DATABASE db_datadict;SELECT table_name FROM information_schema.viewsWHERE table_name LIKE 't1_%'ORDER BY table_name;table_nameDROP USER 'testuser1'@'localhost';DROP TABLE test.t1_table;######################################################################### 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;CREATE DATABASE db_datadict;CREATE VIEW db_datadict.v1 AS SELECT 1;INSERT INTO information_schema.viewsSELECT * FROM information_schema.views;ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'INSERT INTO information_schema.views(table_schema, table_name)VALUES ('db2', 'v2');ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'UPDATE information_schema.views SET table_schema = 'test'WHERE table_name = 't1';ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'DELETE FROM information_schema.views WHERE table_name = 't1';ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'TRUNCATE information_schema.views;ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'CREATE INDEX my_idx_on_views ON information_schema.views(table_schema);ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'ALTER TABLE information_schema.views DROP PRIMARY KEY;ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'ALTER TABLE information_schema.views ADD f1 INT;ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'DROP TABLE information_schema.views;ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'ALTER TABLE information_schema.views RENAME db_datadict.views;ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'ALTER TABLE information_schema.views RENAME information_schema.xviews;ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'DROP DATABASE db_datadict;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -