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

James Taylor commented on PHOENIX-2965:
---------------------------------------

See my comment here for a better way to strip out the order by: 
https://issues.apache.org/jira/browse/PHOENIX-2989?focusedCommentId=15326507&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15326507

I think you can prevent that issue by using an EMPTY_GROUP_BY instead of the 
groupBy passed into OrderByCompiler if groupBy.isUngroupedAggregation() is true:
{code}
        List<OrderByNode> orderByNodes = statement.getOrderBy();
        if (orderByNodes.isEmpty()) {
            return OrderBy.EMPTY_ORDER_BY;
        }
        ExpressionCompiler compiler = new ExpressionCompiler(context, 
groupBy.isUngroupedAggregation() ? GroupBy.EMPTY_GROUP_BY : groupBy);
{code}

Otherwise, the OrderByCompiler thinks there's a GROUP BY clause.


> Use DistinctPrefixFilter logic for COUNT(DISTINCT ...) and COUNT(...) GROUP BY
> ------------------------------------------------------------------------------
>
>                 Key: PHOENIX-2965
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2965
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>             Fix For: 4.8.0
>
>         Attachments: 2965-v10.txt, 2965-v11.txt, 2965-v12.txt, 2965-v2.txt, 
> 2965-v3.txt, 2965-v4.txt, 2965-v5.txt, 2965-v6.txt, 2965-v7.txt, 2965-v8.txt, 
> 2965-v9.txt, 2965.txt, PHOENIX-2965_wip.patch
>
>
> Parent uses skip scanning to optimize DISTINCT and certain GROUP BY 
> operations along the row key.
> COUNT queries are optimized differently, could be sped up significantly as 
> well.
> [~giacomotaylor], I might need to help into where COUNT(DISTINCT) queries are 
> planned and optimized.



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

Reply via email to