Bug #64088 | no select works against a view created with limit (x) | ||
---|---|---|---|
Submitted: | 20 Jan 2012 19:18 | Modified: | 20 Jan 2012 19:33 |
Reporter: | Alex Didenko | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: DML | Severity: | S1 (Critical) |
Version: | all | OS: | Linux |
Assigned to: | CPU Architecture: | Any | |
Tags: | limit, VIEW |
[20 Jan 2012 19:18]
Alex Didenko
[20 Jan 2012 19:33]
Valeriy Kravchuk
For me everything looks correct and expected: macbook-pro:5.5 openxs$ bin/mysql -uroot test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 28 Server version: 5.5.20-debug-log Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> CREATE TABLE `Table1` ( -> `col1` char(12) NOT NULL, -> `col2` int(10) unsigned DEFAULT NULL, -> `col3` int(10) unsigned DEFAULT NULL, -> PRIMARY KEY (`col1`) -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1 -> ; Query OK, 0 rows affected (0.28 sec) mysql> insert into `Table1`(col1) values ('fifth'), ('fourth'), ('third'), ('second'), ('first'); Query OK, 5 rows affected (0.11 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> select * from Table1; +--------+------+------+ | col1 | col2 | col3 | +--------+------+------+ | fifth | NULL | NULL | | first | NULL | NULL | | fourth | NULL | NULL | | second | NULL | NULL | | third | NULL | NULL | +--------+------+------+ 5 rows in set (0.04 sec) mysql> select col1 from Table1 limit 1; +-------+ | col1 | +-------+ | fifth | +-------+ 1 row in set (0.03 sec) mysql> create view myview as select col1 from Table1 limit 1; Query OK, 0 rows affected (0.20 sec) mysql> select * from myview; +-------+ | col1 | +-------+ | fifth | +-------+ 1 row in set (0.20 sec) mysql> select * from myview where col1 = 'third'; Empty set (0.10 sec) So, where absurd starts?
[20 Jan 2012 19:58]
MySQL Verification Team
shouldn't merge algorithm be able to do this? http://dev.mysql.com/doc/refman/5.5/en/view-algorithms.html it seems so, but can't, because limit is used in the view :( "MERGE cannot be used if the view contains any of the following constructs: ... LIMIT "