Re: Use streaming read API in pgstattuple.

From: Kirill Reshke <reshkekirill(at)gmail(dot)com>
To: Matheus Alcantara <matheusssilv97(at)gmail(dot)com>
Cc: Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Use streaming read API in pgstattuple.
Date: 2024-12-06 05:40:18
Message-ID: CALdSSPjdK_g4FzLXypHxkP=8XeDwQsUQUb8pwbXxkZBrcyv+TQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, 29 Nov 2024 at 22:05, Matheus Alcantara
<matheusssilv97(at)gmail(dot)com> wrote:
> Just for reference; On pg_prewarm() for example this loop is
> implemented as:
>
> for (block = first_block; block <= last_block; ++block)
> {
> Buffer buf;
> ...
> buf = read_stream_next_buffer(stream, NULL);
> ...
> }
> Assert(read_stream_next_buffer(stream, NULL) == InvalidBuffer);
>
>
> Would this approach make sense on these cases? (this patch and on
> collect_corrupt_items)

Hi!
Thank you for your input. I applied this change for this patch.

I did also add more tests to the pgstattuple regression test, as Nazir
suggested. It turns out that pgstattuple works on GIST indexes, but
not GIN, while `pgstatginindex` exists and `pgstatgistindex` does not.
It took me a while to process the reasons. But those reasons worth
another thread & patch, so no changes here.

--
Best regards,
Kirill Reshke

Attachment Content-Type Size
v3-0001-Use-stream-read-interface-for-pgstattuple-routine.patch application/octet-stream 8.8 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Shlok Kyal 2024-12-06 05:40:26 Re: Disallow UPDATE/DELETE on table with unpublished generated column as REPLICA IDENTITY
Previous Message vignesh C 2024-12-06 05:34:29 Re: Introduce XID age and inactive timeout based replication slot invalidation