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

Поиск
Список
Период
Сортировка
От Andriy Tkachuk
Тема Re: IMMUTABLE function's flag do not work: 7.3.4, plpgsql
Дата
Msg-id 20031013101614.A51447-100000@pool.imt.com.ua
обсуждение исходный текст
Ответ на Re: IMMUTABLE function's flag do not work: 7.3.4, plpgsql  (Gaetano Mendola <mendola@bigfoot.com>)
Список pgsql-performance
Oh, Gaetano, didn't you see in my first letter of this topic
that args are the same in session (they are constant)?

The first paragraf of my first letter of this topic was:
< Hi folks. I notice that immutable flag does nothing when i invoke
< my plpgsql function within one session with same args.
                                         ^^^^^^^^^^^^^^
... ok, mabe i should say "constant args" as in doc.

Anyway, thank you for attention and willing to help.

regards, andriy tkachuk (http://imt.com.ua)

On Sun, 12 Oct 2003, Gaetano Mendola wrote:

> 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 по дате отправления:

Предыдущее
От: David Griffiths
Дата:
Сообщение: Re: Another weird one with an UPDATE
Следующее
От: Andriy Tkachuk
Дата:
Сообщение: Re: One or more processor ?