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

Timo Walther commented on FLINK-19038:
--------------------------------------

[~nicholasjiang] yes, we can allow multiple consecutive fetches if it helps 
people. The current behavior has historical reasons because `limit()` without 
an order was introduced recently. The logic should try to first merge the fetch 
into the sort and produce an empty sort node with fetch otherwise.

> It doesn't support to call Table.limit() continuously
> -----------------------------------------------------
>
>                 Key: FLINK-19038
>                 URL: https://issues.apache.org/jira/browse/FLINK-19038
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / API
>    Affects Versions: 1.12.0
>            Reporter: Dian Fu
>            Assignee: Nicholas Jiang
>            Priority: Major
>             Fix For: 1.12.0
>
>
> For example, table.limit(3).limit(2) will failed with "FETCH is already 
> defined." 
> {code}
> org.apache.flink.table.api.ValidationException: FETCH is already defined.
>       at 
> org.apache.flink.table.operations.utils.SortOperationFactory.validateAndGetChildSort(SortOperationFactory.java:125)
>       at 
> org.apache.flink.table.operations.utils.SortOperationFactory.createLimitWithFetch(SortOperationFactory.java:105)
>       at 
> org.apache.flink.table.operations.utils.OperationTreeBuilder.limitWithFetch(OperationTreeBuilder.java:418)
> {code}
> However, as we support to call table.limit() without specifying the order, I 
> guess this should be a valid usage and should be allowed.



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

Reply via email to