diff options
author | Robert Haas <rhaas@postgresql.org> | 2023-10-02 11:40:07 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2023-10-02 11:40:07 -0400 |
commit | 1ccc1e05ae8feabf444259234d34e1e32231604d (patch) | |
tree | 057ec0d5c4755cc7f03c9a536fd49a6cbb74e296 /src/backend/utils/adt/ruleutils.c | |
parent | e64c733bb1996e52a13f6fc4a1240703f607fa53 (diff) | |
download | postgresql-1ccc1e05ae8feabf444259234d34e1e32231604d.tar.gz postgresql-1ccc1e05ae8feabf444259234d34e1e32231604d.zip |
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
Diffstat (limited to 'src/backend/utils/adt/ruleutils.c')
0 files changed, 0 insertions, 0 deletions