pg_basebackup: Refactor code for reading COPY and tar data.

Robert Haas <rhaas@postgresql.org>

Commit: 431ba7bebf139b6edf5544ce18f39a1a4dcb8110
Author: Robert Haas <rhaas@postgresql.org>
Date: 2019-12-05T20:14:09Z
Releases: 13.0
pg_basebackup: Refactor code for reading COPY and tar data.

Add a new function ReceiveCopyData that does just that, taking a
callback as an argument to specify what should be done with each chunk
as it is received. This allows a single copy of the logic to be shared
between ReceiveTarFile and ReceiveAndUnpackTarFile, and eliminates
a few #ifdef conditions based on HAVE_LIBZ.

While this is slightly more code, it's arguably clearer, and
there is a pending patch that introduces additional calls to
ReceiveCopyData.

This commit is not intended to result in any functional change.

Discussion: http://postgr.es/m/CA+TgmoYZDTHbSpwZtW=JDgAhwVAYvmdSrRUjOd+AYdfNNXVBDg@mail.gmail.com

Files

PathChange+/−
src/bin/pg_basebackup/pg_basebackup.c modified +507 −498

Discussion