[ https://issues.apache.org/jira/browse/PHOENIX-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13976377#comment-13976377 ]
ASF GitHub Bot commented on PHOENIX-136: ---------------------------------------- Github user JamesRTaylor commented on the pull request: https://github.com/apache/incubator-phoenix/pull/31#issuecomment-41003342 +1. This is fantastic, @maryannxue! Let's file separate JIRAs for each type of query that's not yet supported. The list is getting smaller! > Support derived tables > ---------------------- > > Key: PHOENIX-136 > URL: https://issues.apache.org/jira/browse/PHOENIX-136 > Project: Phoenix > Issue Type: Task > Reporter: James Taylor > Assignee: James Taylor > Labels: enhancement > > Add support for derived queries of the form: > SELECT * FROM ( SELECT company, revenue FROM Company ORDER BY revenue) LIMIT > 10 > Adding support for this requires a compile time change as well as a runtime > execution change. The first version of the compile-time change could limit > aggregation to only be allowed in the inner or the outer query, but not both. > In this case, the inner and outer queries can be combined into a single query > with the outer select becoming just a remapping of a subset of the projection > from the inner select. The second version of the compile-time change could > handle aggregation in the inner and outer select by performing client side > (this is likely a less common scenario). > For the runtime execution, change the UngroupedAggregateRegionObserver would > be modified to look for a new "TopNLimit" attribute with an int value in the > Scan. This would control the maximum number of values for the coprocessor to > hold on to as the scan is performed. Then the > GroupedAggregatingResultIterator would be modified to handle keeping the topN > values received back from all the child iterators. -- This message was sent by Atlassian JIRA (v6.2#6252)