You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Yang Xia (Jira)" <ji...@apache.org> on 2023/04/28 20:50:00 UTC

[jira] [Created] (TINKERPOP-2939) The Merge onMatch map validation is during execution instead of construction

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)