Marko A. Rodriguez created TINKERPOP-1472:
---------------------------------------------

             Summary: RepeatUnrollStrategy does not semi-compile inlined repeat 
traversal
                 Key: TINKERPOP-1472
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1472
             Project: TinkerPop
          Issue Type: Bug
          Components: process
    Affects Versions: 3.2.2
            Reporter: Marko A. Rodriguez
            Assignee: Marko A. Rodriguez
             Fix For: 3.2.3


There is a bug in {{RepeatUnrollStrategy}}. Assume the following traversal:

{code}
g.V().repeat(outE().inV()).times(2)
{code}

This is currently compiled to:

{code}
g.V().outE().inV().outE().inV()
{code}

It should be compiled to:

{code}
g.V().out().out()
{code}

What is the problem? {{RepeatUnrollStrategy}} is the first strategy that takes 
a child traversal and injects it into the parent traversal. By doing that, any 
strategies up to that point have not been kicked off and thus, the injected 
traversal sequence isn't privy to all the strategies prior to 
{{RepeatUnrollStrategy}} (e.g. {{IncidentToAdjacentTraversal}}). 

In TINKERPOP-1456 branch, there is the fix as {{InlineFilterStrategy}} was 
created and the bug showed itself there. Thus, when TINKERPOP-1456 is merged to 
master/, close this ticket as "fixed."



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

Reply via email to