diff options
Diffstat (limited to 'src/backend/rewrite/rewriteDefine.c')
-rw-r--r-- | src/backend/rewrite/rewriteDefine.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/backend/rewrite/rewriteDefine.c b/src/backend/rewrite/rewriteDefine.c index 185bf5fbff7..a5a1fb887f2 100644 --- a/src/backend/rewrite/rewriteDefine.c +++ b/src/backend/rewrite/rewriteDefine.c @@ -67,8 +67,7 @@ InsertRule(const char *rulname, char *evqual = nodeToString(event_qual); char *actiontree = nodeToString((Node *) action); Datum values[Natts_pg_rewrite]; - bool nulls[Natts_pg_rewrite]; - bool replaces[Natts_pg_rewrite]; + bool nulls[Natts_pg_rewrite] = {0}; NameData rname; Relation pg_rewrite_desc; HeapTuple tup, @@ -81,8 +80,6 @@ InsertRule(const char *rulname, /* * Set up *nulls and *values arrays */ - MemSet(nulls, false, sizeof(nulls)); - namestrcpy(&rname, rulname); values[Anum_pg_rewrite_rulename - 1] = NameGetDatum(&rname); values[Anum_pg_rewrite_ev_class - 1] = ObjectIdGetDatum(eventrel_oid); @@ -106,6 +103,8 @@ InsertRule(const char *rulname, if (HeapTupleIsValid(oldtup)) { + bool replaces[Natts_pg_rewrite] = {0}; + if (!replace) ereport(ERROR, (errcode(ERRCODE_DUPLICATE_OBJECT), @@ -115,7 +114,6 @@ InsertRule(const char *rulname, /* * When replacing, we don't need to replace every attribute */ - MemSet(replaces, false, sizeof(replaces)); replaces[Anum_pg_rewrite_ev_type - 1] = true; replaces[Anum_pg_rewrite_is_instead - 1] = true; replaces[Anum_pg_rewrite_ev_qual - 1] = true; |