[
https://issues.apache.org/jira/browse/PHOENIX-2876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15274631#comment-15274631
]
Sergey Soldatov commented on PHOENIX-2876:
------------------------------------------
[~jamestaylor] Right. But {{OrderByCompiler.compile()}} is executed after
{{ProjectionCompiler$SelectClauseVisitor.compile()}} which is collecting all
aggregation expressions, so the expressions that are in OrderBy are not going
to the context aggregation manager. Actually this is regression since 4.4.
Previously OrderBy was compiled before RowProjector.
I will update the test cases. First of all I want to be sure that the problem
is fixed in the right way.
> Using aggregation function in ORDER BY
> --------------------------------------
>
> Key: PHOENIX-2876
> URL: https://issues.apache.org/jira/browse/PHOENIX-2876
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.7.0
> Reporter: Sergey Soldatov
> Assignee: Sergey Soldatov
> Fix For: 4.8.0
>
> Attachments: PHOENIX-2876-1.patch
>
>
> {noformat}
> create table x (id integer primary key, i1 integer, i2 integer);
> upsert into x values (1, 1, 1);
> upsert into x values (2, 2, 2);
> upsert into x values (3, 2, 3);
> upsert into x values (4, 3, 3);
> upsert into x values (5, 3, 2);
> upsert into x values (6, 3, 1);
> {noformat}
> Test query:
> {noformat}
> select i1 from X group by i1 order by avg(i2) desc;
> {noformat}
> Expected result: 2, 3, 1
> Real result : 1, 3, 2
> In other hands
> {noformat}
> select i1, avg(i2) from X group by i1 order by avg(i2) desc;
> {noformat}
> works correctly.
> That happens because in ORDER BY we add nothing to RowProjector if we deal
> with aggregate functions. So, there is a question. Do we have any
> restrictions why we can't add the expression from ORDER BY to RowProjector ?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)