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)

Reply via email to