From: | David Rowley <drowley(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Cleanup some aggregate code in the executor |
Date: | 2021-07-04 06:48:08 |
Message-ID: | E1lzvvE-0001aQ-3g@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
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
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/63b1af94375cc2be06a5d6a932db24cd8e9f45e9
Modified Files
--------------
src/backend/executor/nodeAgg.c | 234 ++++++++++++++++++++---------------------
src/backend/parser/parse_agg.c | 34 +-----
src/include/parser/parse_agg.h | 5 -
3 files changed, 118 insertions(+), 155 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | David Rowley | 2021-07-04 10:29:03 | pgsql: Doc: mention that VACUUM can't utilize over 1GB of RAM |
Previous Message | Tom Lane | 2021-07-03 15:21:44 | pgsql: Further restrict the scope of no-exit()-in-libpq test. |