[
https://issues.apache.org/jira/browse/FLINK-33428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-33428:
-----------------------------------
Labels: pull-request-available (was: )
> Flink sql cep support 'followed','notNext' and 'notFollowedBy' semantics
> ------------------------------------------------------------------------
>
> Key: FLINK-33428
> URL: https://issues.apache.org/jira/browse/FLINK-33428
> Project: Flink
> Issue Type: New Feature
> Components: Table SQL / API, Table SQL / Planner
> Affects Versions: 1.16.0
> Reporter: xiaoran
> Priority: Major
> Labels: pull-request-available
>
> Currently, the cep mode of the Flink API can support next, notNext,
> followedBy, followedByAny, and notFollowedBy semantics, but Flink SQL only
> supports next semantics. The remaining notNext and followedBy semantics are
> implemented by other alternatives, while the notFollowedBy semantics are not
> currently implemented. At present, this semantics is generally implemented in
> business scenarios, such as judging that a user has placed an order within 15
> minutes without paying. Therefore, I suggest to provide new functionality to
> support notFollowedBy in sql mode, along with the other three semantics
> The syntax of enhanced MATCH_RECOGNIZE is proposed as follows:
> {code:sql}
> MATCH_RECOGNIZE (
> [ PARTITION BY <expr> [, ... ] ]
> [ ORDER BY <expr> [, ... ] ]
> [ MEASURES <expr> [AS] <alias> [, ... ] ]
> [ ONE ROW PER MATCH [ { SHOW TIMEOUT MATCHES } ] |
> ALL ROWS PER MATCH [ { SHOW TIMEOUT MATCHES } ]
> ]
> [ AFTER MATCH SKIP
> {
> PAST LAST ROW |
> TO NEXT ROW |
> TO [ { FIRST | LAST} ] <symbol>
> }
> ]
> PATTERN ( <pattern> )
> DEFINE <symbol> AS <expr> [, ... ]
> )
> {code}
> * [^ <symbol>] is proposed in <pattern> to express the notNext semantic. For
> example, A [^B] is translated to A.notNext(B).
> * \{- <symbol> -} is proposed in <pattern> to express the followedBy
> semantic. For example, A \{ B*? -} C is translated to A.followedBy(C).
> * \{- symbol1 \-} with [^ <symbol2>] is proposed in <pattern> to express the
> notFollowedBy semantic. For example, A \{- B*? -} [^C] is translated to
> A.notFollwedBy(B).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)