aboutsummaryrefslogtreecommitdiff
path: root/src/backend/rewrite/rewriteDefine.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2012-12-29 07:55:37 -0500
committerRobert Haas <rhaas@postgresql.org>2012-12-29 07:55:37 -0500
commit82b1b213cad3a69cf5f3dfaa81687c14366960fc (patch)
treee19129f124c02d7ef274393d584de97cc18a5f66 /src/backend/rewrite/rewriteDefine.c
parent5ab3af46ddd2f2c2b248f1ffdb688b394d4bb387 (diff)
downloadpostgresql-82b1b213cad3a69cf5f3dfaa81687c14366960fc.tar.gz
postgresql-82b1b213cad3a69cf5f3dfaa81687c14366960fc.zip
Adjust more backend functions to return OID rather than void.
This is again intended to support extensions to the event trigger functionality. This may go a bit further than we need for that purpose, but there's some value in being consistent, and the OID may be useful for other purposes also. Dimitri Fontaine
Diffstat (limited to 'src/backend/rewrite/rewriteDefine.c')
-rw-r--r--src/backend/rewrite/rewriteDefine.c37
1 files changed, 20 insertions, 17 deletions
diff --git a/src/backend/rewrite/rewriteDefine.c b/src/backend/rewrite/rewriteDefine.c
index 55b0fed5f79..9bb06ba1181 100644
--- a/src/backend/rewrite/rewriteDefine.c
+++ b/src/backend/rewrite/rewriteDefine.c
@@ -191,7 +191,7 @@ InsertRule(char *rulname,
* DefineRule
* Execute a CREATE RULE command.
*/
-void
+Oid
DefineRule(RuleStmt *stmt, const char *queryString)
{
List *actions;
@@ -208,13 +208,13 @@ DefineRule(RuleStmt *stmt, const char *queryString)
relId = RangeVarGetRelid(stmt->relation, AccessExclusiveLock, false);
/* ... and execute */
- DefineQueryRewrite(stmt->rulename,
- relId,
- whereClause,
- stmt->event,
- stmt->instead,
- stmt->replace,
- actions);
+ return DefineQueryRewrite(stmt->rulename,
+ relId,
+ whereClause,
+ stmt->event,
+ stmt->instead,
+ stmt->replace,
+ actions);
}
@@ -225,7 +225,7 @@ DefineRule(RuleStmt *stmt, const char *queryString)
* This is essentially the same as DefineRule() except that the rule's
* action and qual have already been passed through parse analysis.
*/
-void
+Oid
DefineQueryRewrite(char *rulename,
Oid event_relid,
Node *event_qual,
@@ -239,6 +239,7 @@ DefineQueryRewrite(char *rulename,
ListCell *l;
Query *query;
bool RelisBecomingView = false;
+ Oid ruleId = InvalidOid;
/*
* If we are installing an ON SELECT rule, we had better grab
@@ -489,14 +490,14 @@ DefineQueryRewrite(char *rulename,
/* discard rule if it's null action and not INSTEAD; it's a no-op */
if (action != NIL || is_instead)
{
- InsertRule(rulename,
- event_type,
- event_relid,
- event_attno,
- is_instead,
- event_qual,
- action,
- replace);
+ ruleId = InsertRule(rulename,
+ event_type,
+ event_relid,
+ event_attno,
+ is_instead,
+ event_qual,
+ action,
+ replace);
/*
* Set pg_class 'relhasrules' field TRUE for event relation. If
@@ -527,6 +528,8 @@ DefineQueryRewrite(char *rulename,
/* Close rel, but keep lock till commit... */
heap_close(event_relation, NoLock);
+
+ return ruleId;
}
/*