Bug #65706 | SELECT statement used to create a view works, selecting from the view -> ER 1356 | ||
---|---|---|---|
Submitted: | 22 Jun 2012 7:42 | Modified: | 10 Jan 2013 12:16 |
Reporter: | Massimo Fierro | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: DML | Severity: | S1 (Critical) |
Version: | 5.5.24, 5.5.27, 5.1.65, 5.0.97 | OS: | Linux (Ubuntu 12.04) |
Assigned to: | CPU Architecture: | Any |
[22 Jun 2012 7:42]
Massimo Fierro
[22 Jun 2012 8:23]
Valeriy Kravchuk
Please, send the output of: show create view group_cache\G Maybe I'll get some idea about the reason even without downloading that software...
[22 Jun 2012 8:36]
Massimo Fierro
I tried as root, but I always get ERROR 1356 (HY000): View 'fud_test.group_cache' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
[22 Jun 2012 8:49]
Massimo Fierro
May it be that this behaviour is related to http://bugs.mysql.com/bug.php?id=21809 ?
[22 Jun 2012 16:17]
Sveta Smirnova
Thank you for the feedback. Unfortunately we can not say if two bugs are related if don't see view definition. But I assume it is like SELECT you provided in the initial description. Please send us dump of Fudforum database structure. For example, taken with mysqldump --nodata
[22 Jun 2012 22:56]
Massimo Fierro
The view was created as described i.e. CREATE VIEW group_cache AS (SELECT gm.user_id, gr.resource_id, 0 AS group_id, BIT_OR( gm.group_members_opt ) AS group_cache_opts FROM fud30_group_members gm INNER JOIN fud30_group_resources gr ON gr.group_id=gm.group_id WHERE ( gm.group_members_opt>=65536 ) AND ( gm.group_members_opt & 65536 ) > 0 AND ( gm.group_members_opt & 131072 ) GROUP BY user_id, resource_id, group_id) UNION (SELECT gm.user_id, gr.resource_id, 0 AS group_id, BIT_AND( gm.group_members_opt ) AS group_cache_opts FROM fud30_group_members AS gm INNER JOIN fud30_group_resources AS gr ON gr.group_id=gm.group_id WHERE ( gm.group_members_opt>=65536 ) AND ( gm.group_members_opt & 65536 ) > 0 GROUP BY user_id, resource_id, group_id); _____________________________________________________________________ mysqldump --no-data reports the following -- MySQL dump 10.13 Distrib 5.5.24, for debian-linux-gnu (i686) -- -- Host: localhost Database: fud_test -- ------------------------------------------------------ -- Server version 5.5.24-0ubuntu0.12.04.1 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; mysqldump: Couldn't execute 'show create table `group_cache`': View 'fud_test.group_cache' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them (1356)
[23 Jun 2012 0:39]
Massimo Fierro
fud_test DB without group_cache view
Attachment: fud_test.sql (text/x-sql), 46.55 KiB.
[23 Jun 2012 0:39]
Massimo Fierro
I have dropped the view and the rest of the DB looks like the contents of this file http://bugs.mysql.com/file.php?id=18632 (from mysqldump --no-data)
[26 Jun 2012 15:27]
Sveta Smirnova
Thank you for the feedback. This is fixed in version 5.6, but I still mark this as verified, because can not find bug # with the fix. This is not duplicate of bug #60295, since it still exists in 5.5, 5.1 and 5.0. In 5.0 SHOW CREATE VIEW does not fail with error though.
[10 Jan 2013 12:16]
Erlend Dahl
No longer repeatable on 5.6.