From d7fc00c20d6deb6459fa43d8a509be749359e64f Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 20 Oct 1998 17:21:44 +0000 Subject: [PATCH] Fix for rules system from Jan. --- src/backend/rewrite/rewriteHandler.c | 6 +++--- src/backend/rewrite/rewriteManip.c | 9 +++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c index a59105047c..a0f30698ab 100644 --- a/src/backend/rewrite/rewriteHandler.c +++ b/src/backend/rewrite/rewriteHandler.c @@ -6,7 +6,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.23 1998/10/02 21:53:39 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.24 1998/10/20 17:21:43 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1789,11 +1789,11 @@ apply_RIR_view(Node **nodePtr, int rt_index, RangeTblEntry *rte, List *tlist, in return; } + exp = copyObject(exp); if (var->varlevelsup > 0 && nodeTag(exp) == T_Var) { - exp = copyObject(exp); ((Var *)exp)->varlevelsup = var->varlevelsup; - } + } *nodePtr = exp; *modified = TRUE; } diff --git a/src/backend/rewrite/rewriteManip.c b/src/backend/rewrite/rewriteManip.c index 25c1a7f7cb..d589943dc5 100644 --- a/src/backend/rewrite/rewriteManip.c +++ b/src/backend/rewrite/rewriteManip.c @@ -6,7 +6,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteManip.c,v 1.20 1998/10/08 18:29:52 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteManip.c,v 1.21 1998/10/20 17:21:44 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -418,14 +418,15 @@ ResolveNew(RewriteInfo *info, List *targetlist, Node **nodePtr, { if (info->event == CMD_UPDATE) { - ((Var *) node)->varno = info->current_varno; - ((Var *) node)->varnoold = info->current_varno; + *nodePtr = n = copyObject(node); + ((Var *) n)->varno = info->current_varno; + ((Var *) n)->varnoold = info->current_varno; } else *nodePtr = make_null(((Var *) node)->vartype); } else - *nodePtr = n; + *nodePtr = copyObject(n); } break; } -- 2.11.0