You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Jinfeng Ni (JIRA)" <ji...@apache.org> on 2015/07/02 20:33:04 UTC

[jira] [Commented] (DRILL-3219) Filter is not pushed into subquery with window function

    [ https://issues.apache.org/jira/browse/DRILL-3219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14612336#comment-14612336 ] 

Jinfeng Ni commented on DRILL-3219:
-----------------------------------

The root cause of the this problem is similar to DRILL-3412. Basically, we do not have rules to push either Project or Filter through the Window operator.  That's was caused the timing of when Drill breaks a project with window function into Project and Window operator ( currently, it just happened too early in the planning logic).



> Filter is not pushed into subquery  with window function
> --------------------------------------------------------
>
>                 Key: DRILL-3219
>                 URL: https://issues.apache.org/jira/browse/DRILL-3219
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Query Planning & Optimization
>    Affects Versions: 1.0.0
>            Reporter: Victoria Markman
>            Assignee: Jinfeng Ni
>              Labels: window_function
>             Fix For: 1.2.0
>
>
> {code}
> 0: jdbc:drill:schema=dfs> explain plan for select * from ( select a1, b1, c1, sum(a1) over(partition by b1) from t1 ) where c1 is not null;
> +------+------+
> | text | json |
> +------+------+
> | 00-00    Screen
> 00-01      Project(a1=[$0], b1=[$1], c1=[$2], EXPR$3=[$3])
> 00-02        Project(a1=[$0], b1=[$1], c1=[$2], EXPR$3=[CASE(>($3, 0), CAST($4):ANY, null)])
> 00-03          SelectionVectorRemover
> 00-04            Filter(condition=[IS NOT NULL($2)])
> 00-05              Window(window#0=[window(partition {1} order by [] range between UNBOUNDED PRECEDING and UNBOUNDED FOLLOWING aggs [COUNT($0), $SUM0($0)])])
> 00-06                SelectionVectorRemover
> 00-07                  Sort(sort0=[$1], dir0=[ASC])
> 00-08                    Project(a1=[$2], b1=[$1], c1=[$0])
> 00-09                      Scan(groupscan=[ParquetGroupScan [entries=[ReadEntryWithPath [path=maprfs:///drill/testdata/subqueries/t1]], selectionRoot=/drill/testdata/subqueries/t1, numFiles=1, columns=[`a1`, `b1`, `c1`]]])
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)