[
https://issues.apache.org/jira/browse/PHOENIX-944?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maryann Xue updated PHOENIX-944:
--------------------------------
Attachment: 944.patch
This is a non-parallel pure client solution.
For group-by in outer query, we first sort the inner query result with group-by
keys so that we don't have to deal unordered group-by.
But meanwhile we pass in the inner-query information to
TrackOrderPreservingExpressionCompiler when compiling the outer group-by, so
that it can also be aware of inner query row keys (and it also works with inner
group-by where row key becomes the group key). For example, "select ... from
(select .. from XX group by a, b) group by a" will omit that sorting step and
go directly into client-group-aggregation iterator.
This patch also makes the last any/all comparison correlated sub-query case
pass, whose inner query has a group-by clause. This will be translated as a
join query with one join table having two-level group-bys, just like the above
example.
> Support derived tables in FROM clause that needs extra steps of client-side
> aggregation or other processing
> -----------------------------------------------------------------------------------------------------------
>
> Key: PHOENIX-944
> URL: https://issues.apache.org/jira/browse/PHOENIX-944
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 3.0.0, 4.0.0, 5.0.0
> Reporter: Maryann Xue
> Assignee: Maryann Xue
> Fix For: 3.0.0, 4.0.0, 5.0.0
>
> Attachments: 944.patch
>
> Original Estimate: 168h
> Remaining Estimate: 168h
>
> Groupby in both outer and inner queries cannot be flattened. We can apply an
> extra step of client-side aggregation to handle such cases.
> See DerivedTableIT.java for all those examples that are currently not
> supported.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)