diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c index e08787b79b91bc13f2e0ddb68eaf5345248891e3..6a680190b201c9b56a09a547bce456b94a8ca7a1 100644 --- a/src/backend/nodes/equalfuncs.c +++ b/src/backend/nodes/equalfuncs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.38 1999/05/25 22:41:13 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.39 1999/06/06 17:46:40 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -257,6 +257,27 @@ _equalParam(Param *a, Param *b) return true; } +/* + * Aggref is a subclass of Expr. + */ +static bool +_equalAggref(Aggref *a, Aggref *b) +{ + if (strcmp(a->aggname, b->aggname) != 0) + return false; + if (a->basetype != b->basetype) + return false; + if (a->aggtype != b->aggtype) + return false; + if (!equal(a->target, b->target)) + return false; + if (a->aggno != b->aggno) + return false; + if (a->usenulls != b->usenulls) + return false; + return true; +} + /* * Func is a subclass of Expr. */ @@ -769,6 +790,9 @@ equal(void *a, void *b) case T_Param: retval = _equalParam(a, b); break; + case T_Aggref: + retval = _equalAggref(a, b); + break; case T_Func: retval = _equalFunc(a, b); break;