On Jul 13, 2011, at 1:43 PM, Bruce Momjian <br...@momjian.us> wrote: > Daniele Varrazzo wrote: >> Hello, >> >> =# select extract(epoch from 'infinity'::timestamp); >> date_part >> ----------- >> 0 >> >> A better value would be 'infinity'::float8. Ditto for -infinity. >> >> I'm trying to use a box-based index to represent the intervals in a >> table containing a pair of fields date_from, date_to (timestamps), >> where semi-open intervals are represented with +/- infinity. Building >> the boxes using extract(epoch from ...) creates wrong entries as >> semi-open intervals are converted into a box with a corner in (0,0). > > Looking at: > > timestamptz_part(PG_FUNCTION_ARGS) > > I see: > > if (TIMESTAMP_NOT_FINITE(timestamp)) > { > result = 0; > PG_RETURN_FLOAT8(result); > } > > The assumption is that extracting _anything_ from an infinite timestamp > should be zero, but I can see your point that epoch perhaps should be > special-cased to return +/- inifinity. > > Does anyone object to changing this?
It's sort of non-obvious that either behavior is better than the other. We might just be replacing one surprising behavior with another. ...Robert -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers