diff options
author | Jan Wieck <JanWieck@Yahoo.com> | 1999-02-02 12:57:51 +0000 |
---|---|---|
committer | Jan Wieck <JanWieck@Yahoo.com> | 1999-02-02 12:57:51 +0000 |
commit | 7ab88a16a111cb1c6c6ac67702c7772cf94bf1bf (patch) | |
tree | 5e8bb29dbef19f3d0d8508c8b3980e1aeae98997 /src | |
parent | 4390b0bfbe2641ff26a35372184880348a19919e (diff) | |
download | postgresql-7ab88a16a111cb1c6c6ac67702c7772cf94bf1bf.tar.gz postgresql-7ab88a16a111cb1c6c6ac67702c7772cf94bf1bf.zip |
Fixed failed assertion happening in multiple action rules
when parsestate in makeRangeTable() already contains an
opened p_target_relation.
Jan
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/parser/parse_clause.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c index 98ca2088810..8660e03f0f6 100644 --- a/src/backend/parser/parse_clause.c +++ b/src/backend/parser/parse_clause.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.26 1998/09/25 13:36:03 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.27 1999/02/02 12:57:51 wieck Exp $ * *------------------------------------------------------------------------- */ @@ -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 */ } |