PostgreSQL compatibility: `ln(-1.0::float8)` should error, not return NaN
- Lingua principale
- Rust
- Stelle
- 9.3k
- Fork
- 2.4k
- Merge medio
- 3g 11h
- PR unite (30g)
- 360
Descrizione
Split out from #22247.
### Mismatch
`ln(-1.0::float8)` should error, not return NaN.
```sql
SELECT ln((-1.0)::float8);
```
PostgreSQL:
```text
ERROR: cannot take logarithm of a negative number
```
DataFusion:
```text
NaN
```
### Expected behavior
For PostgreSQL-compatible SQL semantics, DataFusion should either match PostgreSQL's result or raise the same class of domain/semantic error.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Cerca nell’implementazione Rust e nei test di DataFusion la funzione ln per i valori float8, iniziando dalla gestione degli input negativi. Usa SELECT ln((-1.0)::float8) come riproduzione e verifica che il comportamento completato generi un errore di dominio o semantico compatibile con PostgreSQL invece di restituire NaN.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- postgresql, rust
- Ambito
- databases
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 64/100