[
https://issues.apache.org/jira/browse/TINKERPOP-1762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16147381#comment-16147381
]
ASF GitHub Bot commented on TINKERPOP-1762:
-------------------------------------------
Github user okram commented on a diff in the pull request:
https://github.com/apache/tinkerpop/pull/701#discussion_r136094137
--- Diff:
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchStep.java
---
@@ -513,8 +513,15 @@ public int hashCode() {
this.scopeKeys = new HashSet<>();
if (null != this.selectKey)
this.scopeKeys.add(this.selectKey);
- if (this.getNextStep() instanceof WhereTraversalStep ||
this.getNextStep() instanceof WherePredicateStep)
- this.scopeKeys.addAll(((Scoping)
this.getNextStep()).getScopeKeys());
+ final Set<String> endLabels = ((MatchStep<?, ?>)
this.getTraversal().getParent()).getMatchEndLabels();
+ Stream.concat(
+
TraversalHelper.getStepsOfAssignableClassRecursively(WherePredicateStep.class,
this.getTraversal()).stream(),
+
TraversalHelper.getStepsOfAssignableClassRecursively(WhereTraversalStep.class,
this.getTraversal()).stream()).
+ flatMap(s ->
s.getScopeKeys().stream()).filter(endLabels::contains).forEach(this.scopeKeys::add);
--- End diff --
Done.
> Make MatchStep analyze mid-clause variables for executing ordering purposes.
> ----------------------------------------------------------------------------
>
> Key: TINKERPOP-1762
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1762
> Project: TinkerPop
> Issue Type: Bug
> Components: process
> Affects Versions: 3.2.6
> Reporter: Marko A. Rodriguez
> Assignee: Marko A. Rodriguez
>
> {code}
> gremlin> graph = TinkerGraph.open()
> ==>tinkergraph[vertices:0 edges:0]
> gremlin> graph.io(graphml()).readGraph("data/grateful-dead.xml")
> ==>null
> gremlin> g = graph.traversal()
> ==>graphtraversalsource[tinkergraph[vertices:808 edges:8049], standard]
> gremlin>
> gremlin> t = g.V().match(
> ......1> __.as("sunshine").has("song", "name", "HERE COMES SUNSHINE"),
> ......2>
> __.as("sunshine").map(inE("followedBy").values("weight").mean()).as("avg_weight"),
> ......3> __.as("sunshine").inE("followedBy").as("x"),
> ......4>
> __.as("x").filter(values("weight").where(gte("avg_weight"))).outV().as("followers")
> ......5> ).
> ......6> select("followers").by("name"); []
> gremlin>
> gremlin> t.clone().limit(2)
> ==>LOOKS LIKE RAIN
> ==>PROMISED LAND
> gremlin> t
> Neither the sideEffects, map, nor path has a avg_weight-key:
> WherePredicateStep(gte(avg_weight))
> Type ':help' or ':h' for help.
> Display stack trace? [yN]
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)