Bugfix for rule system

From: jwieck(at)debis(dot)com (Jan Wieck)
To: pgsql-hackers(at)postgreSQL(dot)org (PostgreSQL HACKERS)
Subject: Bugfix for rule system
Date: 1998-10-20 17:02:17
Message-ID: m0zVfAo-000EBPC@orion.SAPserv.Hamburg.dsh.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

while writing some documentation for the rule system I found
this little bug. Causes crashing backend.

Please apply.

Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#======================================== jwieck(at)debis(dot)com (Jan Wieck) #

diff -cr rewrite.orig/rewriteHandler.c rewrite/rewriteHandler.c
*** rewrite.orig/rewriteHandler.c Tue Oct 20 18:59:24 1998
--- rewrite/rewriteHandler.c Tue Oct 20 18:55:19 1998
***************
*** 1789,1799 ****
return;
}

if (var->varlevelsup > 0 &&
nodeTag(exp) == T_Var) {
- exp = copyObject(exp);
((Var *)exp)->varlevelsup = var->varlevelsup;
! }
*nodePtr = exp;
*modified = TRUE;
}
--- 1789,1799 ----
return;
}

+ exp = copyObject(exp);
if (var->varlevelsup > 0 &&
nodeTag(exp) == T_Var) {
((Var *)exp)->varlevelsup = var->varlevelsup;
! }
*nodePtr = exp;
*modified = TRUE;
}
diff -cr rewrite.orig/rewriteManip.c rewrite/rewriteManip.c
*** rewrite.orig/rewriteManip.c Tue Oct 20 18:59:24 1998
--- rewrite/rewriteManip.c Tue Oct 20 18:58:18 1998
***************
*** 418,431 ****
{
if (info->event == CMD_UPDATE)
{
! ((Var *) node)->varno = info->current_varno;
! ((Var *) node)->varnoold = info->current_varno;
}
else
*nodePtr = make_null(((Var *) node)->vartype);
}
else
! *nodePtr = n;
}
break;
}
--- 418,432 ----
{
if (info->event == CMD_UPDATE)
{
! *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 = copyObject(n);
}
break;
}

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1998-10-20 17:02:58 Re: [HACKERS] What about LIMIT in SELECT ?
Previous Message D'Arcy J.M. Cain 1998-10-20 17:01:45 Re: [HACKERS] Re: inet/cidr/bind