Taylor Riggan created TINKERPOP-2863: ----------------------------------------
Summary: HasId Step generates incorrect results when given a list of IDs mid-traversal Key: TINKERPOP-2863 URL: https://issues.apache.org/jira/browse/TINKERPOP-2863 Project: TinkerPop Issue Type: Bug Affects Versions: 3.6.2 Reporter: Taylor Riggan In most situations, hasId() will accept a list of potential IDs to filter on and implicitly use within() filtering semantics to return the correct results. Examples: {code:java} g.V().hasId(['1','2']) {code} returns: {code:java} [v[1], v[2]]{code} or {code:java} g.E().hasId(['5140','5261']){code} returns: {code:java} [e[5140][1-route->51], e[5261][1-route->398]]{code} However, when using the same form of semantics mid-traversal, both of these queries return empty results: {code:java} g.V().has('code','ATL').outE('route').hasId(['5140','5261']) g.V().has('code','ATL').outE('route').inV().hasId(['2','3']) {code} When using profile() against both queries, the hasId() bytecode gets transformed into {code:java} HasStep([~id.eq([5140, 5261])]) {code} This equates to finding a vertex with an ID that matches the entire list instead of the elements within the list. The preceding was tested against Gremlin Server 3.6.2 with the Airroutes dataset. -- This message was sent by Atlassian Jira (v8.20.10#820010)