On Monday, September 23, 2024, Wizard Brony <wizardbr...@gmail.com> wrote:

> https://www.postgresql.org/docs/16/transaction-iso.html#
> XACT-REPEATABLE-READ
>
> The PostgreSQL documentation for the Repeatable Read Isolation Level
> states the following:
>
> “UPDATE, DELETE, MERGE, SELECT FOR UPDATE, and SELECT FOR SHARE commands
> behave the same as SELECT in terms of searching for target rows: they will
> only find target rows that were committed as of the transaction start time.”
>
> What is defined as the "transaction start time?" When I first read the
> statement, I interpreted it as the start of the transaction:
>
> BEGIN;
> SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
>
> But in my testing, I find that according to that statement, the
> transaction start time is actually "the start of the first
> non-transaction-control statement in the transaction" (as mentioned earlier
> in the section). Is my conclusion correct, or am I misunderstanding the
> documentation?
>
>
Probably, since indeed the transaction cannot start at begin because once
it does start it cannot be modified.

David J.

Reply via email to