Re: Narrow the scope of the variable outputstr in logicalrep_write_tuple
| От | Bharath Rupireddy |
|---|---|
| Тема | Re: Narrow the scope of the variable outputstr in logicalrep_write_tuple |
| Дата | |
| Msg-id | CALj2ACV1m79SR40t21DRp_YTd7SgMUB3=V=QjeBKJt-iHwvbMw@mail.gmail.com обсуждение исходный текст |
| Ответ на | Narrow the scope of the variable outputstr in logicalrep_write_tuple (japin <japinli@hotmail.com>) |
| Ответы |
Re: Narrow the scope of the variable outputstr in logicalrep_write_tuple
|
| Список | pgsql-hackers |
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
With Regards,
Bharath Rupireddy.
EnterpriseDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: