Marko A. Rodriguez created TINKERPOP-1553:
---------------------------------------------
Summary: AggregateStep should go away in favor of
StoreStep.NoOpBarrierStep
Key: TINKERPOP-1553
URL: https://issues.apache.org/jira/browse/TINKERPOP-1553
Project: TinkerPop
Issue Type: Improvement
Components: process
Affects Versions: 3.2.3
Reporter: Marko A. Rodriguez
`AggregateStep` can be expressed as `StoreStep.NoOpBarrierStep`. There is no
reason to have the extra logic if we don't need it.
That is:
{code}
aggregate('a') => store('a').barrier()
{code}
Next, we should get rid of {{aggregate()}} and have two methods:
{code}
store(global,'a') => store('a').barrier()
store(local,'a') => store('a')
{code}
If you are storing global that means you are storing every traverser up to the
current step. Likewise, store local would only store the current traverser.
Here is the crappy thing. All of our {{xxx(Scope)}} steps default to
{{Scope.global}}: {{range()}}, {{tail()}}, {{count()}}...
We should probably keep the same pattern of {{Scope.global}} default, but then
that means that we would have a breaking change in the API.
{code}
store("a") -would-change-to-> store(local,"a")
{code}
We should have a {{storeV3d0()}} backward compatibility which would simply use
{{store(local,"a")}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)