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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions