blob: dc1cc87cd5144be54caf990618cb6c7f70a09021 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
/*-------------------------------------------------------------------------
*
* pgxc.h
* Postgres-XC flags and connection control information
*
*
* Portions Copyright (c) 2012-2014, TransLattice, Inc.
* Portions Copyright (c) 1996-2011 PostgreSQL Global Development Group
* Portions Copyright (c) 2010-2012 Postgres-XC Development Group
*
* src/include/pgxc/pgxc.h
*
*-------------------------------------------------------------------------
*/
#ifndef PGXC_H
#define PGXC_H
#include "postgres.h"
extern bool isPGXCCoordinator;
extern bool isPGXCDataNode;
extern bool isRestoreMode;
extern char *parentPGXCNode;
extern int parentPGXCPid;
extern int parentPGXCNodeId;
extern char parentPGXCNodeType;
typedef enum
{
REMOTE_CONN_APP,
REMOTE_CONN_COORD,
REMOTE_CONN_DATANODE,
REMOTE_CONN_GTM,
REMOTE_CONN_GTM_PROXY
} RemoteConnTypes;
/* Determine remote connection type for a PGXC backend */
extern int remoteConnType;
/* Local node name and numer */
extern char *PGXCNodeName;
extern int PGXCNodeId;
extern uint32 PGXCNodeIdentifier;
extern Datum xc_lockForBackupKey1;
extern Datum xc_lockForBackupKey2;
#define IS_PGXC_COORDINATOR isPGXCCoordinator
#define IS_PGXC_DATANODE isPGXCDataNode
#define IS_PGXC_LOCAL_COORDINATOR \
(IS_PGXC_COORDINATOR && !IsConnFromCoord())
#define IS_PGXC_REMOTE_COORDINATOR \
(IS_PGXC_COORDINATOR && IsConnFromCoord())
#define PGXC_PARENT_NODE parentPGXCNode
#define PGXC_PARENT_NODE_ID parentPGXCNodeId
#define PGXC_PARENT_NODE_TYPE parentPGXCNodeType
#define REMOTE_CONN_TYPE remoteConnType
#define IsConnFromApp() (remoteConnType == REMOTE_CONN_APP)
#define IsConnFromCoord() (remoteConnType == REMOTE_CONN_COORD)
#define IsConnFromDatanode() (remoteConnType == REMOTE_CONN_DATANODE)
#define IsConnFromGtm() (remoteConnType == REMOTE_CONN_GTM)
#define IsConnFromGtmProxy() (remoteConnType == REMOTE_CONN_GTM_PROXY)
/* key pair to be used as object id while using advisory lock for backup */
#define XC_LOCK_FOR_BACKUP_KEY_1 0xFFFF
#define XC_LOCK_FOR_BACKUP_KEY_2 0xFFFF
#endif /* PGXC */
|