Re: Confused about TransactionIdSetTreeStatus - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Confused about TransactionIdSetTreeStatus
Date
Msg-id aa1caae2-0780-89fc-f84b-c265ab44eee4@iki.fi
Whole thread Raw
In response to Re: Confused about TransactionIdSetTreeStatus  (Japin Li <japinli@hotmail.com>)
List pgsql-hackers
On 25/10/2022 18:09, Japin Li wrote:
> 
> On Tue, 25 Oct 2022 at 22:46, Heikki Linnakangas <hlinnaka@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




pgsql-hackers by date:

Previous
From: Reid Thompson
Date:
Subject: Re: Add tracking of backend memory allocated to pg_stat_activity
Next
From: Justin Pryzby
Date:
Subject: Re: GUC values - recommended way to declare the C variables?