Re: Why *exactly* is date_trunc() not immutable ? - Mailing list pgsql-general

From Michael Glaesemann
Subject Re: Why *exactly* is date_trunc() not immutable ?
Date
Msg-id 9D213BD2-5427-44AC-B916-355E03CE709C@seespotcode.net
Whole thread Raw
In response to Re: Why *exactly* is date_trunc() not immutable ?  (Karsten Hilbert <Karsten.Hilbert@gmx.net>)
List pgsql-general
On Feb 18, 2007, at 23:12 , Karsten Hilbert wrote:

> On Sun, Feb 18, 2007 at 09:19:43PM +0900, Michael Glaesemann wrote:
>
>>> What I don't understand, however, is exactly *why* date_trunc is
>>> not immutable ?
>>
>> I believe it's because the result of date_trunc depends on the time
>> zone setting for the session.
>
> ...
>
>> So, given the same arguments, ('day', and current_timestamp),
>> date_trunc is returning two different results. (Casting to date has
>> the same issue.)
>
> Ah, I see. That makes sense.
>
> Now, if I'd write a
>
>     date_trunc_utc(precision, timestamp with time zone)
>
> which converts input timestamps to UTC I could fairly safely
> mark that IMMUTABLE, no ?


Yeah, I think if you normalized it to UTC you could mark your new
function as immutable.

Michael Glaesemann
grzm seespotcode net



pgsql-general by date:

Previous
From: Michael Glaesemann
Date:
Subject: Re: Why *exactly* is date_trunc() not immutable ?
Next
From: Alban Hertroys
Date:
Subject: Re: complex referential integrity constraints