mirror of
https://github.com/postgres/postgres.git
synced 2025-04-24 10:47:04 +03:00
Both apply and tablesync workers were using ApplyWorkerMain() as entry point. As the name implies, ApplyWorkerMain() should be considered as the main function for apply workers. Tablesync worker's path was hidden and does not have enough in common to share the same main function with apply worker. Also, most of the code shared by both worker types is already combined in LogicalRepApplyLoop(). There is no need to combine the rest in ApplyWorkerMain() anymore. This patch introduces TablesyncWorkerMain() as a new entry point for tablesync workers. This aims to increase code readability and would help with future improvements like the reuse of tablesync workers in the initial synchronization. Author: Melih Mutlu based on suggestions by Melanie Plageman Reviewed-by: Peter Smith, Kuroda Hayato, Amit Kapila Discussion: http://postgr.es/m/CAGPVpCTq=rUDd4JUdaRc1XUWf4BrH2gdSNf3rtOMUGj9rPpfzQ@mail.gmail.com
34 lines
973 B
C
34 lines
973 B
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* logicalworker.h
|
|
* Exports for logical replication workers.
|
|
*
|
|
* Portions Copyright (c) 2016-2023, PostgreSQL Global Development Group
|
|
*
|
|
* src/include/replication/logicalworker.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef LOGICALWORKER_H
|
|
#define LOGICALWORKER_H
|
|
|
|
#include <signal.h>
|
|
|
|
extern PGDLLIMPORT volatile sig_atomic_t ParallelApplyMessagePending;
|
|
|
|
extern void ApplyWorkerMain(Datum main_arg);
|
|
extern void ParallelApplyWorkerMain(Datum main_arg);
|
|
extern void TablesyncWorkerMain(Datum main_arg);
|
|
|
|
extern bool IsLogicalWorker(void);
|
|
extern bool IsLogicalParallelApplyWorker(void);
|
|
|
|
extern void HandleParallelApplyMessageInterrupt(void);
|
|
extern void HandleParallelApplyMessages(void);
|
|
|
|
extern void LogicalRepWorkersWakeupAtCommit(Oid subid);
|
|
|
|
extern void AtEOXact_LogicalRepWorkers(bool isCommit);
|
|
|
|
#endif /* LOGICALWORKER_H */
|