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-2025, 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 */
24typedef struct RewriteRule
25{
30 char enabled;
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 */
40typedef struct RuleLock
41{
45
46#endif /* PRS2LOCK_H */
CmdType
Definition: nodes.h:263
unsigned int Oid
Definition: postgres_ext.h:32
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