Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
walsender.h75 linesDownload Raw Back to replication
1/*-------------------------------------------------------------------------2 *3 * walsender.h4 *	  Exports from replication/walsender.c.5 *6 * Portions Copyright (c) 2010-2023, PostgreSQL Global Development Group7 *8 * src/include/replication/walsender.h9 *10 *-------------------------------------------------------------------------11 */12#ifndef _WALSENDER_H13#define _WALSENDER_H14 15#include <signal.h>16 17/*18 * What to do with a snapshot in create replication slot command.19 */20typedef enum21{22	CRS_EXPORT_SNAPSHOT,23	CRS_NOEXPORT_SNAPSHOT,24	CRS_USE_SNAPSHOT25} CRSSnapshotAction;26 27/* global state */28extern PGDLLIMPORT bool am_walsender;29extern PGDLLIMPORT bool am_cascading_walsender;30extern PGDLLIMPORT bool am_db_walsender;31extern PGDLLIMPORT bool wake_wal_senders;32 33/* user-settable parameters */34extern PGDLLIMPORT int max_wal_senders;35extern PGDLLIMPORT int wal_sender_timeout;36extern PGDLLIMPORT bool log_replication_commands;37 38extern void InitWalSender(void);39extern bool exec_replication_command(const char *cmd_string);40extern void WalSndErrorCleanup(void);41extern void WalSndResourceCleanup(bool isCommit);42extern void WalSndSignals(void);43extern Size WalSndShmemSize(void);44extern void WalSndShmemInit(void);45extern void WalSndWakeup(bool physical, bool logical);46extern void WalSndInitStopping(void);47extern void WalSndWaitStopping(void);48extern void HandleWalSndInitStopping(void);49extern void WalSndRqstFileReload(void);50 51/*52 * Remember that we want to wakeup walsenders later53 *54 * This is separated from doing the actual wakeup because the writeout is done55 * while holding contended locks.56 */57#define WalSndWakeupRequest() \58	do { wake_wal_senders = true; } while (0)59 60/*61 * wakeup walsenders if there is work to be done62 */63static inline void64WalSndWakeupProcessRequests(bool physical, bool logical)65{66	if (wake_wal_senders)67	{68		wake_wal_senders = false;69		if (max_wal_senders > 0)70			WalSndWakeup(physical, logical);71	}72}73 74#endif							/* _WALSENDER_H */75 
codekingpro/portable-devtools · Team Ai