From: Jan Wieck Date: Tue, 2 Feb 1999 12:56:55 +0000 (+0000) Subject: Fixed failed assertion happening in multiple action rules X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=e7f78578664185696ad767af30af32fa26d4189d;p=users%2Fbernd%2Fpostgres.git Fixed failed assertion happening in multiple action rules when parsestate in makeRangeTable() already contains an opened p_target_relation. Jan --- diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c index 4b0dd6a98a..357b8bf32c 100644 --- a/src/backend/parser/parse_clause.c +++ b/src/backend/parser/parse_clause.c @@ -62,8 +62,13 @@ makeRangeTable(ParseState *pstate, char *relname, List *frmList) else rte = refnameRangeTableEntry(pstate, relname); + /* This could only happen for multi-action rules */ + if (pstate->p_target_relation != NULL) + { + heap_close(pstate->p_target_relation); + } + pstate->p_target_rangetblentry = rte; - Assert(pstate->p_target_relation == NULL); pstate->p_target_relation = heap_open(rte->relid); /* will close relation later */ }