jackylau created FLINK-19755:
--------------------------------
Summary: flink cep
Key: FLINK-19755
URL:
https://issues.apache.org/jira/browse/FLINK-19755 Project: Flink
Issue Type: Bug
Components: Library / CEP
Affects Versions: 1.11.0
Environment: I think it will exist looping match when coming to 17, 14 using AFTER MATCH SKIP TO LAST A
Reporter: jackylau
Fix For: 1.12.0
{code:java}
symbol tax price rowtime
======== ===== ======= =====================
XYZ 1 7 2018-09-17 10:00:01
XYZ 2 9 2018-09-17 10:00:02
XYZ 1 10 2018-09-17 10:00:03
XYZ 2 5 2018-09-17 10:00:04
XYZ 2 17 2018-09-17 10:00:05
XYZ 2 14 2018-09-17 10:00:06
SELECT *
FROM Ticker
MATCH_RECOGNIZE(
PARTITION BY symbol
ORDER BY rowtime
MEASURES
SUM(A.price) AS sumPrice,
FIRST(rowtime) AS startTime,
LAST(rowtime) AS endTime
ONE ROW PER MATCH
[AFTER MATCH STRATEGY]
PATTERN (A+ C)
DEFINE
A AS SUM(A.price) < 30
)
{code}
h5. {{}}
{code:java}
AFTER MATCH SKIP TO LAST A
symbol sumPrice startTime endTime
======== ========== ===================== =====================
XYZ 26 2018-09-17 10:00:01 2018-09-17 10:00:04
XYZ 15 2018-09-17 10:00:03 2018-09-17 10:00:05
XYZ 22 2018-09-17 10:00:04 2018-09-17 10:00:06
XYZ 17 2018-09-17 10:00:05 2018-09-17 10:00:06
Again, the first result matched against the rows #1, #2, #3, #4.Compared to the previous strategy, the next match includes only row #3 (mapped to A) again for the next matching.
Therefore, the second result matched against the rows #3, #4, #5.
The third result matched against the rows #4, #5, #6.
The last result matched against the rows #5, #6.{code}
h5. {{}}
h5. {{}}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)