[
https://issues.apache.org/jira/browse/CALCITE-1911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16117548#comment-16117548
]
Julian Hyde commented on CALCITE-1911:
--------------------------------------
A few review comments:
* Add comments in Match etc. that interval can be null. Not-null is usually
assumed.
* Interval 0 is ok, right? So the message should say "Interval must be
non-negative".
* I don't think you need SqlIntervalQualifier.CONV.
org.apache.calcite.avatica.util.TimeUnit.multiplier is probably sufficient.
* In Match.explainTerms, if should ignore null interval, not print "interval:
null".
* I am surprised that you needed to add so much code for intervals in
SqlParserUtil, and indeed in reference.md. Were you not able to re-use existing
interval literal support?
* As I said earlier, we need a way to specify ordering. Maybe there is a
rowtime column on streams. But this clause also needs to work on tables, which
definitely don't have a rowtime column.
> Support within clause in MATCH_RECOGNIZE
> ----------------------------------------
>
> Key: CALCITE-1911
> URL: https://issues.apache.org/jira/browse/CALCITE-1911
> Project: Calcite
> Issue Type: Bug
> Reporter: Dian Fu
> Assignee: Julian Hyde
> Labels: match
>
> Window is an important feature for pattern detection, it defines the time
> duration for the events to match a pattern. Here is an example from
> [doc|https://docs.oracle.com/middleware/1213/eventprocessing/cql-reference/GUID-34D4968E-C55A-4BC7-B1CE-C84B202217BD.htm#CQLLR2119]:
> {code}
> SELECT T.Ac2, T.Bc2, T.Cc2
> FROM S
> MATCH_RECOGNIZE(
> MEASURES A.c2 as Ac2, B.c2 as Bc2, C.c2 as Cc2
> PATTERN (A (B+ | C)) within 3000 milliseconds
> DEFINE
> A as A.c1=10 or A.c1=25,
> B as B.c1=20 or B.c1=15 or B.c1=25,
> C as C.c1=15
> ) as T
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)