|
|
|
|
@ -226,6 +226,7 @@ typedef char *(*walrcv_create_slot_fn) (WalReceiverConn *conn, |
|
|
|
|
const char *slotname, bool temporary, |
|
|
|
|
CRSSnapshotAction snapshot_action, |
|
|
|
|
XLogRecPtr *lsn); |
|
|
|
|
typedef pid_t (*walrcv_get_backend_pid_fn) (WalReceiverConn *conn); |
|
|
|
|
typedef WalRcvExecResult *(*walrcv_exec_fn) (WalReceiverConn *conn, |
|
|
|
|
const char *query, |
|
|
|
|
const int nRetTypes, |
|
|
|
|
@ -246,6 +247,7 @@ typedef struct WalReceiverFunctionsType |
|
|
|
|
walrcv_receive_fn walrcv_receive; |
|
|
|
|
walrcv_send_fn walrcv_send; |
|
|
|
|
walrcv_create_slot_fn walrcv_create_slot; |
|
|
|
|
walrcv_get_backend_pid_fn walrcv_get_backend_pid; |
|
|
|
|
walrcv_exec_fn walrcv_exec; |
|
|
|
|
walrcv_disconnect_fn walrcv_disconnect; |
|
|
|
|
} WalReceiverFunctionsType; |
|
|
|
|
@ -276,6 +278,8 @@ extern PGDLLIMPORT WalReceiverFunctionsType *WalReceiverFunctions; |
|
|
|
|
WalReceiverFunctions->walrcv_send(conn, buffer, nbytes) |
|
|
|
|
#define walrcv_create_slot(conn, slotname, temporary, snapshot_action, lsn) \ |
|
|
|
|
WalReceiverFunctions->walrcv_create_slot(conn, slotname, temporary, snapshot_action, lsn) |
|
|
|
|
#define walrcv_get_backend_pid(conn) \ |
|
|
|
|
WalReceiverFunctions->walrcv_get_backend_pid(conn) |
|
|
|
|
#define walrcv_exec(conn, exec, nRetTypes, retTypes) \ |
|
|
|
|
WalReceiverFunctions->walrcv_exec(conn, exec, nRetTypes, retTypes) |
|
|
|
|
#define walrcv_disconnect(conn) \ |
|
|
|
|
|