Re: IMMUTABLE function's flag do not work: 7.3.4, plpgsql

Поиск
Список
Период
Сортировка
От Gaetano Mendola
Тема Re: IMMUTABLE function's flag do not work: 7.3.4, plpgsql
Дата
Msg-id 3F89C798.4090402@bigfoot.com
обсуждение исходный текст
Ответ на Re: IMMUTABLE function's flag do not work: 7.3.4, plpgsql  (Andriy Tkachuk <ant@imt.com.ua>)
Ответы Re: IMMUTABLE function's flag do not work: 7.3.4, plpgsql  (Andriy Tkachuk <ant@imt.com.ua>)
Список pgsql-performance
Andriy Tkachuk wrote:

> On Thu, 9 Oct 2003, Gaetano Mendola wrote:
>>Andriy Tkachuk wrote:
>>>On Wed, 8 Oct 2003, Tom Lane wrote:
>>>>Andriy Tkachuk <ant@imt.com.ua> writes:
>>>>>At second. calc_total() is immutable function:
>>>>>but it seems that it's not cached in one session:
>>>>
>>>>It's not supposed to be.
>>>
>>>
>>>but it's written id doc:
>>>
>>>              IMMUTABLE indicates that the function always  returns  the  same
>>>              result when given the same argument values; that is, it does not
>>>              do database lookups or otherwise use  information  not  directly
>>>              present in its parameter list. If this option is given, any call
>>>              of the function with all-constant arguments can  be  immediately
>>>              replaced with the function value.
>>
>>The doc say "can be" not must and will be.
>
>
> ok, but on what it depends on?

For example in:

select * from T where f_immutable ( 4 ) = T.id;


in this case f_immutable will be evaluated once.



select * from T where f_immutable ( T.id ) = X;

here f_immutable will be avaluated for each different T.id.



Regards
Gaetano Mendola


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

Предыдущее
От: Josh Berkus
Дата:
Сообщение: Re: [SQL] sql performance and cache
Следующее
От: David Griffiths
Дата:
Сообщение: Re: Another weird one with an UPDATE