On Fri, Oct 18, 2013 at 5:08 PM, David Johnston <polobo@yahoo.com> wrote:
this thread hasn't really provided a compelling use-case for making a change: the example provided is too contrived.
It seems contrived because I distilled it down from what it originally was.
There is an actual use case in which this was failing:
We use stored procs to provide us the functionality of an UPSERT, which PostgreSQL lacks.
We are using this in the first CTE to create new entries in a table, and we are using the DELETE to delete the entries that already existed that we didn't just create. I am of the belief that if the function in a CTE is volatile, that it should be executed unconditionally.