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)