Skip to content

Neo4j Compatibility: any(x IN [] WHERE true) #2291

@zihaozeng0021

Description

@zihaozeng0021

Configuration

AGE Version: apache/age:latest (pulled 2025-12-26)

Operating System: WSL2 – Ubuntu 24.04.1 LTS

Installation Method: Docker


Steps to reproduce

  1. Start AGE via Docker
docker run \
  --name age \
  -p 5455:5432 \
  -e POSTGRES_USER=postgresUser \
  -e POSTGRES_PASSWORD=postgresPW \
  -e POSTGRES_DB=postgresDB \
  -d \
  apache/age:latest
  1. Connect with psql
PGPASSWORD='postgresPW' psql -h localhost -p 5455 -U postgresUser -d postgresDB
  1. Run the following query
CREATE EXTENSION IF NOT EXISTS age;
LOAD 'age';
SET search_path = ag_catalog, "$user", public;

SELECT create_graph('test');

SELECT * FROM cypher('test', $$
  RETURN any(x IN [] WHERE true)
$$) AS (r agtype);

Expected behaviour

AGE aims to be 100% compatible with Neo4j wherever possible, so this query is expected to work as it does in Neo4j:

neo4j@neo4j> RETURN any(x IN [] WHERE true);
+-------------------------+
| any(x IN [] WHERE true) |
+-------------------------+
| FALSE                   |
+-------------------------+

Actual behaviour

The query fails with:

ERROR:  syntax error at or near "WHERE"
LINE 2:   RETURN any(x IN [] WHERE true)
                             ^

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