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