On Mon, Feb 7, 2022 at 12:26 AM Dilip Kumar <dilipbalaut@gmail.com> wrote:
> I have splitted the patch into multiple patches which can be
> independently committable and easy to review. I have explained the
> purpose and scope of each patch in the respective commit messages.
Hmm. The parts of this I've looked at seem reasonably clean, but I
don't think I like the design choice. You're inventing
RelFileNodeSetFork(), but at present the RelFileNode struct doesn't
include a fork number. I feel like we should leave that alone, and
only change the definition of a BufferTag. What about adding accessors
for all of the BufferTag fields in 0001, and then in 0002 change it to
look like something this:
typedef struct BufferTag
{
Oid dbOid;
Oid tablespaceOid;
uint32 fileNode_low;
uint32 fileNode_hi:24;
uint32 forkNumber:8;
BlockNumber blockNumber;
} BufferTag;
--
Robert Haas
EDB: http://www.enterprisedb.com