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

Maryann Xue commented on PHOENIX-4616:
--------------------------------------

Thank you very much for the review, [~jamestaylor]!
 # The change in the join tests was needed because I ran into a random failure 
in {{testJoinWithOffset()}} which I suspect was due to unstable result order 
since the test case did not specify an ORDER BY.
 # I thought it would be better to keep the optimization logic all in one place 
so it would be easier to maintain and extend later on. One way is to use the 
QueryPlanVisitor here to get rid of "instanceof" check while still keeping 
everything in QueryOptimizer. What do you think?

> Move join query optimization out from QueryCompiler into QueryOptimizer
> -----------------------------------------------------------------------
>
>                 Key: PHOENIX-4616
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4616
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Maryann Xue
>            Assignee: Maryann Xue
>            Priority: Major
>         Attachments: PHOENIX-4616.patch
>
>
> Currently we do optimization for join queries inside QueryCompiler, which 
> makes the APIs and code logic confusing, so we need to move join optimization 
> logic into QueryOptimizer.
>  Similarly, but probably with a different approach, we need to optimize UNION 
> ALL queries and derived table sub-queries in QueryOptimizer.optimize().
> Please also refer to this comment:
> https://issues.apache.org/jira/browse/PHOENIX-4585?focusedCommentId=16367616&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16367616



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to