1 /*-------------------------------------------------------------------------
7 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/rewrite/rewriteDefine.h
12 *-------------------------------------------------------------------------
14 #ifndef REWRITEDEFINE_H
15 #define REWRITEDEFINE_H
17 #include "catalog/objectaddress.h"
18 #include "nodes/parsenodes.h"
19 #include "utils/relcache.h"
21 #define RULE_FIRES_ON_ORIGIN 'O'
22 #define RULE_FIRES_ALWAYS 'A'
23 #define RULE_FIRES_ON_REPLICA 'R'
24 #define RULE_DISABLED 'D'
26 extern ObjectAddress
DefineRule(RuleStmt
*stmt
, const char *queryString
);
28 extern ObjectAddress
DefineQueryRewrite(const char *rulename
,
36 extern ObjectAddress
RenameRewriteRule(RangeVar
*relation
, const char *oldName
,
39 extern void setRuleCheckAsUser(Node
*node
, Oid userid
);
41 extern void EnableDisableRule(Relation rel
, const char *rulename
,
44 #endif /* REWRITEDEFINE_H */