Re: Can't figure out how to use now() in default for tsrange column (PG 9.2)
От | Alban Hertroys |
---|---|
Тема | Re: Can't figure out how to use now() in default for tsrange column (PG 9.2) |
Дата | |
Msg-id | 0DB28A00-2921-4CA2-B47C-65AD388ED8E1@gmail.com обсуждение исходный текст |
Ответ на | Re: Can't figure out how to use now() in default for tsrange column (PG 9.2) (Daniele Varrazzo <daniele.varrazzo@gmail.com>) |
Ответы |
Re: Can't figure out how to use now() in default for tsrange column (PG 9.2)
|
Список | pgsql-general |
On 16 Jul 2012, at 17:57, Daniele Varrazzo wrote: > On Mon, Jul 16, 2012 at 3:56 PM, Craig Ringer <ringerc@ringerc.id.au> wrote: >> On 07/16/2012 07:41 PM, Alban Hertroys wrote: >>>>> >>>>> BTW, that second value looks a whole lot like a poorly thought out > >> Yup. The 'infinity' value doesn't play well with all database access APIs >> and languages, though. > > It doesn't even play well with PostgreSQL's extract(). I reported it > some times ago but as of 9.1.4 it has not been fixed. > > =# select extract(epoch from 'infinity'::timestamp); > date_part > ----------- > 0 > > This makes 'infinity' a problematic choice in any application > requiring a mapping between dates and reals, such as when using > intervals in gist indexes. Well yeah, obviously. I don't think many mathematicians have wrapped their brain around questions like what day of the weekinfinity is and whether it's a working day or not. Perhaps Douglas Adams did, in which case it was probably a Tuesday. I'm just saying, most of the date-parts that extract can retrieve from a timestamp are meaningless with infinity. But, theyare also be meaningless with a placeholder date like 31-12-2999. That said, if it were up to me to decide what the proper epoch value would be for infinity, I'd say NULL - it is unknownas computers simply can't count far enough. It's probably only a matter of time until someone thinks of a solutionfor that though. Alban Hertroys -- If you can't see the forest for the trees, cut the trees and you'll find there is no forest.
В списке pgsql-general по дате отправления: