Re: Adding a LogicalRepWorker type field
Peter Smith <smithpb2250@gmail.com>
From: Peter Smith <smithpb2250@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-08-02T02:40:04Z
Lists: pgsql-hackers
On Mon, Jul 31, 2023 at 11:11 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> +1. BTW, do we need the below functions (am_tablesync_worker(),
> am_leader_apply_worker()) after this work?
> static inline bool
> am_tablesync_worker(void)
> {
> - return OidIsValid(MyLogicalRepWorker->relid);
> + return isTablesyncWorker(MyLogicalRepWorker);
> }
>
> static inline bool
> am_leader_apply_worker(void)
> {
> - return (!am_tablesync_worker() &&
> - !isParallelApplyWorker(MyLogicalRepWorker));
> + return isLeaderApplyWorker(MyLogicalRepWorker);
> }
>
The am_xxx functions are removed now in the v2-0001 patch. See [1].
The replacement set of macros (the ones with no arg) are not strictly
necessary, except I felt it would make the code unnecessarily verbose
if we insist to pass MyLogicalRepWorker everywhere from the callers in
worker.c / tablesync.c / applyparallelworker.c.
------
Kind Regards,
Peter Smith.
Fujitsu Australia
Commits
-
Simplify the logical worker type checks by using the switch on worker type.
- 1cdc6d86bfc3 17.0 landed
-
Simplify determining logical replication worker types.
- 2a8b40e36819 17.0 landed