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 <[EMAIL PROTECTED]> 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


---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to