On Tue, Sep 24, 2024 at 8:29 AM David G. Johnston < david.g.johns...@gmail.com> wrote:
> 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. > Huh? -- Death to <Redacted>, and butter sauce. Don't boil me, I'm still alive. <Redacted> crustacean!