Skip to content

MERGE does not set properties involving variables #1219

@rafsun42

Description

@rafsun42

Note: This task is ONLY assigned to people in the 'refactor create\merge' project.

Describe the bug
If properties in the MERGE clause is set from a previous variable (i.e. .. MERGE ( {key: some_variable} ) ..), that particular key-value pair is not persisted.

How are you accessing AGE (Command line, driver, etc.)?
Command line

What data setup do we need to do?

...
SELECT * FROM cypher('xyz',
$$
CREATE (x:Label1{arr:[1,2,3,4]})
RETURN x 
$$) as (a agtype);
...

What is the necessary configuration info needed?
N/A

What is the command that caused the error?

SELECT * FROM cypher('xyz', 
$$
MATCH (x:Label1{arr:[1,2,3,4]})
MERGE (y:Label2{key1:2, key2:x.arr, key3:3})
RETURN y
$$) as (a agtype);

Behavior
The key2: x.arr pair is not persisted in the output.

Output:

                                             a                                             
-------------------------------------------------------------------------------------------
 {"id": 1688849860263937, "label": "Label2", "properties": {"key1": 2, "key3": 3}}::vertex
(1 row)

Expected behavior
Expected output:

                                             a                                             
-------------------------------------------------------------------------------------------
 {"id": 1688849860263937, "label": "Label2", "properties": {"key1": 2, "key2": [1, 2, 3, 4], "key3": 3}}::vertex
(1 row)

Environment (please complete the following information):
PG15.4
Master branch
Ubuntu 22.04

Additional context
N/A

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions