Re: Re: [GENERAL] +/- Inf for float8's

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Re: [GENERAL] +/- Inf for float8's
Дата
Msg-id 23951.991516260@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Re: [GENERAL] +/- Inf for float8's  (Peter Eisentraut <peter_e@gmx.net>)
Список pgsql-hackers
Peter Eisentraut <peter_e@gmx.net> writes:
> I was thinking about making NaN equivalent to NULL.

Mumble ... in the thread last August, someone made the point that SQL's
idea of NULL ("unknown value") is not really the same as a NaN ("I know
that this is not a well-defined number").  Even though there's a lot of
similarity in the behaviors, I'd be inclined to preserve that semantic
distinction.

If we did want to do this, the implication would be that all
float-returning functions would be required to make sure they were not
returning NaNs:if (isnan(x))    PG_RETURN_NULL();else    PG_RETURN_FLOAT8(x);
Possibly this logic could be folded right into the PG_RETURN_FLOAT
macros.

> if the platform supports it we ought to make the Invalid Operation FP
> exception (which yields NaN) configurable:  either get NULL or get an
> error.

Seems like we could equally well offer the switch as "either get NaN
or get an error".

Something to be kept in mind here is the likelihood of divergence in
our behavior between IEEE and non-IEEE platforms.  I don't object to
that --- it's sort of the point --- but we should be aware of how much
difference we're creating, and try to avoid unnecessary differences.
Hmm ... I suppose an attraction of a NULL-vs-error, as opposed to NaN-
vs-error, option is that it could theoretically be supported on NaN-less
hardware.  But is that realizable in practice?  SIGFPE is messy.
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: Re: [GENERAL] +/- Inf for float8's
Следующее
От: Gavin Sherry
Дата:
Сообщение: Re: Full text searching, anyone interested?