Re: Tidy recent code bloat in pg_creatersubscriber::cleanup_objects_atexit

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Peter Smith <smithpb2250@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-03-11T07:06:14Z
Lists: pgsql-hackers
On Tue, Mar 11, 2025 at 12:29:42PM +1100, Peter Smith wrote:
> During a recent review of pg_creatersubscriber I saw that commit
> e117cfb introduced a common 'dbinfos' struct to contain the array of
> individual 'dbinfo[i]' infos. But, this now means that getting to each
> dbinfo[i] requires another level of referencing.
> 
> In some places, e.g. function cleanup_objects_atexit, this caused
> unnecessary code bloat. IMO this function is crying out for a local
> variable to simplify the code again.

Right.  This improves the clarity of the code, so agreed about the use
of a local variable here.
--
Michael

Commits

  1. pg_createsubscriber: Remove some code bloat in the atexit() callback

  2. Add two-phase option in pg_createsubscriber.