Re: Invalid optimization of VOLATILE function in WHERE clause? - Mailing list pgsql-hackers

From Merlin Moncure
Subject Re: Invalid optimization of VOLATILE function in WHERE clause?
Date
Msg-id CAHyXU0xRTBk2w7epr1LEyVmQX41+KhNCScgmZVZZD6CX3rJnyw@mail.gmail.com
Whole thread Raw
In response to Invalid optimization of VOLATILE function in WHERE clause?  (Florian.Schoppmann@emc.com (Florian Schoppmann))
List pgsql-hackers
On Thu, Sep 20, 2012 at 9:24 AM, Kevin Grittner
<Kevin.Grittner@wicourts.gov> wrote:
> Merlin Moncure <mmoncure@gmail.com> wrote:
>
>> Hm, I bet it's possible (although probably not easy) to deduce
>> volatility from the function body...maybe through the validator.
>> If you could do that (perhaps warning in cases where you can't),
>> then the performance regression-inducing-argument (which I agree
>> with) becomes greatly ameliorated.
>
> For about the last 10 years the Wisconsin Courts have been parsing
> SQL code to generate Java query classes, including "stored
> procedures", and determining information like this.  For example, we
> set a readOnly property for the query class by examining the
> statements in the procedure and the readOnly status of each called
> procedure.  It wasn't that hard for us, and I'm not sure what would
> make much it harder in PostgreSQL, if we can do it where a parse
> tree for the function is handy.

hm, what do you do about 'after the fact' changes to things the
procedure body is pointing to?  what would the server have to do?

merlin



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: XLogInsert scaling, revisited
Next
From: Andres Freund
Date:
Subject: Re: XLogInsert scaling, revisited