[
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)