[
https://issues.apache.org/jira/browse/TINKERPOP-2939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17747678#comment-17747678
]
ASF GitHub Bot commented on TINKERPOP-2939:
-------------------------------------------
vkagamlyk opened a new pull request, #2162:
URL: https://github.com/apache/tinkerpop/pull/2162
Fixed MergeE/MergeV steps to always throw exception for invalid `onMatch`
option.
Now exception is thrown only if the element is not present.
Jira https://issues.apache.org/jira/browse/TINKERPOP-2939
> 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
> Priority: Critical
>
> 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)