[ 
https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15795635#comment-15795635
 ] 

ASF GitHub Bot commented on TINKERPOP-1545:
-------------------------------------------

Github user okram commented on the issue:

    https://github.com/apache/tinkerpop/pull/486
  
    This is a good find. However, the implementation is a bit gimpy.
    
    `Step.getRequirements()` is already a recursive process as 
`TraversalParents` will check their children for requirements. I propose we go 
back to the `INVALIDATING_STEPS` model and just list all the steps that 
explicitly require `PATH`. That is, add the ones we were missing and keep the 
new test case you added to `IncidentToAdjacentStrategyTest`.
    
    * `PathStep`
    * `TreeStep`
    * `CyclicPathStep`
    * `SimplePathStep`
    * `EdgeOtherVertexStep`
    * `TreeSideEffectStep`
    
    ...then also add `LambdaHolder`.


> IncidentToAdjacentStrategy is buggy
> -----------------------------------
>
>                 Key: TINKERPOP-1545
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1545
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: process
>    Affects Versions: 3.1.4, 3.2.3
>            Reporter: Daniel Kuppitz
>            Assignee: Daniel Kuppitz
>
> {{IncidentToAdjacentStrategy}} turns {{outE().inV().simplePath()}} into 
> {{out().simplePath()}}, which will return a wrong result as soon as there is 
> more than 1 edge between a pair of vertices.
> The set {{INVALIDATING_STEP_CLASSES}} should only contain 
> {{PathProcessor.class}} and {{LambdaHolder.class}} Furthermore 
> {{SimplePathStep}} should implement {{PathProcessor}}.



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

Reply via email to