You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Miguel Lamy (JIRA)" <ji...@apache.org> on 2016/05/31 18:27:13 UTC
[jira] [Created] (DRILL-4700) physical plan in multiple Unions with
jdbc storage with derived without alias
Miguel Lamy created DRILL-4700:
----------------------------------
Summary: physical plan in multiple Unions with jdbc storage with derived without alias
Key: DRILL-4700
URL: https://issues.apache.org/jira/browse/DRILL-4700
Project: Apache Drill
Issue Type: Bug
Components: SQL Parser, Storage - JDBC
Affects Versions: 1.6.0
Reporter: Miguel Lamy
The problem occurs when there is more than one union in the query using jdbc storage.
This query works:
0: jdbc:drill:zk=local> select 0 a from (values(1))
. . . . . . . . . . . > union all
. . . . . . . . . . . > select 1 a from (values(1))
. . . . . . . . . . . > union all
. . . . . . . . . . . > select 2 a from (values(1));
+----+
| a |
+----+
| 0 |
| 1 |
| 2 |
+----+
This query using mysql storage or mssql storage doesn't work:
0: jdbc:drill:zk=local> select 0 as ChvOutTerc from ProcessarReceita procrec0
. . . . . . . . . . . > union all
. . . . . . . . . . . > select 1 as ChvOutTerc from ProcessarReceita procrec1
. . . . . . . . . . . > union all
. . . . . . . . . . . > select 2 as ChvOutTerc from ProcessarReceita procrec2;
Error: DATA_READ ERROR: The JDBC storage plugin failed while trying setup the SQL query.
sql SELECT *
FROM (SELECT 0 AS "ChvOutTerc"
FROM "dbo"."ProcessarReceita"
UNION ALL
SELECT 1 AS "ChvOutTerc"
FROM "dbo"."ProcessarReceita")
UNION ALL
SELECT 2 AS "ChvOutTerc"
FROM "dbo"."ProcessarReceita"
plugin siag_enidh
Fragment 0:0
[Error Id: f3afa6ce-895c-4aa3-bfda-b769e4795ae1 on hefesto.siag.pt:31010] (state=,code=0)
Changing the physical plan to include an alias on derived table and then executing that physical plan works without problem:
SELECT *
FROM (SELECT 0 AS "ChvOutTerc"
FROM "dbo"."ProcessarReceita"
UNION ALL
SELECT 1 AS "ChvOutTerc"
FROM "dbo"."ProcessarReceita") mytable
UNION ALL
SELECT 2 AS "ChvOutTerc"
FROM "dbo"."ProcessarReceita"
Also tested with 1.7.0-SNAPSHOT (20160531) with the same results.
Results with just one union:
0: jdbc:drill:zk=local> select 0 as ChvOutTerc from ProcessarReceita procrec0
. . . . . . . . . . . > union all
. . . . . . . . . . . > select 1 as ChvOutTerc from ProcessarReceita procrec1 limit 3;
+-------------+
| ChvOutTerc |
+-------------+
| 0 |
| 0 |
| 0 |
+-------------+
3 rows selected (0.708 seconds)
0: jdbc:drill:zk=local> select 1 as ChvOutTerc from ProcessarReceita procrec1
. . . . . . . . . . . > union all
. . . . . . . . . . . > select 2 as ChvOutTerc from ProcessarReceita procrec2 limit 3;
+-------------+
| ChvOutTerc |
+-------------+
| 1 |
| 1 |
| 1 |
+-------------+
3 rows selected (0.449 seconds)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)