Hi Himanshu,
> Done, updated in the v3 patch.
Thanks for the updated patch.
Here is v4 with fixed compiler warnings and some minor tweaks from me.
I didn't put too much thought into the algorithm but I already see
something strange. At verify_heapam.c:553 you declared curr_xmax and
next_xmin. However the variables are not used/initialized until you
do:
```
if (lp_valid[nextoffnum] && lp_valid[ctx.offnum] &&
TransactionIdIsValid(curr_xmax) &&
TransactionIdEquals(curr_xmax, next_xmin)) {
/* ... */
```
In v4 I elected to initialize both curr_xmax and next_xmin with
InvalidTransactionId for safety and in order to silence the compiler
but still there is no way this condition can succeed.
Please make sure there is no logic missing.
--
Best regards,
Aleksander Alekseev