From: | Robert Haas <rhaas(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Remove retry loop in heap_page_prune(). |
Date: | 2023-10-02 16:04:09 |
Message-ID: | E1qnLOz-0079Pa-JM@gemulon.postgresql.org |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Remove retry loop in heap_page_prune().
The retry loop is needed because heap_page_prune() calls
HeapTupleSatisfiesVacuum() and then lazy_scan_prune() does the same
thing again, and they might get different answers due to concurrent
clog updates. But this patch makes heap_page_prune() return the
HeapTupleSatisfiesVacuum() results that it computed back to the
caller, which allows lazy_scan_prune() to avoid needing to recompute
those values in the first place. That's nice both because it eliminates
the need for a retry loop and also because it's cheaper.
Melanie Plageman, reviewed by David Geier, Andres Freund, and me.
Discussion: https://postgr.es/m/CAAKRu_br124qsGJieuYA0nGjywEukhK1dKBfRdby_4yY3E9SXA%40mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/1ccc1e05ae8feabf444259234d34e1e32231604d
Modified Files
--------------
src/backend/access/heap/pruneheap.c | 36 ++++++++++++++----------------
src/backend/access/heap/vacuumlazy.c | 43 +++++++++++-------------------------
src/include/access/heapam.h | 25 +++++++++++++++++++++
3 files changed, 55 insertions(+), 49 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2023-10-02 17:28:28 | pgsql: Fix omission of column-level privileges in selective pg_restore. |
Previous Message | Heikki Linnakangas | 2023-10-02 10:08:36 | pgsql: Flush WAL stats in bgwriter |