Agreed. I would like to get more feedback to have a
reasonable accommodation for users.


-Rui

On Mon, Apr 27, 2020 at 11:50 AM Julian Hyde <[email protected]> wrote:

> Changing my +1 to +0. We have to make reasonable accommodations for our
> users. Glad we had this discussion.
>
> > On Apr 24, 2020, at 11:10 AM, Rui Wang <[email protected]> wrote:
> >
> > Hi Timo,
> >
> > My intention is to fully drop concepts such as SqlGroupedWindowFunction
> and
> > auxiliary group functions, which include relevant code in parser/syntax,
> > operator, planner, etc.
> >
> > Since you mentioned the need for more time to migrate. How many Calcite
> > releases that you think can probably leave enough buffer time? (Calcite
> > schedules 4 releases a year. So say 2 releases will give 6 months)
> >
> >
> > -Rui
> >
> > On Fri, Apr 24, 2020 at 1:50 AM Timo Walther <[email protected]> wrote:
> >
> >> Hi everyone,
> >>
> >> so far Apache Flink depends on this feature. We are fine with improving
> >> the SQL compliance and eventually dropping GROUP BY TUMBLE/HOP/SESSION
> >> in the future. However, we would like to give our users some time to
> >> migrate their existing pipelines.
> >>
> >> What does dropping mean for Calcite? Will users of Calcite be able to
> >> still support this syntax? In particular, are you intending to also drop
> >> concepts such as SqlGroupedWindowFunction and auxiliary group functions?
> >> Or are you intending to just remove entries from Calcite's default
> >> operator table?
> >>
> >> Regards,
> >> Timo
> >>
> >>
> >> On 24.04.20 10:30, Julian Hyde wrote:
> >>> +1
> >>>
> >>> Let’s remove TUMBLE etc from the GROUP BY clause. Since this is a SQL
> >> change, not an API change, I don’t we need to give notice. Let’s just
> do it.
> >>>
> >>> Julian
> >>>
> >>>> On Apr 22, 2020, at 4:05 PM, Rui Wang <[email protected]> wrote:
> >>>>
> >>>> Made a mistake on the example above, and update it as follows:
> >>>>
> >>>> // Table function windowing syntax.
> >>>> SELECT
> >>>>        product_id, count(*), window_start
> >>>> FROM TABLE(TUMBLE(order, DESCRIPTOR(rowtime), INTERVAL '1' hour))
> >>>> GROUP BY product_id, window_start
> >>>>
> >>>>> On Wed, Apr 22, 2020 at 2:31 PM Rui Wang <[email protected]>
> wrote:
> >>>>>
> >>>>> Hi community,
> >>>>>
> >>>>> I want to kick off a discussion about deprecating grouped window
> >> functions
> >>>>> (GROUP BY TUMBLE/HOP/SESSION) as the table function windowing support
> >>>>> becomes a thing [1] (FROM TABLE(TUMBLE/HOP/SESSION)). The current
> >> stage of
> >>>>> table function windowing is TUMBLE support is checked in. HOP and
> >> SESSION
> >>>>> support is likely to be merged in 1.23.0.
> >>>>>
> >>>>> A briefly example of two different windowing syntax:
> >>>>>
> >>>>> // Grouped window functions.
> >>>>> SELECT
> >>>>>       product_id, count(*), TUMBLE_START() as window_start
> >>>>> FROM order
> >>>>> GROUP BY product_id, TUMBLE(rowtime, INTERVAL '1' hour); // an hour
> >> long
> >>>>> fixed window size.
> >>>>>
> >>>>> // Table function windowing syntax.
> >>>>> SELECT
> >>>>>        product_id, count(*), window_start
> >>>>> FROM TABLE(TUMBLE(order, DESCRIPTOR(.rowtime), INTERVAL '1' hour)
> >>>>> GROUP BY product_id
> >>>>>
> >>>>> I am giving a short, selective comparison as the following:
> >>>>>
> >>>>> The places that table function windowing behaves better
> >>>>> 1) no GROUPING/GROUP BY enforced. It becomes a problem in streaming
> >> JOIN.
> >>>>> For example, one use case is for each hour, apply a JOIN on two
> >> streams. In
> >>>>> this case, no GROUP BY is needed.
> >>>>> 2) grouped window functions allow multiple calls in GROUP BY. For
> >> example,
> >>>>> from SQL syntax perspective, GROUP BY TUMBLE(...), HOP(...),
> >> SESSION(...)
> >>>>> is not wrong, but it is an illegal query.
> >>>>> 3) Calcite includes an Enumerable implementation of table function
> >>>>> windowing, while grouped window functions do not have that.
> >>>>>
> >>>>>
> >>>>> The places that table function windowing behaves worse
> >>>>> 1) table function windowing adds "window_start", "window_end" into
> >> table
> >>>>> directly, which increases the volume of data (number of rows *
> >>>>> sizeof(timestamp) * 2).
> >>>>>
> >>>>>
> >>>>> I want to focus on discussing two questions in this thread:
> >>>>> 1) Do people support deprecating grouped window functions?
> >>>>> 2) By which version people prefer to make grouped window functions
> >>>>> completely removed?(if 1) is yes).
> >>>>>
> >>>>>
> >>>>>
> >>>>> [1]: https://jira.apache.org/jira/browse/CALCITE-3271
> >>>>>
> >>>>>
> >>>>> -Rui
> >>>>>
> >>
> >>
>
>

Reply via email to