Thread

Commits

  1. Remove Start* macros in postmaster.c.

  1. Remove Start* macros from postmaster.c to ease understanding of code

    reid.thompson@crunchydata.com — 2024-02-06T16:58:50Z

    Hi,
    
    Attached is a small patch implemented as I agree with Andres' comment
    below noted while reviewing the thread
    https://www.postgresql.org/message-id/flat/20240122210740.7vq5fd4woixpwx3f%40awork3.anarazel.de#6eb7595873392621d60e6b5a723941bc
    
    I agree that its easier to not have to refer back to the macros only to
    see that they're all invoking StartChildProcess(X). All invocations are
    within postmaster.c. 
    
    > @@ -561,13 +561,13 @@ static void ShmemBackendArrayAdd(Backend *bn);
    >  static void ShmemBackendArrayRemove(Backend *bn);
    >  #endif							/* EXEC_BACKEND */
    >  
    > -#define StartupDataBase()		StartChildProcess(StartupProcess)
    > -#define StartArchiver()			StartChildProcess(ArchiverProcess)
    > -#define StartBackgroundWriter() StartChildProcess(BgWriterProcess)
    > -#define StartCheckpointer()		StartChildProcess(CheckpointerProcess)
    > -#define StartWalWriter()		StartChildProcess(WalWriterProcess)
    > -#define StartWalReceiver()		StartChildProcess(WalReceiverProcess)
    > -#define StartWalSummarizer()	StartChildProcess(WalSummarizerProcess)
    > +#define StartupDataBase()		StartChildProcess(B_STARTUP)
    > +#define StartArchiver()			StartChildProcess(B_ARCHIVER)
    > +#define StartBackgroundWriter() StartChildProcess(B_BG_WRITER)
    > +#define StartCheckpointer()		StartChildProcess(B_CHECKPOINTER)
    > +#define StartWalWriter()		StartChildProcess(B_WAL_WRITER)
    > +#define StartWalReceiver()		StartChildProcess(B_WAL_RECEIVER)
    > +#define StartWalSummarizer()	StartChildProcess(B_WAL_SUMMARIZER)
    
    Not for this commit, but we ought to rip out these macros - all they do is to make it harder to understand the code.
    
  2. Re: Remove Start* macros from postmaster.c to ease understanding of code

    Nathan Bossart <nathandbossart@gmail.com> — 2024-02-06T17:10:18Z

    On Tue, Feb 06, 2024 at 11:58:50AM -0500, reid.thompson@crunchydata.com wrote:
    > Attached is a small patch implemented as I agree with Andres' comment
    > below noted while reviewing the thread
    > https://www.postgresql.org/message-id/flat/20240122210740.7vq5fd4woixpwx3f%40awork3.anarazel.de#6eb7595873392621d60e6b5a723941bc
    > 
    > I agree that its easier to not have to refer back to the macros only to
    > see that they're all invoking StartChildProcess(X). All invocations are
    > within postmaster.c. 
    
    Seems reasonable to me.
    
    -- 
    Nathan Bossart
    Amazon Web Services: https://aws.amazon.com
    
    
    
    
  3. Re: Remove Start* macros from postmaster.c to ease understanding of code

    Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> — 2024-02-06T19:18:00Z

    On Tue, Feb 6, 2024 at 10:34 PM <reid.thompson@crunchydata.com> wrote:
    >
    > Hi,
    >
    > Attached is a small patch implemented as I agree with Andres' comment
    > below noted while reviewing the thread
    > https://www.postgresql.org/message-id/flat/20240122210740.7vq5fd4woixpwx3f%40awork3.anarazel.de#6eb7595873392621d60e6b5a723941bc
    >
    > I agree that its easier to not have to refer back to the macros only to
    > see that they're all invoking StartChildProcess(X). All invocations are
    > within postmaster.c.
    >
    > > @@ -561,13 +561,13 @@ static void ShmemBackendArrayAdd(Backend *bn);
    > >  static void ShmemBackendArrayRemove(Backend *bn);
    > >  #endif                                                       /* EXEC_BACKEND */
    > >
    > > -#define StartupDataBase()            StartChildProcess(StartupProcess)
    > > -#define StartArchiver()                      StartChildProcess(ArchiverProcess)
    > > -#define StartBackgroundWriter() StartChildProcess(BgWriterProcess)
    > > -#define StartCheckpointer()          StartChildProcess(CheckpointerProcess)
    > > -#define StartWalWriter()             StartChildProcess(WalWriterProcess)
    > > -#define StartWalReceiver()           StartChildProcess(WalReceiverProcess)
    > > -#define StartWalSummarizer() StartChildProcess(WalSummarizerProcess)
    > > +#define StartupDataBase()            StartChildProcess(B_STARTUP)
    > > +#define StartArchiver()                      StartChildProcess(B_ARCHIVER)
    > > +#define StartBackgroundWriter() StartChildProcess(B_BG_WRITER)
    > > +#define StartCheckpointer()          StartChildProcess(B_CHECKPOINTER)
    > > +#define StartWalWriter()             StartChildProcess(B_WAL_WRITER)
    > > +#define StartWalReceiver()           StartChildProcess(B_WAL_RECEIVER)
    > > +#define StartWalSummarizer() StartChildProcess(B_WAL_SUMMARIZER)
    >
    > Not for this commit, but we ought to rip out these macros - all they do is to make it harder to understand the code.
    
    +1. Patch LGTM.
    
    -- 
    Bharath Rupireddy
    PostgreSQL Contributors Team
    RDS Open Source Databases
    Amazon Web Services: https://aws.amazon.com
    
    
    
    
  4. Re: Remove Start* macros from postmaster.c to ease understanding of code

    Nathan Bossart <nathandbossart@gmail.com> — 2024-02-06T20:37:25Z

    On Wed, Feb 07, 2024 at 12:48:00AM +0530, Bharath Rupireddy wrote:
    > +1. Patch LGTM.
    
    Unless there are objections, I'll plan on committing this in the next day
    or two.
    
    -- 
    Nathan Bossart
    Amazon Web Services: https://aws.amazon.com
    
    
    
    
  5. Re: Remove Start* macros from postmaster.c to ease understanding of code

    Nathan Bossart <nathandbossart@gmail.com> — 2024-02-07T18:52:43Z

    On Tue, Feb 06, 2024 at 02:37:25PM -0600, Nathan Bossart wrote:
    > Unless there are objections, I'll plan on committing this in the next day
    > or two.
    
    Committed.
    
    -- 
    Nathan Bossart
    Amazon Web Services: https://aws.amazon.com