Skip to content

PostgreSQL compatibility: array_length of an empty array dimension should be NULL #22264

Open

Description

@Dandandan

Split out from #22247.

Mismatch

array_length of an empty array dimension should be NULL.

SELECT array_length(array[]::int[], 1);

PostgreSQL:

NULL

DataFusion:

0

Expected behavior

For PostgreSQL-compatible SQL semantics, DataFusion should either match PostgreSQL's result or raise the same class of domain/semantic error.

Activity

  1. raushanprabhakar1 commented on May 17, 2026

    @raushanprabhakar1
    Contributor

    take

  2. kumarUjjawal commented on May 18, 2026

    @kumarUjjawal
    Contributor

    DuckDb

    memory D SELECT array_length(array[]::int[], 1);
    ┌───────────────────────────────────────────────┐
    │ array_length(CAST((ARRAY[]) AS INTEGER[]), 1) │
    │                     int64                     │
    ├───────────────────────────────────────────────┤
    │                                             0 │
    └───────────────────────────────────────────────┘
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugSomething isn't workinggood first issueGood for newcomers

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions