summaryrefslogtreecommitdiff
path: root/src/include/replication
diff options
context:
space:
mode:
authorSimon Riggs <simon@2ndQuadrant.com>2011-03-06 23:39:14 +0000
committerSimon Riggs <simon@2ndQuadrant.com>2011-03-06 23:39:14 +0000
commit966fb05b588ab33a6c99c6a26308941e1b3a1188 (patch)
tree0077d5e078b14f90452dfad4902e9c24d5f4284e /src/include/replication
parentf24fa9c1a511b24357ea4c1a2be0e70c73adadd7 (diff)
Add new files for syncrep missed in previous commit
Diffstat (limited to 'src/include/replication')
-rw-r--r--src/include/replication/syncrep.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/include/replication/syncrep.h b/src/include/replication/syncrep.h
new file mode 100644
index 00000000000..f4eb3c9f04a
--- /dev/null
+++ b/src/include/replication/syncrep.h
@@ -0,0 +1,48 @@
+/*-------------------------------------------------------------------------
+ *
+ * syncrep.h
+ * Exports from replication/syncrep.c.
+ *
+ * Portions Copyright (c) 2010-2010, PostgreSQL Global Development Group
+ *
+ * $PostgreSQL$
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef _SYNCREP_H
+#define _SYNCREP_H
+
+#include "access/xlog.h"
+#include "storage/proc.h"
+#include "storage/shmem.h"
+#include "storage/spin.h"
+#include "utils/guc.h"
+
+#define SyncRepRequested() (sync_rep_mode)
+
+/* syncRepState */
+#define SYNC_REP_NOT_WAITING 0
+#define SYNC_REP_WAITING 1
+#define SYNC_REP_WAIT_COMPLETE 2
+#define SYNC_REP_MUST_DISCONNECT 3
+
+/* user-settable parameters for synchronous replication */
+extern bool sync_rep_mode;
+extern int sync_rep_timeout;
+extern char *SyncRepStandbyNames;
+
+/* called by user backend */
+extern void SyncRepWaitForLSN(XLogRecPtr XactCommitLSN);
+
+/* callback at backend exit */
+extern void SyncRepCleanupAtProcExit(int code, Datum arg);
+
+/* called by wal sender */
+extern void SyncRepInitConfig(void);
+extern void SyncRepReleaseWaiters(void);
+
+/* called by various procs */
+extern int SyncRepWakeQueue(bool all);
+const char *assign_synchronous_standby_names(const char *newval, bool doit, GucSource source);
+
+#endif /* _SYNCREP_H */