Daniel Kuppitz created TINKERPOP-2124:
-----------------------------------------

             Summary: InlineFilterStrategy produces wrong result
                 Key: TINKERPOP-2124
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2124
             Project: TinkerPop
          Issue Type: Improvement
          Components: process
    Affects Versions: 3.3.4
            Reporter: Daniel Kuppitz
            Assignee: Daniel Kuppitz


{noformat}
gremlin> g.V().hasLabel("person").
           or(and(has("age",gt(20)),
                  has("age",lt(30))),
              and(has("age",gt(35)),
                  has("age",lt(40)))).
         explain()
==>Traversal Explanation
=========================================================================================================================================================================================================
Original Traversal                 [GraphStep(vertex,[]), 
HasStep([~label.eq(person)]), OrStep([[AndStep([[HasStep([age.gt(20)])], 
[HasStep([age.lt(30)])]])], [AndStep([[HasStep([age.gt(35)])], [HasSte
                                      p([age.lt(40)])]])]])]

ConnectiveStrategy           [D]   [GraphStep(vertex,[]), 
HasStep([~label.eq(person)]), OrStep([[AndStep([[HasStep([age.gt(20)])], 
[HasStep([age.lt(30)])]])], [AndStep([[HasStep([age.gt(35)])], [HasSte
                                      p([age.lt(40)])]])]])]
CountStrategy                [O]   [GraphStep(vertex,[]), 
HasStep([~label.eq(person)]), OrStep([[AndStep([[HasStep([age.gt(20)])], 
[HasStep([age.lt(30)])]])], [AndStep([[HasStep([age.gt(35)])], [HasSte
                                      p([age.lt(40)])]])]])]
MatchPredicateStrategy       [O]   [GraphStep(vertex,[]), 
HasStep([~label.eq(person)]), OrStep([[AndStep([[HasStep([age.gt(20)])], 
[HasStep([age.lt(30)])]])], [AndStep([[HasStep([age.gt(35)])], [HasSte
                                      p([age.lt(40)])]])]])]
FilterRankingStrategy        [O]   [GraphStep(vertex,[]), 
HasStep([~label.eq(person)]), OrStep([[AndStep([[HasStep([age.gt(20)])], 
[HasStep([age.lt(30)])]])], [AndStep([[HasStep([age.gt(35)])], [HasSte
                                      p([age.lt(40)])]])]])]
InlineFilterStrategy         [O]   [GraphStep(vertex,[]), 
HasStep([~label.eq(person), age.or(gt(20), lt(30), gt(35), lt(40))])]
IncidentToAdjacentStrategy   [O]   [GraphStep(vertex,[]), 
HasStep([~label.eq(person), age.or(gt(20), lt(30), gt(35), lt(40))])]
AdjacentToIncidentStrategy   [O]   [GraphStep(vertex,[]), 
HasStep([~label.eq(person), age.or(gt(20), lt(30), gt(35), lt(40))])]
RepeatUnrollStrategy         [O]   [GraphStep(vertex,[]), 
HasStep([~label.eq(person), age.or(gt(20), lt(30), gt(35), lt(40))])]
PathRetractionStrategy       [O]   [GraphStep(vertex,[]), 
HasStep([~label.eq(person), age.or(gt(20), lt(30), gt(35), lt(40))])]
LazyBarrierStrategy          [O]   [GraphStep(vertex,[]), 
HasStep([~label.eq(person), age.or(gt(20), lt(30), gt(35), lt(40))])]
TinkerGraphCountStrategy     [P]   [GraphStep(vertex,[]), 
HasStep([~label.eq(person), age.or(gt(20), lt(30), gt(35), lt(40))])]
TinkerGraphStepStrategy      [P]   [TinkerGraphStep(vertex,[~label.eq(person), 
age.or(gt(20), lt(30), gt(35), lt(40))])]
ProfileStrategy              [F]   [TinkerGraphStep(vertex,[~label.eq(person), 
age.or(gt(20), lt(30), gt(35), lt(40))])]
StandardVerificationStrategy [V]   [TinkerGraphStep(vertex,[~label.eq(person), 
age.or(gt(20), lt(30), gt(35), lt(40))])]

Final Traversal                    [TinkerGraphStep(vertex,[~label.eq(person), 
age.or(gt(20), lt(30), gt(35), lt(40))])]
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to