[
https://issues.apache.org/jira/browse/TINKERPOP-2863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17711526#comment-17711526
]
ASF GitHub Bot commented on TINKERPOP-2863:
-------------------------------------------
xiazcy opened a new pull request, #2019:
URL: https://github.com/apache/tinkerpop/pull/2019
https://issues.apache.org/jira/browse/TINKERPOP-2863
Aligned mid-traversal hasId() processing of lists with TinkerGraphStep
filtering, to use P.within to check within lists of ids instead of using P.eq
to compare entire list.
This preserves the effect where that one cannot query list typed ids
(because we look within the list) that has been present historically with
vertex/edge id filtering in g.V()/g.E().
> 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
> Components: process
> Affects Versions: 3.6.2
> Reporter: Taylor Riggan
> Priority: Critical
>
> 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 or edge 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)