Re: Error: timestamp with timezone + interval is not immutable while creating index

Поиск
Список
Период
Сортировка
От David Salisbury
Тема Re: Error: timestamp with timezone + interval is not immutable while creating index
Дата
Msg-id 4E9771E4.2000005@globe.gov
обсуждение исходный текст
Ответ на Error: timestamp with timezone + interval is not immutable while creating index  (Phil Couling <couling@gmail.com>)
Список pgsql-general

On 10/13/11 4:38 PM, Phil Couling wrote:
> Hi All
>
> I've got a table with (amongst others) two fields:
> last_updated timestamp with time zone;
> update_cycle interval;
>
> I'd like to create an index on these, to index time "next update" time
> (last_updated + update_cycle).
>
> When I try this I get an error though:
>
> main=>  create index foo_next_update on foo( (last_updated + update_cycle) ) ;
> ERROR:  functions in index expression must be marked IMMUTABLE
>
> Does anyone know why adding two fields like this results in anything
> other than an immutable function?  Under what circumstances could it
> return a different result?
>
> Thanks very much for any help.
>


I believe the problem is that you have a TZ on your timestamp, and
that makes things mutable.

functions that deal with time can't be marked as immutable do to this
reason.

-Dave

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

Предыдущее
От: David Salisbury
Дата:
Сообщение: exclusive OR possible within a where clause?
Следующее
От: Steve Crawford
Дата:
Сообщение: Re: Error: timestamp with timezone + interval is not immutable while creating index