> On June 17, 2015, 6:11 p.m., Jinfeng Ni wrote:
> > exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/WindowPrule.java,
> > line 64
> > <https://reviews.apache.org/r/35584/diff/1/?file=986627#file986627line64>
> >
> > This might not be related to this JIRA. But I feel this "for" loop is
> > problemtic. Are we going to support the following:
> >
> > avg(c_1) over (partition by c_2 order by c_3), sum(c_2) over (partition
> > by c_4 order by c_5)
> >
> > Seems each different group will re-set the traits based on different
> > "partition"/"order" keys, which would cause incorrect problem.
> >
> > If we do not support, then we probably should add assertion check to
> > make sure there is only one group in window.
>
> Aman Sinha wrote:
> Currently your query will fail with an unsupported operation error:
>
> Error: UNSUPPORTED_OPERATION ERROR: Multiple window definitions in a
> single SELECT list is not currently supported
> See Apache Drill JIRA: DRILL-3196
>
> I am not sure if resetting the traits in the loop would cause incorrect
> results; it would be suboptimal. There is a comment at the beginning:
> // TODO: Order window based on existing partition by
> //input.getTraitSet().subsumes()
Right. The UNSUPPORTED_OPERATION ERROR is what I expect. If we do not allow
multiple window definitions, then seems this for loop in WindowPrule is not
necessary. In stead, we could simply check if window.groups has size = 1.
Something like:
Preconditions.checkArgument(window.groups.size() == 1, "Only one window
definition is allowed.");
Window.Group windowBase = window.groups.get(0);
- Jinfeng
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/35584/#review88321
-----------------------------------------------------------
On June 17, 2015, 4:59 p.m., Aman Sinha wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/35584/
> -----------------------------------------------------------
>
> (Updated June 17, 2015, 4:59 p.m.)
>
>
> Review request for drill and Jinfeng Ni.
>
>
> Bugs: DRILL-3298
> https://issues.apache.org/jira/browse/DRILL-3298
>
>
> Repository: drill-git
>
>
> Description
> -------
>
> The JIRA DRILL-3298 has relevant discussion on this. The fix involves
> creating a single stream as input to the Window by inserting a
> SingleMergeExchange if only the ORDER-BY clause is present in a Window. This
> ensures that the Sort below the Window is done in parallel followed by a
> Merge.
>
>
> Diffs
> -----
>
>
> exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/WindowPrule.java
> f7728c8
>
> Diff: https://reviews.apache.org/r/35584/diff/
>
>
> Testing
> -------
>
> Manual testing of the query in DRILL-3298. Ran unit tests. Functional tests
> are in progress.
>
>
> Thanks,
>
> Aman Sinha
>
>