|
14 | 14 | #ifndef LOCK_H_
|
15 | 15 | #define LOCK_H_
|
16 | 16 |
|
| 17 | +#ifdef FRONTEND |
| 18 | +#error "lock.h may not be included from frontend code" |
| 19 | +#endif |
| 20 | + |
| 21 | +#include "storage/lockdefs.h" |
17 | 22 | #include "storage/backendid.h"
|
18 | 23 | #include "storage/lwlock.h"
|
19 | 24 | #include "storage/shmem.h"
|
@@ -77,15 +82,6 @@ typedef struct
|
77 | 82 | ((vxid).backendId = (proc).backendId, \
|
78 | 83 | (vxid).localTransactionId = (proc).lxid)
|
79 | 84 |
|
80 |
| - |
81 |
| -/* |
82 |
| - * LOCKMODE is an integer (1..N) indicating a lock type. LOCKMASK is a bit |
83 |
| - * mask indicating a set of held or requested lock types (the bit 1<<mode |
84 |
| - * corresponds to a particular lock mode). |
85 |
| - */ |
86 |
| -typedef int LOCKMASK; |
87 |
| -typedef int LOCKMODE; |
88 |
| - |
89 | 85 | /* MAX_LOCKMODES cannot be larger than the # of bits in LOCKMASK */
|
90 | 86 | #define MAX_LOCKMODES 10
|
91 | 87 |
|
@@ -133,28 +129,6 @@ typedef uint16 LOCKMETHODID;
|
133 | 129 | #define DEFAULT_LOCKMETHOD 1
|
134 | 130 | #define USER_LOCKMETHOD 2
|
135 | 131 |
|
136 |
| -/* |
137 |
| - * These are the valid values of type LOCKMODE for all the standard lock |
138 |
| - * methods (both DEFAULT and USER). |
139 |
| - */ |
140 |
| - |
141 |
| -/* NoLock is not a lock mode, but a flag value meaning "don't get a lock" */ |
142 |
| -#define NoLock 0 |
143 |
| - |
144 |
| -#define AccessShareLock 1 /* SELECT */ |
145 |
| -#define RowShareLock 2 /* SELECT FOR UPDATE/FOR SHARE */ |
146 |
| -#define RowExclusiveLock 3 /* INSERT, UPDATE, DELETE */ |
147 |
| -#define ShareUpdateExclusiveLock 4 /* VACUUM (non-FULL),ANALYZE, CREATE |
148 |
| - * INDEX CONCURRENTLY */ |
149 |
| -#define ShareLock 5 /* CREATE INDEX (WITHOUT CONCURRENTLY) */ |
150 |
| -#define ShareRowExclusiveLock 6 /* like EXCLUSIVE MODE, but allows ROW |
151 |
| - * SHARE */ |
152 |
| -#define ExclusiveLock 7 /* blocks ROW SHARE/SELECT...FOR |
153 |
| - * UPDATE */ |
154 |
| -#define AccessExclusiveLock 8 /* ALTER TABLE, DROP TABLE, VACUUM |
155 |
| - * FULL, and unqualified LOCK TABLE */ |
156 |
| - |
157 |
| - |
158 | 132 | /*
|
159 | 133 | * LOCKTAG is the key information needed to look up a LOCK item in the
|
160 | 134 | * lock hashtable. A LOCKTAG value uniquely identifies a lockable object.
|
@@ -536,13 +510,6 @@ extern void RemoveFromWaitQueue(PGPROC *proc, uint32 hashcode);
|
536 | 510 | extern Size LockShmemSize(void);
|
537 | 511 | extern LockData *GetLockStatusData(void);
|
538 | 512 |
|
539 |
| -typedef struct xl_standby_lock |
540 |
| -{ |
541 |
| - TransactionId xid; /* xid of holder of AccessExclusiveLock */ |
542 |
| - Oid dbOid; |
543 |
| - Oid relOid; |
544 |
| -} xl_standby_lock; |
545 |
| - |
546 | 513 | extern xl_standby_lock *GetRunningTransactionLocks(int *nlocks);
|
547 | 514 | extern const char *GetLockmodeName(LOCKMETHODID lockmethodid, LOCKMODE mode);
|
548 | 515 |
|
|
0 commit comments