apache / apache/datafusion

PostgreSQL compatibility: `ln(-1.0::float8)` should error, not return NaN

Aperta
#22,271 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub
bug
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.