diff options
| author | Bruce Momjian <bruce@momjian.us> | 1998-01-15 19:00:16 +0000 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 1998-01-15 19:00:16 +0000 |
| commit | 763ff8aef848d71da079049890786edffc3302d6 (patch) | |
| tree | a1aed2a633c409071dd6d724b6db2bc7bf4fcb75 /src/backend/rewrite/rewriteManip.c | |
| parent | f22d8e6668e36a5855c35b04cc21a4d1593298d9 (diff) | |
| download | postgresql-763ff8aef848d71da079049890786edffc3302d6.tar.gz | |
Remove Query->qry_aggs and qry_numaggs and replace with Query->hasAggs.
Pass List* of Aggregs into executor, and create needed array there.
No longer need to double-processs Aggregs with second copy in Query.
Fix crash when doing:
select sum(x+1) from test where 1 > 0;
Diffstat (limited to 'src/backend/rewrite/rewriteManip.c')
| -rw-r--r-- | src/backend/rewrite/rewriteManip.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/src/backend/rewrite/rewriteManip.c b/src/backend/rewrite/rewriteManip.c index 122067a242..cd5f5e16a4 100644 --- a/src/backend/rewrite/rewriteManip.c +++ b/src/backend/rewrite/rewriteManip.c @@ -6,7 +6,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteManip.c,v 1.9 1998/01/04 04:31:29 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteManip.c,v 1.10 1998/01/15 19:00:07 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -420,16 +420,12 @@ HandleRIRAttributeRule(Query *parsetree, int *modified, int *badsql) { - int i; nodeHandleRIRAttributeRule((Node **) (&(parsetree->targetList)), rtable, targetlist, rt_index, attr_num, modified, badsql); nodeHandleRIRAttributeRule(&parsetree->qual, rtable, targetlist, rt_index, attr_num, modified, badsql); - for(i=0; i < parsetree->qry_numAgg; i++) - nodeHandleRIRAttributeRule(&parsetree->qry_aggs[i]->target, rtable, - targetlist, rt_index, attr_num, modified, badsql); } @@ -521,13 +517,9 @@ HandleViewRule(Query *parsetree, int rt_index, int *modified) { - int i; - + nodeHandleViewRule(&parsetree->qual, rtable, targetlist, rt_index, modified); nodeHandleViewRule((Node **) (&(parsetree->targetList)), rtable, targetlist, rt_index, modified); - for(i=0; i < parsetree->qry_numAgg; i++) - nodeHandleViewRule(&parsetree->qry_aggs[i]->target, rtable, targetlist, rt_index, - modified); } |
