Gaetano Mendola <[EMAIL PROTECTED]> writes:
> [ 8.2 evaluates volatile functions in the targetlist of a view ]
> If I mark the function as STABLE or IMMUTABLE then even with version
> 8.2 the function is not evaluated. Is this the intended behavior?

Yes; people complained that we needed to be more careful about the
number of times volatile functions get evaluated.

> I didn't see something about it in the release note.

      <listitem>
       <para>
        Do not flatten subqueries that contain <literal>volatile</>
        functions in their target lists (Jaime Casanova)
       </para>

       <para>
        This prevents surprising behavior due to multiple evaluation
        of a <literal>volatile</> function (such as <function>random()</>
        or <function>nextval()</>).  It might cause performance
        degradation in the presence of functions that are unnecessarily
        marked as <literal>volatile</>.
       </para>
      </listitem>

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to