Thread: pgsql: Extend sendFileWithContent() to handle custom content length in

pgsql: Extend sendFileWithContent() to handle custom content length in

From
Michael Paquier
Date:
Extend sendFileWithContent() to handle custom content length in basebackup.c

sendFileWithContent() previously got the content length by using
strlen(), assuming that the content given is always a string.  Some
patches are under discussion to pass binary contents to a base backup
stream, where an arbitrary length needs to be given by the caller
instead.

The patch extends sendFileWithContent() to be able to handle this case,
where len < 0 can be used to indicate an arbitrary length rather than
rely on strlen() for the content length.

A comment in sendFileWithContent() mentioned the backup_label file.
However, this routine is used by more file types, like the tablespace
map, so adjust it in passing.

Author: David Steele
Discussion: https://postgr.es/m/2daf8adc-8db7-4204-a7f2-a7e94e2bfa4b@pgmasters.net

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/7606175991f8ed5ae36eecf6951cb89dcfb2156e

Modified Files
--------------
src/backend/backup/basebackup.c | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)


Re: pgsql: Extend sendFileWithContent() to handle custom content length in

From
Julien Rouhaud
Date:
Hi,

On Sun, Nov 12, 2023 at 11:36:58PM +0000, Michael Paquier wrote:
> Extend sendFileWithContent() to handle custom content length in basebackup.c
> [...]
> The patch extends sendFileWithContent() to be able to handle this case,
> where len < 0 can be used to indicate an arbitrary length rather than
> rely on strlen() for the content length.

Did you mean >= 0?

-   len = strlen(content);
+   if (len < 0)
+       len = strlen(content);



Re: pgsql: Extend sendFileWithContent() to handle custom content length in

From
Michael Paquier
Date:
On Mon, Nov 13, 2023 at 08:53:45AM +0800, Julien Rouhaud wrote:
> Did you mean >= 0?

Indeed, thanks.  The commit message got that the opposite way.
--
Michael

Attachment