pgsql: Use ExtendBufferedRelTo() in XLogReadBufferExtended()

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Use ExtendBufferedRelTo() in XLogReadBufferExtended()
Date: 2023-04-07 01:03:02
Message-ID: E1pkaVJ-001lts-H3@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Use ExtendBufferedRelTo() in XLogReadBufferExtended()

Instead of extending the relation block-by-block, use ExtendBufferedRelTo(),
introduced in 31966b151e6. This is faster and simpler.

This also somewhat reduces the danger that disconnected segments pose (which
can be "discovered" once the previous segment reaches SEGSIZE), as
ExtendBufferedRelTo() won't extend past the block it has been asked. However,
the risk of the content of such a disconnected segment being invalid
remains.

Discussion: https://postgr.es/m/20221029025420.eplyow6k7tgu6he3@awork3.anarazel.de
Discussion: https://postgr.es/m/20230223010147.32oir7sb66slqnjk@awork3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/26158b852d3adf6936008ce09c9ff2b947c8df40

Modified Files
--------------
src/backend/access/transam/xlogutils.c | 29 +++++++----------------------
1 file changed, 7 insertions(+), 22 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2023-04-07 01:15:17 pgsql: Add more protections in WAL record APIs against overflows
Previous Message David Rowley 2023-04-07 00:47:29 pgsql: Add --buffer-usage-limit option to vacuumdb