Skip to content

ArcadeDB 26.8.1: REMOVE after OPTIONAL MATCH and UNWIND raises RecordNotFoundException #6312

Description

@YGY-001

Environment

  • ArcadeDB Docker image: arcadedata/arcadedb:26.8.1

Steps to reproduce

Run the following Cypher on an empty, disposable Test database.

MATCH (n) DETACH DELETE n;

CREATE (n2:l2:l11 {id:2,klist:['n2v']})-[:rt2]->
       (n1 {id:1,k11:'u'})-[:R {klist:[-1365794787,-485798932]}]->
       (n0 {id:0,k1:'v',klist:[1,2,3]});
MATCH (n2 {id:2})
CREATE (:l11:l8:l1:l3:l5:l4:l9)-[:t]->(n2);

OPTIONAL MATCH p0 = (n2)-[:rt2]->(n1 {k11:'u'})-[{klist:[-1365794787,-485798932]}]->(n0),
  (:l11:l8:l1:l3:l5:l4:l9)-[]->(n2)
WITH *
WHERE n0 IS NOT NULL
UNWIND coalesce(n0.klist, []) AS alias3
WITH *
WHERE n2 IS NOT NULL
REMOVE n0.k1, n2.klist, n2:l2:l11
RETURN count(*) AS row_count;

Expected result

The query completes and returns row_count = 3 after unwinding [1, 2, 3]. Removing a property and labels from the matched vertices should not invalidate the current row.

Actual result

The query fails deterministically on a fresh database with a server-side exception equivalent to:

com.arcadedb.exception.RecordNotFoundException: Record #7:0 not found
  at com.arcadedb.database.immutable.ImmutableDocument.checkForLazyLoading
  at com.arcadedb.database.immutable.ImmutableVertex.modify
  at com.arcadedb.query.sql.executor.RemoveStep.removeProperty

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions