Confine vacuum skip logic to lazy_scan_skip

From: Melanie Plageman <melanieplageman(at)gmail(dot)com>
To: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Cc: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>
Subject: Confine vacuum skip logic to lazy_scan_skip
Date: 2023-12-31 18:28:16
Message-ID: CAAKRu_Yf3gvXGcCnqqfoq0Q8LX8UM-e-qbm_B1LeZh60f8WhWA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I've written a patch set for vacuum to use the streaming read interface
proposed in [1]. Making lazy_scan_heap() async-friendly required a bit
of refactoring of lazy_scan_heap() and lazy_scan_skip(). I needed to
confine all of the skipping logic -- previously spread across
lazy_scan_heap() and lazy_scan_skip() -- to lazy_scan_skip(). All of the
patches doing this and other preparation for vacuum to use the streaming
read API can be applied on top of master. The attached patch set does
this.

There are a few comments that still need to be updated. I also noticed I
needed to reorder and combine a couple of the commits. I wanted to
register this for the january commitfest, so I didn't quite have time
for the finishing touches.

- Melanie

[1] https://www.postgresql.org/message-id/flat/CA%2BhUKGJkOiOCa%2Bmag4BF%2BzHo7qo%3Do9CFheB8%3Dg6uT5TUm2gkvA%40mail.gmail.com

Attachment Content-Type Size
v1-0001-lazy_scan_skip-remove-unnecessary-local-var-rel_p.patch text/x-patch 1.6 KB
v1-0002-lazy_scan_skip-remove-unneeded-local-var-nskippab.patch text/x-patch 1.6 KB
v1-0003-Add-lazy_scan_skip-unskippable-state.patch text/x-patch 9.6 KB
v1-0004-Confine-vacuum-skip-logic-to-lazy_scan_skip.patch text/x-patch 13.4 KB
v1-0005-VacSkipState-saves-reference-to-LVRelState.patch text/x-patch 4.9 KB
v1-0006-VacSkipState-store-next-unskippable-block-vmbuffe.patch text/x-patch 6.8 KB
v1-0007-Remove-unneeded-vacuum_delay_point-from-lazy_scan.patch text/x-patch 918 bytes

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Melanie Plageman 2023-12-31 18:36:28 Re: Streaming I/O, vectored I/O (WIP)
Previous Message Arne Roland 2023-12-31 16:29:36 Re: Permute underscore separated components of columns before fuzzy matching