PostgreSQL Source Code  git master
prs2lock.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * prs2lock.h
4  * data structures for POSTGRES Rule System II (rewrite rules only)
5  *
6  * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
7  * Portions Copyright (c) 1994, Regents of the University of California
8  *
9  * src/include/rewrite/prs2lock.h
10  *
11  *-------------------------------------------------------------------------
12  */
13 #ifndef PRS2LOCK_H
14 #define PRS2LOCK_H
15 
16 #include "access/attnum.h"
17 #include "nodes/pg_list.h"
18 
19 /*
20  * RewriteRule -
21  * holds an info for a rewrite rule
22  *
23  */
24 typedef struct RewriteRule
25 {
30  char enabled;
31  bool isInstead;
33 
34 /*
35  * RuleLock -
36  * all rules that apply to a particular relation. Even though we only
37  * have the rewrite rule system left and these are not really "locks",
38  * the name is kept for historical reasons.
39  */
40 typedef struct RuleLock
41 {
42  int numLocks;
45 
46 #endif /* PRS2LOCK_H */
CmdType
Definition: nodes.h:263
unsigned int Oid
Definition: postgres_ext.h:31
struct RuleLock RuleLock
struct RewriteRule RewriteRule
Definition: pg_list.h:54
Definition: nodes.h:129
Oid ruleId
Definition: prs2lock.h:26
CmdType event
Definition: prs2lock.h:27
List * actions
Definition: prs2lock.h:29
bool isInstead
Definition: prs2lock.h:31
Node * qual
Definition: prs2lock.h:28
char enabled
Definition: prs2lock.h:30
RewriteRule ** rules
Definition: prs2lock.h:43
int numLocks
Definition: prs2lock.h:42