pgsql: Remove retry loop in heap_page_prune().
От | Robert Haas |
---|---|
Тема | pgsql: Remove retry loop in heap_page_prune(). |
Дата | |
Msg-id | E1qnLOz-0079Pa-JM@gemulon.postgresql.org обсуждение исходный текст |
Список | 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(-)
В списке pgsql-committers по дате отправления: