Hi Shihao, I reviewed the v3 patch, and it looks good to me. I have one optional thought about the malformed line-pointer test:
Depending on the platform’s bit-field ordering, the encoded word may produce an lp_off of either 32767 or 100. Since both values can be misaligned on a build with 8-byte MAXALIGN, the condition may short-circuit at the alignment check without exercising the page-boundary checks. Would it make sense to use aligned values such as 32736 and 128, so that either bit-field interpretation reaches a boundary check? This is not a correctness issue with the patch, just a possible way to make the test more targeted. Otherwise, the patch looks good to me. Best Regards, Nitin Jadhav Azure Database for PostgreSQL Microsoft
