On 25/10/2022 18:09, Japin Li wrote:
On Tue, 25 Oct 2022 at 22:46, Heikki Linnakangas <hlinn...@iki.fi> wrote:
On 25/10/2022 12:02, Japin Li wrote:
However, the code marks the main transaction and subtransactions directly
to the committed.
Hmm, yeah, step 2 in this example doesn't match reality. We actually
set t and t1 directly as committed. The explanation above that comment
is correct, but the example is not. It used to work the way the
example says, but that was changed in commit
06da3c570f21394003fc392d80f54862f7dec19f. Ironically, that commit also
added the outdated comment.
The correct example would be:
TransactionId t commits and has subxids t1, t2, t3, t4 t is on page
p1, t1 is also on p1, t2 and t3 are on p2, t4 is on p3
1. update pages2-3:
page2: set t2,t3 as sub-committed
page3: set t4 as sub-committed
2. update page1:
page1: set t,t1 as committed,
3. update pages2-3:
page2: set t2,t3 as committed
page3: set t4 as committed
Thanks for your explanation. Attach a patch to remove the outdated comment.
Applied, thanks!
- Heikki