Re: Confine vacuum skip logic to lazy_scan_skip - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: Confine vacuum skip logic to lazy_scan_skip
Date
Msg-id CA+hUKGK3sB-T+Ao8EBCOu5M1MsCMPnPpNyXuQGkQYHU4WC35eA@mail.gmail.com
Whole thread Raw
In response to Re: Confine vacuum skip logic to lazy_scan_skip  (Noah Misch <noah@leadboat.com>)
Responses Re: Confine vacuum skip logic to lazy_scan_skip
List pgsql-hackers
On Mon, Jul 8, 2024 at 2:49 AM Noah Misch <noah@leadboat.com> wrote:
> what is the scope of the review you seek?

The patch "Refactor tidstore.c memory management." could definitely
use some review.  I wasn't sure if that should be proposed in a new
thread of its own, but then the need for it comes from this
streamifying project, so...  The basic problem was that we want to
build up a stream of block to be vacuumed (so that we can perform the
I/O combining etc) + some extra data attached to each buffer, in this
case the TID list, but the implementation of tidstore.c in master
would require us to make an extra intermediate copy of the TIDs,
because it keeps overwriting its internal buffer.  The proposal here
is to make it so that you can get get a tiny copyable object that can
later be used to retrieve the data into a caller-supplied buffer, so
that tidstore.c's iterator machinery doesn't have to have its own
internal buffer at all, and then calling code can safely queue up a
few of these at once.



pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: s/shm_mq_iovec/struct iovec/
Next
From: Thomas Munro
Date:
Subject: Re: race condition when writing pg_control