Skip to content

PostgreSQL compatibility: factorial(21) should not overflow when PostgreSQL returns a numeric answer #22259

Open

Description

@Dandandan

Split out from #22247.

Mismatch

factorial(21) should not overflow when PostgreSQL returns a numeric answer.

SELECT factorial(21);

PostgreSQL:

51090942171709440000

DataFusion:

Overflow happened on FACTORIAL(21)

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. xiedeyantu commented on May 16, 2026

    @xiedeyantu
    Member

    take

  2. kumarUjjawal commented on May 18, 2026

    @kumarUjjawal
    Contributor

    duckdb

    memory D SELECT factorial(21);
    ┌──────────────────────┐
    │    factorial(21)     │
    │        int128        │
    ├──────────────────────┤
    │ 51090942171709440000 │
    └──────────────────────┘
    memory D
    
  3. Jefffrey commented on May 26, 2026

    @Jefffrey
    Contributor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

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