Re: Beautify read stream "per buffer data" APIs

From: solai v <solai(dot)cdac(at)gmail(dot)com>
To: Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>
Cc: Melanie Plageman <melanieplageman(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Subject: Re: Beautify read stream "per buffer data" APIs
Date: 2026-05-29 04:36:30
Message-ID: CAF0whueLddMPDdaVOsn7rdiWBzPo7EDQmH+BJuv1gg9v9M8PJQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I tested both patches on the current master.
The patches applied cleanly, and I reviewed the API changes in
read_stream.h along with the updated call sites, especially in
vacuumlazy. c.
The helper APIs make the code easier to read and reduce the direct
void handling and manual casts in callers.
I also tried reproducing the issue mentioned by Nazir about
read_stream_put_value() not accepting literal constants/rvalues.
Replacing:
read_stream_put_value(stream, per_buffer_data, temp);
with:
read_stream_put_value(stream, per_buffer_data, false);
still results in the following compilation error:
error: lvalue required as unary '&' operand
So the limitation discussed in the thread is still reproducible from my testing.
Other than that, the cleanup and API refactoring look good to me overall.

Regards,
Solai

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Joel Jacobson 2026-05-29 05:08:47 Re: Key joins
Previous Message Chengpeng Yan 2026-05-29 04:22:55 Re: [PATCH] Fix overflow and underflow in regr_r2()