Andrea Santurbano created TINKERPOP-2854:
--------------------------------------------

             Summary: Generated Traversal differs from v3.4.13 to v3.6.1
                 Key: TINKERPOP-2854
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2854
             Project: TinkerPop
          Issue Type: Bug
    Affects Versions: 3.6.1
            Reporter: Andrea Santurbano


Hi everybovy,

I'm playing with Gremlin and OpenCypher query transpiler by using the following 
bytecode query:
{code:java}
[[], [inject(  cypher.start), map([[], [project(  GENERATED1,   GENERATED2,   
GENERATED3), by([[], [constant(1)]]), by([[], [constant(2)]]), by([[], 
[constant(3)]]), select(values)]]), project(r), by([[], [project(  GENERATED5,  
 GENERATED6,   GENERATED7), by([[], [identity()]]), by([[], [choose([[], 
[constant(binding[from=3])]], [[], [constant(binding[from=3])]], [[], 
[constant(  cypher.null)]])]]), by([[], [choose([[], 
[constant(binding[to=1])]], [[], [constant(binding[to=1])]], [[], [constant(  
cypher.null)]])]]), select(values), 
map(lambda[cypherListSlice().apply(it)])]])]]{code}
Using Gremlin 3.4.13 produces the following traversal:

 

 
{code:java}
[InjectStep([  cypher.start]), TraversalMapStep([ProjectStep([  GENERATED1,   
GENERATED2,   GENERATED3],[[ConstantStep(1)], [ConstantStep(2)], 
[ConstantStep(3)]]), TraversalMapStep(values)]), 
ProjectStep([r],[[ProjectStep([  GENERATED5,   GENERATED6,   
GENERATED7],[[IdentityStep], [ChooseStep([ConstantStep(3), 
HasNextStep],[[(eq(true)), [ConstantStep(3), EndStep]], [(eq(false)), 
[ConstantStep(  cypher.null), EndStep]]])], [ChooseStep([ConstantStep(1), 
HasNextStep],[[(eq(true)), [ConstantStep(1), EndStep]], [(eq(false)), 
[ConstantStep(  cypher.null), EndStep]]])]]), TraversalMapStep(values), 
LambdaMapStep(lambda)]])]{code}
while 3.6.1 creates this one (we only upgraded the library and changed some 
package name references):

 

 
{code:java}
[InjectStep([  cypher.start]), TraversalMapStep([ProjectStep([  GENERATED1,   
GENERATED2,   GENERATED3],[[ConstantStep(1)], [ConstantStep(2)], 
[ConstantStep(3)]]), TraversalMapStep(values)]), 
ProjectStep([r],[[ProjectStep([  GENERATED5,   GENERATED6,   
GENERATED7],[[IdentityStep], [ChooseStep([ConstantStep(OUT), 
HasNextStep],[[(eq(true)), [ConstantStep(OUT), EndStep]], [(eq(false)), 
[ConstantStep(  cypher.null), EndStep]]])], [ChooseStep([ConstantStep(IN), 
HasNextStep],[[(eq(true)), [ConstantStep(IN), EndStep]], [(eq(false)), 
[ConstantStep(  cypher.null), EndStep]]])]]), TraversalMapStep(values), 
LambdaMapStep(lambda)]])]{code}
Indeed the one in 3.6.1 is the wrong one because it adds some extra steps like 
{*}ConstantStep(IN){*}.

 

 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to