Re: Progress on adding TUMBLE as table value function (CALCITE-3272)
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)
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)
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)
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)
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