Hi Fabian, Thank you for your replay. On Thu, Oct 12, 2017 at 4:18 PM, Fabian Hueske <fhue...@gmail.com> wrote:
> Hi John, > > I agree that the Table.limit(offset) method is confusing and that the > semantics should rather be to specify the fetch parameter than the offset > parameter. > However, we can not easily change the behavior of an existing function. The > only way to evolve the functionality is to add new methods and deprecated > the old limit() method. > > I also think that it would be better to have separate methods for offset() > and fetch(). > We can even implement it in a way that all these combinations are valid: > > table.orderBy().offset() > table.orderBy().fetch() > table.orderBy().offset().fetch() > table.orderBy().fetch().offset() > > I have created FLINK-7821 to add offset() and fetch() and deprecate > limit(offset) and limit(offset, fetch). > I'll also create a PR for the issue very soon; PR reviews are welcome. > > The requirement for orderBy() exists to ensure that queries are > deterministic. > > Best, Fabian > > > 2017-10-12 8:39 GMT+02:00 John Fang <hust...@gmail.com>: > > > Now the Table don't support the limit operator without orderBy operator. > > > > On Thu, Oct 12, 2017 at 2:30 PM, John Fang <hust...@gmail.com> wrote: > > > > > Hi, > > > > > > In order to support ORDER BY OFFSET FETCH, we add the Table API > > > `limit`. But the api is confused. For example: "table.limit(3)" means > > > unlimited number of records beginning with the 4th record. In fact I > > prefer > > > "table.limit(3)" means taking the first `3` rows. > > > So I prefer to use the API "offset().fetch()" support ORDER BY OFFSET > > > FETCH. Of course, the "table.limit(n)" equivalent with the > > > "table.offset(0).fetch(n)", > > > > > > -- > > > > > > Regards > > > > > > John Fang > > > > > > > > > > > > > > > > > -- > > > > Regards > > > > John Fang > > > -- Regards John Fang