Re: Confused by example in 13.2.2

Поиск
Список
Период
Сортировка
От Dmitry Igrishin
Тема Re: Confused by example in 13.2.2
Дата
Msg-id CAAfz9KOi1r9G1oukFiYOZdLRjR8KrGzOG8DTxEzEXr+o+1+uhw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Confused by example in 13.2.2  (Kevin Grittner <kgrittn@ymail.com>)
Список pgsql-docs


2015-08-03 4:35 GMT+03:00 Kevin Grittner <kgrittn@ymail.com>:
Dmitry Igrishin <dmitigr@gmail.com> wrote:

> I'm confused a bit by example in 13.2.2:

In current docs that is the "Repeatable Read Isolation Level"
section.

> "For example, even a read only transaction at this level may see a
> control record updated to show that a batch has been completed but
> not see one of the detail records which is logically part of the batch
> because it read an earlier revision of the control record."
>
> Could anyone clarify this example? And what is "control record"?

Yeah, that sentence doesn't really have enough context. There was
discussion around this example in the Wiki:

https://wiki.postgresql.org/wiki/SSI#Deposit_Report
Thank you for the link! 


... and with that fresh in everyone's memory it seemed to make
sense at the time. Would this change make it clear to you?:

"For example, you might have a workload involving batches, with a
control table having a record to describe the state of each batch
and another table with the detail; a read only transaction at this
isolation level could see a control record updated to show that a
batch has been completed but not see one of the detail records
which is logically part of the batch because the transaction
inserting the detail read an earlier version of the control
record."
Yes, it's clearer, but the following yet more clear to me:
"For example, let you have table Receipt with batches and table Control
with a single record pointing to the batch being processed currently.
Let the transaction T1 inserts a records into Receipt. At about the same time
transaction T2 updates the Control to start working with a new batch and
commits. Next, the read only transaction T3 at this isolation level could see
an updated by T2 record from Control but not see some records from Receipt which are part of the some batch, because the uncommitted transaction T1 has used earlier version of record from Control upon inserts."

Hopefully the example from the Wiki makes it clear. There has been
some discussion about whether to link to the Wiki or bring an
example like that into the documentation; but we usually don't
link to Wiki pages and the example is somewhat long to include
in-line in the documentation. Any thoughts on the best solution to
that?
I've tried to adopt the example from Wiki above.

Thanks!


--
// Dmitry.

В списке pgsql-docs по дате отправления:

Предыдущее
От: Kevin Grittner
Дата:
Сообщение: Re: Confused by example in 13.2.2
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Confused by example in 13.2.2