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

Vineet Garg commented on CALCITE-3952:
--------------------------------------

bq. Given a rel which emit at most 1 row (RelMetadataQuery.getRowCount<=1), 
should RelMetadataQuery.collations(rel) match the Sort order
[~jinxing6...@126.com] I don't think it is necessary in this case for sort 
order to match. If input is producing at most 1 row there is no need to sort.


> Improve SortRemoveRule to remove Sort based on rowcount
> -------------------------------------------------------
>
>                 Key: CALCITE-3952
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3952
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Vineet Garg
>            Assignee: Vineet Garg
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> If a query is guaranteed to produce maximum one row it is safe to remove Sort 
> (along with limit). 
> Example:
> {code:sql}
> select count(*) cs from store_sales where ss_ext_sales_price > 100.00 order 
> by cs limit 100
> {code}
> Although logically equivalent this can greatly benefit physical plans by 
> removing extra operator and avoiding unnecessary data transfer.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to