Yang Xia created TINKERPOP-2939:
-----------------------------------

             Summary: The Merge onMatch map validation is during execution 
instead of construction
                 Key: TINKERPOP-2939
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2939
             Project: TinkerPop
          Issue Type: Improvement
          Components: process
    Affects Versions: 3.6.3
            Reporter: Yang Xia


A small thing I noticed related to TINKERPOP-2931.


With an empty graph, the traversal
{code:java}
g.mergeV([:]).option(onMatch, ['~label', 'vertex']) {code}
will create a new vertex, and since onMatch failed it doesn't apply anything 
inside regardless if it's a valid map or not, and will return
{code:java}
v[0]{code}
This won't have any impact function-wise, since the onMatch map will be 
validated when the vertex is found, but just wondering if we should validate 
this on construction instead of execution?


A more visual example on 3.6.3-SNAPSHOT console.
{code:java}
gremlin> g.mergeV([:]).option(Merge.onMatch, ['~label':'vertex'])
==>v[0]
gremlin> g.mergeV([:]).option(Merge.onMatch, ['~label':'vertex'])
Property key can not be a hidden key: ~label
Type ':help' or ':h' for help.
Display stack trace? [yN]n
gremlin> {code}



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

Reply via email to