[ 
https://issues.apache.org/jira/browse/TINKERPOP-2762?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stephen Mallette closed TINKERPOP-2762.
---------------------------------------
    Fix Version/s: 3.7.0
                   3.6.1
                   3.5.4
         Assignee: Dave Bechberger
       Resolution: Done

> getScopeKeys should respect the order of keys passed in Step
> ------------------------------------------------------------
>
>                 Key: TINKERPOP-2762
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2762
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.6.0, 3.4.13, 3.5.3
>            Reporter: Norio Akagi
>            Assignee: Dave Bechberger
>            Priority: Major
>             Fix For: 3.7.0, 3.6.1, 3.5.4
>
>
> Right now, {{Scoping#getScopeKeys}} return {{Set<String>}} to return all keys 
> used in scoping.
> Depending on each Step's implementation, this loses the information of the 
> order of keys. For example, {{SelectStep}} stores keys as {{HashSet}}
> [https://github.com/apache/tinkerpop/blob/cf95caaf139b5570d0c2d509b74f6f6cb561ffaf/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectStep.java#L61]
> When GraphProvider implements their own optimization for SelectStep, 
> naturally they want to access this keys, but let's say when a query has 
> {{{}select('a', 'b'){}}}, the GraphProvider can only know there are keys 
> {{'a'}} and {{'b'}} and cannot see which comes first because it returns as 
> {{{}HashSet{}}}.
> This blocks them from performing their own by-traversal for each key, because 
> applying by-traversals is done in round-robin manner and the order is 
> critical information to process.
> For now, I am adding a getter of the list for a provider.
> https://github.com/apache/tinkerpop/pull/1726



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to