pgsql: Reset, not recreate, execGrouping.c style hashtables. - Mailing list pgsql-committers

From Andres Freund
Subject pgsql: Reset, not recreate, execGrouping.c style hashtables.
Date
Msg-id E1gsP63-0004hB-Pv@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Reset, not recreate, execGrouping.c style hashtables.

This uses the facility added in the preceding commit to fix
performance issues caused by rebuilding the hashtable (with its
comparator expression being the most expensive bit), after every
reset. That's especially important when the comparator is JIT
compiled.

Bug: #15592 #15486
Reported-By: Jakub Janeček, Dmitry Marakasov
Author: Andres Freund
Discussion:
    https://postgr.es/m/15486-05850f065da42931@postgresql.org
    https://postgr.es/m/20190114180423.ywhdg2iagzvh43we@alap3.anarazel.de
Backpatch: 11, where I broke this in bf6c614a2f2c5

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/356687bd825e5ca7230d43c1bffe7a59ad2e77bd

Modified Files
--------------
src/backend/executor/nodeAgg.c            | 34 ++++++++++--------
src/backend/executor/nodeRecursiveunion.c | 27 ++++++++-------
src/backend/executor/nodeSetOp.c          | 25 +++++++-------
src/backend/executor/nodeSubplan.c        | 57 ++++++++++++++++++-------------
4 files changed, 79 insertions(+), 64 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: First-draft release notes for 11.2.
Next
From: Andres Freund
Date:
Subject: pgsql: Plug leak in BuildTupleHashTable by creating ExprContext incorr