Re: BUG #13938: CAST error on Index "function must be immutable"

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #13938: CAST error on Index "function must be immutable"
Дата
Msg-id 14233.1455038154@sss.pgh.pa.us
обсуждение исходный текст
Ответ на BUG #13938: CAST error on Index "function must be immutable"  (kurt@kwnet.at)
Ответы Re: BUG #13938: CAST error on Index "function must be immutable"
Список pgsql-bugs
kurt@kwnet.at writes:
> CREATE TABLE ud_data (
>  val TEXT,
> );

> CREATE INDEX ud_data_FLOAT ON ud_data(CAST(val AS FLOAT)) WHERE i_type=3;
> --accepted as valid.

> CREATE INDEX ud_data_TIME ON ud_data(CAST(val AS INTERVAL)) WHERE
> i_type=10;
> --results in error "functions in index expression must be marked IMMUTABLE"

This is not a bug.  The cast from text to interval isn't immutable because
its results may vary depending on the IntervalStyle setting.

> --the same error when casting to TIMESTAMP (with or without time zone)

Same, although it's DateStyle and/or TimeZone that affect this.

            regards, tom lane

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

Предыдущее
От: kurt@kwnet.at
Дата:
Сообщение: BUG #13938: CAST error on Index "function must be immutable"
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: BUG #13936: jsonb_object() -> ERROR: unknown type of jsonb container