Daniel Kuppitz created TINKERPOP-1312:
-----------------------------------------

             Summary: .is.count(0) is not properly optimized
                 Key: TINKERPOP-1312
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1312
             Project: TinkerPop
          Issue Type: Improvement
    Affects Versions: 3.1.2-incubating, 3.2.0-incubating
            Reporter: Daniel Kuppitz
            Assignee: Daniel Kuppitz
             Fix For: 3.1.3, 3.2.1


{{bla.count().is(0)}} gets optimized by {{RangeByIsCountStrategy}}, which 
replaces it with {{bla.limit(1).count().is(0)}}. That's good, but we can do 
even better by replacing it with {{__.not(bla)}}, which is a simple 
{{.hasNext()}} instead of a {{RangeStep}} followed by a {{ReducingBarrierStep}} 
({{count()}}).

Question is: should we do the replacement in {{RangeByIsCountStrategy}}? The 
strategy will recognize the pattern, no matter if we use it for the replacement 
or not; it's just that the strategy name is then no longer in line with the the 
actual replacement (for this particular {{.count().is(0)}} case) as it won't 
inject a {{RangeStep}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to