apache / apache/datafusion

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

Open
#22,259 3 comments 0 reactions 1 assignee Claimed by @xiedeyantu View on GitHub
bug good first issue
Dominant language
Rust
Stars
9.3k
Forks
2.4k
Avg merge
3d 7h
Merged PRs (30d)
344

Description

Split out from #22247.

### Mismatch

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

```sql
SELECT factorial(21);
```

PostgreSQL:

```text
51090942171709440000
```

DataFusion:

```text
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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.