Re: index prefetching

Поиск
Список
Период
Сортировка
От Thomas Munro
Тема Re: index prefetching
Дата
Msg-id CA+hUKG+9yP4JC_PXdrew7-xQPVy2VGucFjnDveJRsQibPVOyVg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: index prefetching  (Nazir Bilal Yavuz <byavuz81@gmail.com>)
Ответы Re: index prefetching
Список pgsql-hackers
On Tue, Aug 12, 2025 at 11:22 PM Nazir Bilal Yavuz <byavuz81@gmail.com> wrote:
> Unfortunately this doesn't work. We need to handle backwards I/O
> combining in the StartReadBuffersImpl() function too as buffer indexes
> won't have correct blocknums. Also, I think buffer forwarding of split
> backwards I/O should be handled in a couple of places.

Perhaps there could be a flag pending_read_backwards that can only
become set with pending_read_nblocks goes from 1 to 2, and then a new
flag stream->ios[x].backwards (in struct InProgressIO) that is set in
read_stream_start_pending_read().  Then immediately after
WaitReadBuffers(), we reverse the buffers it returned in place if that
flag was set.  Oh, I see, you were imagining a flag
READ_BUFFERS_REVERSE that tells WaitReadBuffers() to do that
internally.  Hmm.  Either way I don't think you need to consider the
forwarded buffers because they will be reversed during a later call
that includes them in *nblocks (output value), no?



В списке pgsql-hackers по дате отправления: