Re: refactor some protocol message sending in walsender and basebackup

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-07-06T06:51:37Z
Lists: pgsql-hackers
On 01.07.22 23:36, Nathan Bossart wrote:
> On Thu, Jun 23, 2022 at 04:36:36PM +0200, Peter Eisentraut wrote:
>> Some places in walsender.c and basebackup_copy.c open-code the sending of
>> RowDescription and DataRow protocol messages.  But there are already more
>> compact and robust solutions available for this, using DestRemoteSimple and
>> associated machinery, already in use in walsender.c.
>>
>> The attached patches 0001 and 0002 are tiny bug fixes I found during this.
>>
>> Patches 0003 and 0004 are the main refactorings.  They should probably be
>> combined into one patch eventually, but this way the treatment of
>> RowDescription and DataRow is presented separately.
> 
> All 4 patches look reasonable to me.

All committed now, thanks.

(I cleaned up the 0004 patch a bit more; there was some junk left in the 
posted patch.)



Commits

  1. Refactor sending of DataRow messages in replication protocol

  2. Refactor sending of RowDescription messages in replication protocol

  3. Change timeline field of IDENTIFY_SYSTEM to int8

  4. Fix attlen in RowDescription of BASE_BACKUP response