Re: Narrow the scope of the variable outputstr in logicalrep_write_tuple - Mailing list pgsql-hackers

From japin
Subject Re: Narrow the scope of the variable outputstr in logicalrep_write_tuple
Date
Msg-id MEYP282MB16697AA10DBD5EDAA5085CBFB6A40@MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM
Whole thread Raw
In response to Re: Narrow the scope of the variable outputstr in logicalrep_write_tuple  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
Responses Re: Narrow the scope of the variable outputstr in logicalrep_write_tuple
List pgsql-hackers
On Mon, 18 Jan 2021 at 15:59, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> wrote:
> On Mon, Jan 18, 2021 at 1:16 PM japin <japinli@hotmail.com> wrote:
>>
>>
>> Hi,
>>
>> I find that the outputstr variable in logicalrep_write_tuple() only use in
>> `else` branch, I think we can narrow the scope, just like variable outputbytes
>> in `if` branch (for more readable).
>>
>>         /*
>>          * Send in binary if requested and type has suitable send function.
>>          */
>>         if (binary && OidIsValid(typclass->typsend))
>>         {
>>             bytea      *outputbytes;
>>             int         len;
>>
>>             pq_sendbyte(out, LOGICALREP_COLUMN_BINARY);
>>             outputbytes = OidSendFunctionCall(typclass->typsend, values[i]);
>>             len = VARSIZE(outputbytes) - VARHDRSZ;
>>             pq_sendint(out, len, 4);    /* length */
>>             pq_sendbytes(out, VARDATA(outputbytes), len);   /* data */
>>             pfree(outputbytes);
>>         }
>>         else
>>         {
>>             pq_sendbyte(out, LOGICALREP_COLUMN_TEXT);
>>             outputstr = OidOutputFunctionCall(typclass->typoutput, values[i]);
>>             pq_sendcountedtext(out, outputstr, strlen(outputstr), false);
>>             pfree(outputstr);
>>         }
>>
>> Attached is a samll patch to fix it.
>
> +1. Binary mode uses block level variable outputbytes, so making
> outputstr block level is fine IMO.
>
> Patch basically looks good to me, but it doesn't apply on my system.
> Looks like it's not created with git commit. Please create the patch
> with git commit command.
>
> git apply /mnt/hgfs/Shared/narrow-the-scope-of-the-variable-in-logicalrep_write_tuple.patch
> error: corrupt patch at line 10
>

Thanks for reviewing! Attached v2 as you suggested.

-- 
Regrads,
Japin Li.
ChengDu WenWu Information Technology Co.,Ltd.


Attachment

pgsql-hackers by date:

Previous
From: Bharath Rupireddy
Date:
Subject: Re: Narrow the scope of the variable outputstr in logicalrep_write_tuple
Next
From: "tsunakawa.takay@fujitsu.com"
Date:
Subject: RE: Parallel INSERT (INTO ... SELECT ...)