From a8ae19ec3d13452de931736126d0786a148ee643 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 13 Dec 1999 01:27:21 +0000 Subject: aggregate(DISTINCT ...) works, per SQL spec. Note this forces initdb because of change of Aggref node in stored rules. --- src/backend/utils/adt/ruleutils.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/backend/utils/adt/ruleutils.c') diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index b62559ccdde..47fd957c994 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -3,7 +3,7 @@ * out of it's tuple * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.34 1999/12/06 02:37:17 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.35 1999/12/13 01:27:01 tgl Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -1352,9 +1352,13 @@ get_rule_expr(Node *node, deparse_context *context) { Aggref *aggref = (Aggref *) node; - appendStringInfo(buf, "%s(", - quote_identifier(aggref->aggname)); - get_rule_expr(aggref->target, context); + appendStringInfo(buf, "%s(%s", + quote_identifier(aggref->aggname), + aggref->aggdistinct ? "DISTINCT " : ""); + if (aggref->aggstar) + appendStringInfo(buf, "*"); + else + get_rule_expr(aggref->target, context); appendStringInfo(buf, ")"); } break; -- cgit v1.2.3