From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
---|---|
To: | ajantha_perera(at)yahoo(dot)com, pgsql-docs(at)lists(dot)postgresql(dot)org |
Subject: | Re: Serializable description seems misleading? |
Date: | 2019-12-11 04:06:33 |
Message-ID: | CA+hUKGJn8836OBzBgYYJ9yuy0C=2WcFrz1BuEJPUesU-6qvbwg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-docs |
On Wed, Dec 11, 2019 at 11:27 AM PG Doc comments form
<noreply(at)postgresql(dot)org> wrote:
> Page: https://www.postgresql.org/docs/12/transaction-iso.html
> Description:
>
> Let's say I have two transactions running in Serializable isolation:
> T1: Reads a row
> T2: Reads the same row
> T1: Updates the row
> T1: Commits
> T2: Commits
>
> You will not get an error on the second commit. These appear to fit the
> description of concurrent transactions, and running one before the other
> would give different results in the reading of the row by T2, depending on
> which transaction was executed first. So how does this square with the docs
> that state "it monitors for conditions which could make execution of a
> concurrent set of serializable transactions behave in a manner inconsistent
> with all possible serial (one at a time) executions".
It only has to be consistent with *one* serial ordering of the
transactions to be allowed, not all serial orderings. In this case,
the observed values and effects are consistent with T2 running before
T1.
> This seems quite misleading, but I understand there may just be an aspect of
> this that I am not understanding.
Do you think that wording could be improved?
From | Date | Subject | |
---|---|---|---|
Next Message | Devrim Gündüz | 2019-12-11 11:53:19 | Re: I suggest improving install steps for CentOS 8 |
Previous Message | Yasuhiro Horimoto | 2019-12-11 00:40:26 | Re: I suggest improving install steps for CentOS 8 |