Re: Joins of data-modifying CTE with the target table

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alex Bolenok <quassnoi(at)gmail(dot)com>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Joins of data-modifying CTE with the target table
Date: 2023-04-19 15:46:04
Message-ID: 2983382.1681919164@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Alex Bolenok <quassnoi(at)gmail(dot)com> writes:
> I get why it's not working (because the statement is not allowed to see the
> tuples with its own cmin), but I was wondering if it was worth it at least
> to spell it out explicitly in the documentation.

What's not explicit about this?

The sub-statements in WITH are executed concurrently with each other
and with the main query. Therefore, when using data-modifying
statements in WITH, the order in which the specified updates actually
happen is unpredictable. All the statements are executed with the same
snapshot (see Chapter 13), so they cannot “see” one another's effects
on the target tables.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2023-04-19 15:52:39 Re: Joins of data-modifying CTE with the target table
Previous Message Adrian Klaver 2023-04-19 15:41:18 Re: COPY RETURNING?