Re: Separate HEAP WAL replay logic into its own file

Melanie Plageman <melanieplageman@gmail.com>

From: Melanie Plageman <melanieplageman@gmail.com>
To: "Li, Yong" <yoli@ebay.com>
Cc: "Debnath, Shawn" <sdn@ebay.com>, "Shyrabokau, Anton" <antons@ebay.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-06-17T15:01:08Z
Lists: pgsql-hackers
On Mon, Jun 17, 2024 at 2:20 AM Li, Yong <yoli@ebay.com> wrote:
>
> Hi PostgreSQL hackers,
>
> For most access methods in PostgreSQL, the implementation of the access method itself and the implementation of its WAL replay logic are organized in separate source files.  However, the HEAP access method is an exception.  Both the access method and the WAL replay logic are collocated in the same heapam.c.  To follow the pattern established by other access methods and to improve maintainability, I made the enclosed patch to separate HEAP’s replay logic into its own file.  The changes are straightforward.  Move the replay related functions into the new heapam_xlog.c file, push the common heap_execute_freeze_tuple() helper function into the heapam.h header, and adjust the build files.

I'm not against this change, but I am curious at what inspired this.
Were you looking at Postgres code and simply noticed that there isn't
a heapam_xlog.c (like there is a nbtxlog.c etc) and thought that you
wanted to change that? Or is there some specific reason this would
help you as a Postgres developer, user, or ecosystem member?

- Melanie



Commits

  1. Move logic related to WAL replay of Heap/Heap2 into its own file