You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Yueting Chen (JIRA)" <ji...@apache.org> on 2017/07/13 05:35:00 UTC

[jira] [Created] (FLINK-7169) Support AFTER MATCH SKIP function in CEP library API

Yueting Chen created FLINK-7169:
-----------------------------------

             Summary: Support AFTER MATCH SKIP function in CEP library API
                 Key: FLINK-7169
                 URL: https://issues.apache.org/jira/browse/FLINK-7169
             Project: Flink
          Issue Type: Task
          Components: CEP
            Reporter: Yueting Chen
            Assignee: Yueting Chen


In order to support Oracle's MATCH_RECOGNIZE on top of the CEP library, we need to support AFTER MATCH SKIP function in CEP API.

There're four options in AFTER MATCH SKIP, listed as follows:
1. AFTER MATCH SKIP TO NEXT ROW: resume pattern matching at the row after the first row of the current match.
2. AFTER MATCH SKIP PAST LAST ROW: resume pattern matching at the next row after the last row of the current match.
3. AFTER MATCH SKIP TO FIST *RPV*: resume pattern matching at the first row that is mapped to the row pattern variable RPV.
4. AFTER MATCH SKIP TO LAST *RPV*: resume pattern matching at the last row that is mapped to the row pattern variable RPV.

I think we can introduce a new function to `CEP` class, which takes a new parameter as AfterMatchSKipStrategy.

The new API may looks like this

{code}
public static <T> PatternStream<T> pattern(DataStream<T> input, Pattern<T, ?> pattern, AfterMatchSkipStrategy afterMatchSkipStrategy) 
{code}

We can also make `SKIP TO NEXT ROW` as the default option, because that's what CEP library behaves currently.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)