Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.2.12, 10.2(EOL)
-
None
-
Centos 7
Description
It works as a stand alone query, or in procedures, but failed in views.
This query worked:
select * from nation n ,region r where n.n_regionkey = r.r_regionkey and r.r_regionkey in (with t as (select * from region where r_regionkey <=3) select r_regionkey from t where r_name <> "ASIA"); |
This procedure worked:
DELIMITER //
|
CREATE PROCEDURE shownations () |
BEGIN
|
select * from nation n ,region r where n.n_regionkey = r.r_regionkey and r.r_regionkey in (with t as (select * from region where r_regionkey <=3) select r_regionkey from t where r_name <> "ASIA"); |
END // |
DELIMITER ;
|
|
call shownations;
|
This view did not work:
|
MariaDB [mytest]> create view v as select * from nation n ,region r where n.n_regionkey = r.r_regionkey and r.r_regionkey in (with t as (select * from region where r_regionkey <=3) select r_regionkey from t where r_name <> "ASIA");
|
Query OK, 0 rows affected (0.01 sec)
|
|
MariaDB [mytest]> select * from v;
|
ERROR 1356 (HY000): View 'mytest.v' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
|
Attachments
Issue Links
- blocks
-
MCOL-782 Non-recursive Common Table Expressions used in view caused an error
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Rank | Ranked higher |
Assignee | Alice Sherepa [ alice ] |
Description |
It works as a stand alone query, or in procedures, but failed in views.
This query worked: select * from nation n ,region r where n.n_regionkey = r.r_regionkey and r.r_regionkey in (with t as (select * from region where r_regionkey <=3) select r_regionkey from t where r_name <> "ASIA"); This procedure worked: DELIMITER // CREATE PROCEDURE shownations () BEGIN select * from nation n ,region r where n.n_regionkey = r.r_regionkey and r.r_regionkey in (with t as (select * from region where r_regionkey <=3) select r_regionkey from t where r_name <> "ASIA"); END // DELIMITER ; call shownations; This view did not work: MariaDB [mytest]> create view v as select * from nation n ,region r where n.n_regionkey = r.r_regionkey and r.r_regionkey in (with t as (select * from region where r_regionkey <=3) select r_regionkey from t where r_name <> "ASIA"); Query OK, 0 rows affected (0.01 sec) MariaDB [mytest]> select * from v; ERROR 1356 (HY000): View 'mytest.v' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them |
It works as a stand alone query, or in procedures, but failed in views.
This query worked: {code:sql} select * from nation n ,region r where n.n_regionkey = r.r_regionkey and r.r_regionkey in (with t as (select * from region where r_regionkey <=3) select r_regionkey from t where r_name <> "ASIA"); {code} This procedure worked: {code:sql} DELIMITER // CREATE PROCEDURE shownations () BEGIN select * from nation n ,region r where n.n_regionkey = r.r_regionkey and r.r_regionkey in (with t as (select * from region where r_regionkey <=3) select r_regionkey from t where r_name <> "ASIA"); END // DELIMITER ; call shownations; {code} This view did not work: {noformat} MariaDB [mytest]> create view v as select * from nation n ,region r where n.n_regionkey = r.r_regionkey and r.r_regionkey in (with t as (select * from region where r_regionkey <=3) select r_regionkey from t where r_name <> "ASIA"); Query OK, 0 rows affected (0.01 sec) MariaDB [mytest]> select * from v; ERROR 1356 (HY000): View 'mytest.v' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them {noformat} |
Status | Open [ 1 ] | Confirmed [ 10101 ] |
Fix Version/s | 10.2 [ 14601 ] |
Affects Version/s | 10.2 [ 14601 ] |
Assignee | Alice Sherepa [ alice ] | Galina Shalygina [ shagalla ] |
Assignee | Galina Shalygina [ shagalla ] | Igor Babaev [ igor ] |
Status | Confirmed [ 10101 ] | In Progress [ 3 ] |
issue.field.resolutiondate | 2018-01-19 02:57:43.0 | 2018-01-19 02:57:43.623 |
Fix Version/s | 10.2.13 [ 22910 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 84912 ] | MariaDB v4 [ 153580 ] |
MariaDB [test]> SELECT * FROM t1 WHERE t1.i1 IN (WITH tt AS (SELECT 1) SELECT * FROM tt);
Empty set (0.00 sec)
MariaDB [test]> CREATE VIEW v1 AS SELECT * FROM t1 WHERE t1.i1 IN (WITH tt AS (SELECT 1) SELECT * FROM tt);
Query OK, 0 rows affected (0.05 sec)
MariaDB [test]> SELECT * FROM v1;
ERROR 1356 (HY000): View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
Error (Code 1146): Table 'test.tt' doesn't exist