| Bug #16832 | ALGORITHM missing from "information_schema.views" | ||
|---|---|---|---|
| Submitted: | 27 Jan 2006 9:56 | Modified: | 23 Jul 2006 4:10 | 
| Reporter: | Magnus Blåudd | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Information schema | Severity: | S3 (Non-critical) | 
| Version: | 5.0 | OS: | Any (All) | 
| Assigned to: | Alexey Botchkov | CPU Architecture: | Any | 
   [27 Jan 2006 9:56]
   Magnus Blåudd        
  
 
   [27 Jan 2006 11:42]
   MySQL Verification Team        
  Thank you for the bug report.
   [8 Feb 2006 13:40]
   Bugs System        
  A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/2317
   [13 Jun 2006 10:07]
   Bugs System        
  A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/7561
   [13 Jun 2006 10:18]
   Sergei Glukhov        
  ok to push
   [13 Jun 2006 12:05]
   Bugs System        
  A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/7564
   [23 Jul 2006 4:03]
   Paul DuBois        
  Noted in 5.0.25 changelog. The VIEW_DEFINITION column of the INFORMATION_SCHEMA VIEWS table now contains information about the view algorithm.
   [4 Jan 2015 22:22]
   Mikhail Gavrilov        
  CREATE TABLE `test` (
  `a` MEDIUMTEXT,
  `b` MEDIUMTEXT
) ENGINE=MYISAM DEFAULT CHARSET=utf8;
CREATE 
ALGORITHM = MERGE
VIEW `view_test2` AS
(SELECT * FROM test);
SELECT  *
FROM `information_schema`.`VIEWS` IS_V
	WHERE IS_V.`TABLE_SCHEMA`='test' AND IS_V.table_name IN('view_test2')
TABLE_CATALOG  TABLE_SCHEMA  TABLE_NAME  VIEW_DEFINITION                                                                CHECK_OPTION  IS_UPDATABLE  DEFINER         SECURITY_TYPE  CHARACTER_SET_CLIENT  COLLATION_CONNECTION  
-------------  ------------  ----------  -----------------------------------------------------------------------------  ------------  ------------  --------------  -------------  --------------------  ----------------------
def            test          view_test2  (select `test`.`test`.`a` AS `a`,`test`.`test`.`b` AS `b` from `test`.`test`)  NONE          YES           root@localhost  DEFINER        utf8                  utf8_general_ci       
Don't understand how to see view algorithm in VIEW_DEFINITION column of the INFORMATION_SCHEMA VIEWS table.
Seems bug it not fixed yet
SELECT VERSION()
version()  
-----------
5.6.21
 
   [12 Jan 2015 12:19]
   Magnus Blåudd        
  Information about which ALGORITHM to use for a particular view was added to the information_schema.VIEW_DEFINITION column in MySQL 5.0, since the ALGORITHM keyword is a MySQL extension it was output within "/* ALGORITHM= */" to make the generated SQL have valid standard SQL syntax. Later MySQL Version has removed the output of the ALGORITHM= keyword from information_schema.views. It's however possible to use SHOW CREATE VIEW as long as the sql_mode is not set to ANSI or a "foreign db". It's not likely an old bug will be resurrected. In my opinion you should file a new bug requesting a new column added to information_schema.views which should return the currently used ALGORITHM of the view. mysql> create table t1(a int); mysql> create algorithm=merge view v_merge(v1) as select * from t1; mysql> select * from information_schema.views; mysql> SHOW CREATE VIEW v_merge; # ALGORITHM= shows here! mysql> set sql_mode='ORACLE'; mysql> select * from information_schema.views; mysql> SHOW CREATE VIEW v_merge;
   [29 Nov 2016 14:30]
   Franc Drobnič        
  Still not fixed. Version 5.6.34.
