Skip to content

Server terminates for SET plus-equal when the original properties has a non-scalar value #1159

@Zainab-Saad

Description

@Zainab-Saad

Describe the bug
Updating properties of a vertex/edge (having a non-scalar value) with SET plus-equal terminates the server

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

What data setup do we need to do?
Create 2 vertices with non-scalar property values

SELECT * FROM cypher('graph', $$
CREATE (n: A {map: {a : 1}}), (m: B {lst: [1, 2]})
$$) AS (result agtype);

What is the command that caused the error?
This query terminated the server (same for vertex with label B)

SELECT * FROM cypher('graph', $$
MATCH (n: A) SET n += {bool: true} RETURN n
$$) AS (result agtype);

Expected behavior
Should update the properties as below

                                            result                                            
----------------------------------------------------------------------------------------------
 {"id": 844424930131969, "label": "A", "properties": {"map": {"a": 1}, "bool": true}}::vertex
(1 row)

Environment (please complete the following information):
AGE master (This problem exists for other branches too)

Additional context
SET plus-equal works fine for scalar property values

SELECT * FROM cypher('graph', $$
CREATE (n: C {num : 1}) RETURN n
$$) AS (result agtype);
SELECT * FROM cypher('graph', $$
MATCH (n: C) SET n += {bool: true} RETURN n
$$) AS (result agtype);
                                         result                                         
----------------------------------------------------------------------------------------
 {"id": 1407374883553281, "label": "C", "properties": {"num": 1, "bool": true}}::vertex
(1 row)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions