Details
Description
I am use INFORMATION_SCHEMA for speedup getting database definition
And I found yet another problem:
Demonstration:
CREATE TABLE `test` ( `a` MEDIUMTEXT, `b` MEDIUMTEXT ) ENGINE=MYISAM DEFAULT CHARSET=utf8; CREATE VIEW `view_test` AS (SELECT * FROM test); SELECT `TABLE_NAME` ,`TABLE_NAME` ,`VIEW_DEFINITION` FROM `information_schema`.`VIEWS` IS_V WHERE IS_V.`TABLE_SCHEMA`='test' AND IS_V.table_name = 'view_test'
TABLE_NAME TABLE_NAME VIEW_DEFINITION ---------- ---------- ------------------------------------------------------------------------------- view_test view_test (SELECT `test`.`test`.`a` AS `a`,`test`.`test`.`b` AS `b` FROM `test`.`test`)
SHOW CREATE VIEW `view_test`
VIEW CREATE VIEW character_set_client collation_connection --------- ------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- ---------------------- view_test CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `view_test` AS (SELECT `test`.`a` AS `a`,`test`.`b` AS `b` FROM `test`) utf8 utf8_general_ci
As you can see when I get SQL definition with "SHOW CREATE VIEW" I get body without database `test` as expected. When I get definition from INFORMATION SCHEMA I have definition with database `test`. If I will use this SQL code for create view in different database I would have problems.
Gliffy Diagrams
Attachments
Issue Links
- relates to
-
MDEV-6731 No ALGORITHM information in I_S.VIEWS
-
- Closed
-
- links to
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
It's an upstream issue present in all active versions (5.1-5.7). Did you try to report it at bugs.mysql.com? It's our usual routine.
It might well be already reported there, but I can't find it.
Note: There are other problems which I suppose might not allow using I_S.VIEWS to re-create a view, e.g. there seems to be no ALGORITHM clause in there, does it not concern you? There used to be a bug about it http://bugs.mysql.com/bug.php?id=16832 which is said to be fixed in an ancient 5.0 version, but I still can't see ALGORITHM in current servers, so it might be broken again.