Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-1472

RepeatUnrollStrategy does not semi-compile inlined repeat traversal

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.2.2
    • 3.2.3
    • process
    • None

    Description

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

      g.V().repeat(outE().inV()).times(2)
      

      This is currently compiled to:

      g.V().outE().inV().outE().inV()
      

      It should be compiled to:

      g.V().out().out()
      

      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."

      Attachments

        Activity

          People

            okram Marko A. Rodriguez
            okram Marko A. Rodriguez
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: