You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Victoria Markman (JIRA)" <ji...@apache.org> on 2015/10/06 01:18:26 UTC
[jira] [Commented] (DRILL-2746) Filter is not pushed into subquery
past UNION ALL
[ https://issues.apache.org/jira/browse/DRILL-2746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14944231#comment-14944231 ]
Victoria Markman commented on DRILL-2746:
-----------------------------------------
Sean,
I think this fix was rolled back because it was causing regression: https://issues.apache.org/jira/browse/DRILL-3257
With 1.2.0
#Mon Oct 05 19:59:48 UTC 2015
git.commit.id.abbrev=27a5abc
{code}
0: jdbc:drill:schema=dfs> explain plan for select * from (select a1, b1, c1 from t1 union all select a2, b2, c2 from t2 ) where a1 = 10;
+------+------+
| text | json |
+------+------+
| 00-00 Screen
00-01 Project(a1=[$0], b1=[$1], c1=[$2])
00-02 SelectionVectorRemover
00-03 Filter(condition=[=($0, 10)])
00-04 UnionAll(all=[true])
00-06 Project(a1=[$2], b1=[$1], c1=[$0])
00-08 Scan(groupscan=[ParquetGroupScan [entries=[ReadEntryWithPath [path=maprfs:/drill/testdata/subqueries/t1/0_0_0.parquet]], selectionRoot=maprfs:/drill/testdata/subqueries/t1, numFiles=1, usedMetadataFile=false, columns=[`a1`, `b1`, `c1`]]])
00-05 Project(a2=[$1], b2=[$0], c2=[$2])
00-07 Scan(groupscan=[ParquetGroupScan [entries=[ReadEntryWithPath [path=maprfs:/drill/testdata/subqueries/t2/0_0_0.parquet]], selectionRoot=maprfs:/drill/testdata/subqueries/t2, numFiles=1, usedMetadataFile=false, columns=[`a2`, `b2`, `c2`]]])
{code}
> Filter is not pushed into subquery past UNION ALL
> -------------------------------------------------
>
> Key: DRILL-2746
> URL: https://issues.apache.org/jira/browse/DRILL-2746
> Project: Apache Drill
> Issue Type: Improvement
> Components: Query Planning & Optimization
> Affects Versions: 0.9.0
> Reporter: Victoria Markman
> Assignee: Sean Hsuan-Yi Chu
> Fix For: 1.1.0
>
>
> I expected to see filter pushed to at least left side of UNION ALL, instead it is applied after UNION ALL
> {code}
> 0: jdbc:drill:schema=dfs> explain plan for select * from (select a1, b1, c1 from t1 union all select a2, b2, c2 from t2 ) where a1 = 10;
> +------------+------------+
> | text | json |
> +------------+------------+
> | 00-00 Screen
> 00-01 Project(a1=[$0], b1=[$1], c1=[$2])
> 00-02 SelectionVectorRemover
> 00-03 Filter(condition=[=($0, 10)])
> 00-04 UnionAll(all=[true])
> 00-06 Project(a1=[$2], b1=[$1], c1=[$0])
> 00-08 Scan(groupscan=[ParquetGroupScan [entries=[ReadEntryWithPath [path=maprfs:/drill/testdata/predicates/t1]], selectionRoot=/drill/testdata/predicates/t1, numFiles=1, columns=[`a1`, `b1`, `c1`]]])
> 00-05 Project(a2=[$1], b2=[$0], c2=[$2])
> 00-07 Scan(groupscan=[ParquetGroupScan [entries=[ReadEntryWithPath [path=maprfs:/drill/testdata/predicates/t2]], selectionRoot=/drill/testdata/predicates/t2, numFiles=1, columns=[`a2`, `b2`, `c2`]]])
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)