Re: HOT chain validation in verify_heapam() - Mailing list pgsql-hackers

From Robert Haas
Subject Re: HOT chain validation in verify_heapam()
Date
Msg-id CA+TgmoY_FGLuCQA7PK5fqqPL7xReRStbQvGMw_BWJbHYpWEtTw@mail.gmail.com
Whole thread Raw
In response to Re: HOT chain validation in verify_heapam()  (Himanshu Upadhyaya <upadhyaya.himanshu@gmail.com>)
List pgsql-hackers
On Sun, Jan 22, 2023 at 10:19 AM Himanshu Upadhyaya
<upadhyaya.himanshu@gmail.com> wrote:
> I was trying to use lp_valid as I need to identify the root of the HOT chain and we are doing validation on the root
ofthe HOT chain when we loop over the predecessor array. 
> Was resetting lp_valid in the last patch because we don't add data to predecessor[] and while looping over the
predecessorarray we need to isolate (and identify) all cases of missing data in the predecessor array to exactly
identifythe root of HOT chain. 
> One solution is to always add data to predecessor array while looping over successor array and then while looping
overpredecessor array we can continue for other validation "if (lp_valid [predecessor[currentoffnum]] &&
lp_valid[currentoffnum]"is true but in this case also our third loop will also look at lp_valid[]. 

I don't mind if the third loop looks at lp_valid if it has a reason to
do that, but I don't think we should be resetting values from true to
false. Once we know a line pointer to be valid, it doesn't stop being
valid later because we found out some other thing about something
else.

--
Robert Haas
EDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: plpython vs _POSIX_C_SOURCE
Next
From: Jacob Champion
Date:
Subject: Re: Non-superuser subscription owners