[
https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15657806#comment-15657806
]
ASF GitHub Bot commented on TINKERPOP-1545:
-------------------------------------------
Github user dkuppitz commented on the issue:
https://github.com/apache/tinkerpop/pull/486
I think we have 2 options:
1. reset requirements (a simple `this.requirements = null;`) at the end of
mutating methods (`addStep` and `removeStep`)
2. don't cache requirements before `applyStrategies()`
The problem with 1 is, that we would have to propagate the reset to all
child- and parent-traversals.
The problem with 2 is, that if we don't cache requirements while startegies
are being applied, why do we cache them at all? Are requirements used at
runtime?
Thoughts?
> IncidentToAdjacentStrategy is buggy
> -----------------------------------
>
> Key: TINKERPOP-1545
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1545
> Project: TinkerPop
> Issue Type: Bug
> 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)