pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: David Rowley <drowley@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Make use of initReadOnlyStringInfo() in more places
Date: Mon, 06 Nov 2023 22:19:13 +0000
Message-ID: <E1r07w9-004F1C-6q@gemulon.postgresql.org> (raw)

Make use of initReadOnlyStringInfo() in more places

f0efa5aec introduced the concept of "read-only" StringInfos which makes
use of an existing, possibly not NUL terminated, buffer.

Here we adjust two places that make use of StringInfos to receive data
to avoid using appendBinaryStringInfo() in cases where a NUL termination
character is not required.  This saves a possible palloc() and saves
having to needlessly memcpy() from one buffer to another.

Here we adjust two places which were using appendBinaryStringInfo().
Neither of these cases seem particularly performance-critical.  In the
case of XLogWalRcvProcessMsg(), the appendBinaryStringInfo() was only
appending 24 bytes.  The change made here does mean that we can get rid
of the incoming_message global variable and make that local instead.

The apply_spooled_messages() case applies in logical decoding when
applying (possibly large) changes which have been serialized to a file.

Reviewed-by: Amit Kapila
Discussion: https://postgr.es/m/CAApHDvoxYUDHwqPf-ShvchsERf1RzmkGoLwg63JNvHCkDCuyKQ@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/ac7d6f5f831e4dd83d891b95560d514b2d722d98

Modified Files
--------------
src/backend/replication/logical/worker.c |  8 +++-----
src/backend/replication/walreceiver.c    | 18 ++++++++++--------
2 files changed, 13 insertions(+), 13 deletions(-)



Message-ID: <E1r07w9-004F1C-6q@gemulon.postgresql.org>
Permalink:  ../E1r07w9-004F1C-6q@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1r07w9-004F1C-6q@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: drowley@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Make use of initReadOnlyStringInfo() in more places
  In-Reply-To: <E1r07w9-004F1C-6q@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox