|
8 | 8 | *
|
9 | 9 | *
|
10 | 10 | * IDENTIFICATION
|
11 |
| - * $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.81 2001/02/12 18:46:40 momjian Exp $ |
| 11 | + * $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.82 2001/03/08 01:49:01 tgl Exp $ |
12 | 12 | *
|
13 | 13 | * HISTORY
|
14 | 14 | * AUTHORDATEMAJOR EVENT
|
@@ -542,6 +542,14 @@ check_subplans_for_ungrouped_vars_walker(Node *node,
|
542 | 542 | if (node==NULL)
|
543 | 543 | return false;
|
544 | 544 |
|
| 545 | +/* |
| 546 | + * If we find an aggregate function, do not recurse into its |
| 547 | + * arguments. Subplans invoked within aggregate calls are allowed |
| 548 | + * to receive ungrouped variables. |
| 549 | + */ |
| 550 | +if (IsA(node,Aggref)) |
| 551 | +return false; |
| 552 | + |
545 | 553 | /*
|
546 | 554 | * We can ignore Vars other than in subplan args lists, since the
|
547 | 555 | * parser already checked 'em.
|
|