pgsql: Reset, not recreate, execGrouping.c style hashtables.

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Reset, not recreate, execGrouping.c style hashtables.
Date: 2019-02-09 09:38:56
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: 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/[email protected]
https://postgr.es/m/[email protected]
Backpatch: 11, where I broke this in bf6c614a2f2c5

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/35afccaba6d0e0aa14e3d1f859e6d84e69aee2cc

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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2019-02-09 10:52:30 pgsql: For 11 only, put back heap_expand_tuple to GetTupleForTrigger().
Previous Message Andres Freund 2019-02-09 09:38:51 pgsql: Plug leak in BuildTupleHashTable by creating ExprContext in corr