Re: Confused about TransactionIdSetTreeStatus

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Japin Li <japinli(at)hotmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Confused about TransactionIdSetTreeStatus
Date: 2022-10-25 19:44:46
Message-ID: aa1caae2-0780-89fc-f84b-c265ab44eee4@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 25/10/2022 18:09, Japin Li wrote:
>
> On Tue, 25 Oct 2022 at 22:46, Heikki Linnakangas <hlinnaka(at)iki(dot)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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Justin Pryzby 2022-10-25 20:04:01 Re: GUC values - recommended way to declare the C variables?
Previous Message Reid Thompson 2022-10-25 18:59:17 Re: Add tracking of backend memory allocated to pg_stat_activity