Cleanup some aggregate code in the executor
David Rowley <drowley@postgresql.org>
Cleanup some aggregate code in the executor Here we alter the code that calls build_pertrans_for_aggref() so that the function no longer needs to special-case whether it's dealing with an aggtransfn or an aggcombinefn. This allows us to reuse the build_aggregate_transfn_expr() function and just get rid of the build_aggregate_combinefn_expr() completely. All of the special case code that was in build_pertrans_for_aggref() has been moved up to the calling functions. This saves about a dozen lines of code in nodeAgg.c and a few dozen more in parse_agg.c Also, rename a few variables in nodeAgg.c to try to make it more clear that we're working with either a aggtransfn or an aggcombinefn. Some of the old names would have you believe that we were always working with an aggtransfn. Discussion: https://postgr.es/m/CAApHDvptMQ9FmF0D67zC_w88yVnoNVR2+kkOQGUrCmdxWxLULQ@mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/executor/nodeAgg.c | modified | +113 −121 |
| src/backend/parser/parse_agg.c | modified | +5 −29 |
| src/include/parser/parse_agg.h | modified | +0 −5 |
Discussion
- Small clean up in nodeAgg.c 5 messages · 2021-06-12 → 2021-07-04