[
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)