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