[ 
https://issues.apache.org/jira/browse/FLINK-7147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16099829#comment-16099829
 ] 

ASF GitHub Bot commented on FLINK-7147:
---------------------------------------

Github user dawidwys commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4296#discussion_r129262270
  
    --- Diff: 
flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/pattern/Pattern.java
 ---
    @@ -492,4 +506,10 @@ private void checkIfQuantifierApplied() {
                                        "Current quantifier is: " + quantifier);
                }
        }
    +
    +   private void checkIfNoFollowedByAny() {
    +           if (quantifier.getConsumingStrategy() == 
ConsumingStrategy.SKIP_TILL_ANY) {
    --- End diff --
    
    I think it is a valid combination. I think the InnerConsumingStrategy 
should not be `SKIP_TILL_ANY`.
    
    So `followedByAny("loop").oneOrMore().greedy()` in my opinion is a valid 
one, but `followedByAny("loop").oneOrMore().allowCombinations().greedy()` is 
not. 


> Support greedy quantifier in CEP
> --------------------------------
>
>                 Key: FLINK-7147
>                 URL: https://issues.apache.org/jira/browse/FLINK-7147
>             Project: Flink
>          Issue Type: Sub-task
>          Components: CEP, Table API & SQL
>            Reporter: Dian Fu
>            Assignee: Dian Fu
>
> Greedy quantifier will try to match the token as many times as possible. For 
> example, for pattern {{a b* c}} (skip till next is used) and inputs {{a b1 b2 
> c}}, if the quantifier for {{b}} is greedy, it will only output {{a b1 b2 c}}.



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

Reply via email to