Skip to content

WHERE false literal predicate may be ignored #4112

@Silence6666668

Description

@Silence6666668

ArcadeDB version
Observed on Docker images:

  • arcadedata/arcadedb:26.3.2
  • arcadedata/arcadedb:26.4.1-SNAPSHOT
  • arcadedata/arcadedb:26.4.2

Environment

  • Host OS: Windows 10
  • Architecture: x86_64
  • Deployment: Docker
  • ArcadeDB endpoint: HTTP /api/v1/command/arcade
  • Request mode matches ArcadeDB Studio:
    • language: opencypher
    • serializer: studio
  • Differential comparison target: Neo4j Docker neo4j:latest

Describe the bug
ArcadeDB may ignore a literal boolean false predicate in WHERE.

In the minimized repro below, Neo4j correctly returns no rows because the WHERE false predicate rejects every matched row.
ArcadeDB returns the matched node anyway.

This is not only a formatting or serialization difference: the row survives a predicate that should be unconditionally false.

To Reproduce

Setup:

CREATE (:Person {name:'Alice'});

Query:

MATCH (p:Person)
WHERE false
RETURN p.name AS name;

Expected behavior
No rows should be returned.

Neo4j result:

0 rows

Actual behavior
ArcadeDB returns:

Alice

Control cases

Equivalent false expressions that do not use the literal false are filtered correctly:

MATCH (p:Person)
WHERE true = false
RETURN p.name AS name;

Observed ArcadeDB result:

0 rows
MATCH (p:Person)
WHERE 1 = 0
RETURN p.name AS name;

Observed ArcadeDB result:

0 rows
MATCH (p:Person)
WHERE NOT true
RETURN p.name AS name;

Observed ArcadeDB result:

0 rows

However, boolean expressions containing the literal false can still be ignored:

MATCH (p:Person)
WHERE false AND p.name = 'Alice'
RETURN p.name AS name;

Expected:

0 rows

Observed ArcadeDB result:

Alice
MATCH (p:Person)
WHERE p.name = 'Alice' AND false
RETURN p.name AS name;

Expected:

0 rows

Observed ArcadeDB result:

Alice

This suggests the issue is specifically tied to the boolean literal false inside WHERE, rather than false-valued predicates in general.

Metadata

Metadata

Assignees

Type

No fields configured for Bug.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions