Re: Progress on adding TUMBLE as table value function (CALCITE-3272)

2019-11-21 Thread Rui Wang
I didn't find such discussion in the SQL standard (maybe I have missed
something).

My current thought is not to convert "rowtime" to upper-case is the best:
1. for those not column name case-sensitive database, it works.
2. for those case-sensitive database, assume users are aware of their
sources that are case-sensitive, I think their intention to use descriptor
will consider that factor. Converting column names to upper-case causes
confusion.


-Rui



On Wed, Nov 20, 2019 at 6:55 PM Julian Hyde  wrote:

> If I write
>
>  DESCRIPTOR(rowtime)
>
> and I am running Calcite’s parser in a mode that converts unquoted
> identifiers to upper-case, do you think that it should convert “rowtime” to
> upper-case?
>
> I am undecided. It’s possible that “rowtime” references a column in a
> case-sensitive database.
>
> Julian
>
>
> > On Nov 20, 2019, at 11:14 AM, Rui Wang  wrote:
> >
> > Forgot to mention, the DESCRIPTOR support means the following query will
> be
> > able to run:
> >
> > SELECT *
> > FROM TABLE(Tumble(
> >  TABLE ORDERS ,
> >  DESCRIPTOR(ROWTIME) ,
> > INTERVAL '1' MINUTES))
> >
> >
> > Note that the second parameter to indicate the watermarked column is
> > changed from a string(varchar) to DESCRIPTOR(col_name).
> >
> >
> > -Rui
> >
> >
> > On Wed, Nov 20, 2019 at 11:04 AM Rui Wang  wrote:
> >
> >> I have an update:
> >>
> >> I tried to add DESCRIPTOR support (CALCITE-3339). Amazingly it was not
> >> complicated at all to have a working version. So I created #1599[1],
> which
> >> is built on top of #1587[2], to demonstrate DESCRIPTOR. The PRs are
> >> separated because DESCRIPTOR support currently is less mature.
> >>
> >>
> >> [1]: https://github.com/apache/calcite/pull/1599
> >> [2]: https://github.com/apache/calcite/pull/1587
> >>
> >>
> >> -Rui
> >>
> >> On Thu, Nov 14, 2019 at 9:35 PM Rui Wang  wrote:
> >>
> >>> Hi community,
> >>>
> >>> I have created a new PR ( https://github.com/apache/calcite/pull/1587)
> >>> to demonstrate the progress of TUMBLE table value function
> (CALCITE-3272).
> >>> Julian suggested me to have a working version that adds a stream.iq
> and
> >>> have an enumerable implementation. Those are in the PR.
> >>>
> >>> High level speaking, the PR is adding a support of the following:
> >>>
> >>> SELECT *
> >>> FROM TABLE(Tumble(
> >>>  TABLE ORDERS ,
> >>>  'ROWTIME' ,
> >>> INTERVAL '1' MINUTES))
> >>>
> >>>
> >>> One missing feature so far is adding support of DESCRIPTOR, which is
> >>> intentionally cut off from the PR because that will make the PR more
> >>> complicated. Thus DESCRIPTOR is left as future work.
> >>>
> >>> The PR solves not only CALCITE-3272, but also it's blockers:
> >>> https://jira.apache.org/jira/browse/CALCITE-3340
> >>> https://jira.apache.org/jira/browse/CALCITE-3501
> >>> https://jira.apache.org/jira/browse/CALCITE-3499
> >>> https://jira.apache.org/jira/browse/CALCITE-3418
> >>>
> >>>
> >>> I will probably need some guidance on how to proceed to get the PR
> >>> merged. Please let me know if you have any thoughts.
> >>>
> >>> -Rui
> >>>
> >>
>
>


Re: Progress on adding TUMBLE as table value function (CALCITE-3272)

2019-11-20 Thread Julian Hyde
If I write

 DESCRIPTOR(rowtime)

and I am running Calcite’s parser in a mode that converts unquoted identifiers 
to upper-case, do you think that it should convert “rowtime” to upper-case?

I am undecided. It’s possible that “rowtime” references a column in a 
case-sensitive database.

Julian


> On Nov 20, 2019, at 11:14 AM, Rui Wang  wrote:
> 
> Forgot to mention, the DESCRIPTOR support means the following query will be
> able to run:
> 
> SELECT *
> FROM TABLE(Tumble(
>  TABLE ORDERS ,
>  DESCRIPTOR(ROWTIME) ,
> INTERVAL '1' MINUTES))
> 
> 
> Note that the second parameter to indicate the watermarked column is
> changed from a string(varchar) to DESCRIPTOR(col_name).
> 
> 
> -Rui
> 
> 
> On Wed, Nov 20, 2019 at 11:04 AM Rui Wang  wrote:
> 
>> I have an update:
>> 
>> I tried to add DESCRIPTOR support (CALCITE-3339). Amazingly it was not
>> complicated at all to have a working version. So I created #1599[1], which
>> is built on top of #1587[2], to demonstrate DESCRIPTOR. The PRs are
>> separated because DESCRIPTOR support currently is less mature.
>> 
>> 
>> [1]: https://github.com/apache/calcite/pull/1599
>> [2]: https://github.com/apache/calcite/pull/1587
>> 
>> 
>> -Rui
>> 
>> On Thu, Nov 14, 2019 at 9:35 PM Rui Wang  wrote:
>> 
>>> Hi community,
>>> 
>>> I have created a new PR ( https://github.com/apache/calcite/pull/1587)
>>> to demonstrate the progress of TUMBLE table value function (CALCITE-3272).
>>> Julian suggested me to have a working version that adds a stream.iq and
>>> have an enumerable implementation. Those are in the PR.
>>> 
>>> High level speaking, the PR is adding a support of the following:
>>> 
>>> SELECT *
>>> FROM TABLE(Tumble(
>>>  TABLE ORDERS ,
>>>  'ROWTIME' ,
>>> INTERVAL '1' MINUTES))
>>> 
>>> 
>>> One missing feature so far is adding support of DESCRIPTOR, which is
>>> intentionally cut off from the PR because that will make the PR more
>>> complicated. Thus DESCRIPTOR is left as future work.
>>> 
>>> The PR solves not only CALCITE-3272, but also it's blockers:
>>> https://jira.apache.org/jira/browse/CALCITE-3340
>>> https://jira.apache.org/jira/browse/CALCITE-3501
>>> https://jira.apache.org/jira/browse/CALCITE-3499
>>> https://jira.apache.org/jira/browse/CALCITE-3418
>>> 
>>> 
>>> I will probably need some guidance on how to proceed to get the PR
>>> merged. Please let me know if you have any thoughts.
>>> 
>>> -Rui
>>> 
>> 



Re: Progress on adding TUMBLE as table value function (CALCITE-3272)

2019-11-20 Thread Rui Wang
Forgot to mention, the DESCRIPTOR support means the following query will be
able to run:

SELECT *
FROM TABLE(Tumble(
  TABLE ORDERS ,
  DESCRIPTOR(ROWTIME) ,
 INTERVAL '1' MINUTES))


Note that the second parameter to indicate the watermarked column is
changed from a string(varchar) to DESCRIPTOR(col_name).


-Rui


On Wed, Nov 20, 2019 at 11:04 AM Rui Wang  wrote:

> I have an update:
>
> I tried to add DESCRIPTOR support (CALCITE-3339). Amazingly it was not
> complicated at all to have a working version. So I created #1599[1], which
> is built on top of #1587[2], to demonstrate DESCRIPTOR. The PRs are
> separated because DESCRIPTOR support currently is less mature.
>
>
> [1]: https://github.com/apache/calcite/pull/1599
> [2]: https://github.com/apache/calcite/pull/1587
>
>
> -Rui
>
> On Thu, Nov 14, 2019 at 9:35 PM Rui Wang  wrote:
>
>> Hi community,
>>
>> I have created a new PR ( https://github.com/apache/calcite/pull/1587)
>> to demonstrate the progress of TUMBLE table value function (CALCITE-3272).
>> Julian suggested me to have a working version that adds a stream.iq and
>> have an enumerable implementation. Those are in the PR.
>>
>> High level speaking, the PR is adding a support of the following:
>>
>> SELECT *
>> FROM TABLE(Tumble(
>>   TABLE ORDERS ,
>>   'ROWTIME' ,
>>  INTERVAL '1' MINUTES))
>>
>>
>> One missing feature so far is adding support of DESCRIPTOR, which is
>> intentionally cut off from the PR because that will make the PR more
>> complicated. Thus DESCRIPTOR is left as future work.
>>
>> The PR solves not only CALCITE-3272, but also it's blockers:
>> https://jira.apache.org/jira/browse/CALCITE-3340
>> https://jira.apache.org/jira/browse/CALCITE-3501
>> https://jira.apache.org/jira/browse/CALCITE-3499
>> https://jira.apache.org/jira/browse/CALCITE-3418
>>
>>
>> I will probably need some guidance on how to proceed to get the PR
>> merged. Please let me know if you have any thoughts.
>>
>> -Rui
>>
>


Re: Progress on adding TUMBLE as table value function (CALCITE-3272)

2019-11-20 Thread Rui Wang
I have an update:

I tried to add DESCRIPTOR support (CALCITE-3339). Amazingly it was not
complicated at all to have a working version. So I created #1599[1], which
is built on top of #1587[2], to demonstrate DESCRIPTOR. The PRs are
separated because DESCRIPTOR support currently is less mature.


[1]: https://github.com/apache/calcite/pull/1599
[2]: https://github.com/apache/calcite/pull/1587


-Rui

On Thu, Nov 14, 2019 at 9:35 PM Rui Wang  wrote:

> Hi community,
>
> I have created a new PR ( https://github.com/apache/calcite/pull/1587) to
> demonstrate the progress of TUMBLE table value function (CALCITE-3272).
> Julian suggested me to have a working version that adds a stream.iq and
> have an enumerable implementation. Those are in the PR.
>
> High level speaking, the PR is adding a support of the following:
>
> SELECT *
> FROM TABLE(Tumble(
>   TABLE ORDERS ,
>   'ROWTIME' ,
>  INTERVAL '1' MINUTES))
>
>
> One missing feature so far is adding support of DESCRIPTOR, which is
> intentionally cut off from the PR because that will make the PR more
> complicated. Thus DESCRIPTOR is left as future work.
>
> The PR solves not only CALCITE-3272, but also it's blockers:
> https://jira.apache.org/jira/browse/CALCITE-3340
> https://jira.apache.org/jira/browse/CALCITE-3501
> https://jira.apache.org/jira/browse/CALCITE-3499
> https://jira.apache.org/jira/browse/CALCITE-3418
>
>
> I will probably need some guidance on how to proceed to get the PR merged.
> Please let me know if you have any thoughts.
>
> -Rui
>


Progress on adding TUMBLE as table value function (CALCITE-3272)

2019-11-14 Thread Rui Wang
Hi community,

I have created a new PR ( https://github.com/apache/calcite/pull/1587) to
demonstrate the progress of TUMBLE table value function (CALCITE-3272).
Julian suggested me to have a working version that adds a stream.iq and
have an enumerable implementation. Those are in the PR.

High level speaking, the PR is adding a support of the following:

SELECT *
FROM TABLE(Tumble(
  TABLE ORDERS ,
  'ROWTIME' ,
 INTERVAL '1' MINUTES))


One missing feature so far is adding support of DESCRIPTOR, which is
intentionally cut off from the PR because that will make the PR more
complicated. Thus DESCRIPTOR is left as future work.

The PR solves not only CALCITE-3272, but also it's blockers:
https://jira.apache.org/jira/browse/CALCITE-3340
https://jira.apache.org/jira/browse/CALCITE-3501
https://jira.apache.org/jira/browse/CALCITE-3499
https://jira.apache.org/jira/browse/CALCITE-3418


I will probably need some guidance on how to proceed to get the PR merged.
Please let me know if you have any thoughts.

-Rui