Moshe Jacobson <moshe@xxxxxxxxxxxx> 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 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general