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;
}
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 |