[
https://issues.apache.org/jira/browse/PHOENIX-4540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16532974#comment-16532974
]
James Taylor commented on PHOENIX-4540:
---------------------------------------
The problem is occurring if one GROUP BY expression is contained by another
GROUP BY expression. For example, with {{SELECT k/v FROM T GROUP BY k/v, v}} we
end up replacing the k/v in the SELECT expressions with an expression to access
the first part of the returned row key and then mistakenly also replace just
the v part with an expression to access the second part of the returned row
key. To fix, try changing the processing in
ExpressionCompiler.wrapGroupByExpression() to detect if the replacement
expression already contains a RowKeyColumnExpression and don't do that
wrapping. You could optimize this by only doing this extra processing if one
GROUP BY expression is contained by another GROUP BY expression.
> Client side evaluation of group by Expression in projection gives erroneous
> result
> ----------------------------------------------------------------------------------
>
> Key: PHOENIX-4540
> URL: https://issues.apache.org/jira/browse/PHOENIX-4540
> Project: Phoenix
> Issue Type: Bug
> Reporter: Ankit Singhal
> Priority: Major
> Attachments: PHOENIX-4540.patch, PHOENIX-4540_unittest.patch
>
>
> If the columns involved in projected expression are not present in "group by"
> clause, the client evaluation of the same expression will give an erroneous
> result because of the absence of involved column value.
> Following queries will produce wrong result
> >select round(k/v,0) x from round_test group by x,v
> >select k/v x from round_test group by x,v
> but query runs fine if we add all columns so that client expression can be
> evaluated
> >select round(k/v,0) x from round_test group by x,k,v //will produce right
> >result
> >select k/v x from round_test group by x,k,v;
> Why we need to re-evaluate the expression here, can't we use the same result
> evaluated at server side during the "group by"
> thoughts [~jamestaylor]?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)