Re: Bug? Function with side effects not evaluated in CTE - Mailing list pgsql-general

From Tom Lane
Subject Re: Bug? Function with side effects not evaluated in CTE
Date
Msg-id 7748.1381958812@sss.pgh.pa.us
Whole thread Raw
In response to Bug? Function with side effects not evaluated in CTE  (Moshe Jacobson <moshe@neadwerx.com>)
Responses Re: Bug? Function with side effects not evaluated in CTE  (Merlin Moncure <mmoncure@gmail.com>)
List pgsql-general
Moshe Jacobson <moshe@neadwerx.com> writes:
> However, It behaves as one would expect if the first CTE is built with INSERT
> ... RETURNING.

CTEs containing INSERT/UPDATE/DELETE are guaranteed to be executed exactly
once.  CTEs containing SELECTs are guaranteed to be executed at most once
(the documentation phrases that as "execution can stop early if the outer
query doesn't read all the rows" --- in this case, it read none of them,
since the outer query never had to evaluate the NOT IN).

I see no bug here.

            regards, tom lane


pgsql-general by date:

Previous
From: Moshe Jacobson
Date:
Subject: Re: Bug? Function with side effects not evaluated in CTE
Next
From: Adrian Klaver
Date:
Subject: Re: pg_hba.conf broken after cluster upgrade