Re: Simplify code building the LR conflict messages

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>
Cc: shveta malik <shveta(dot)malik(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Álvaro Herrera <alvherre(at)kurilemu(dot)de>, Peter Smith <smithpb2250(at)gmail(dot)com>
Subject: Re: Simplify code building the LR conflict messages
Date: 2026-01-19 07:04:14
Message-ID: CAA4eK1LJ6996mrXMOd28GYQ3ey9dETiLYuxTcr3Z8V7c-gxbFw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Jan 19, 2026 at 10:56 AM Hayato Kuroda (Fujitsu)
<kuroda(dot)hayato(at)fujitsu(dot)com> wrote:
>

Few comments:
=============
1.
+ append_tuple_value_detail(&err_detail, NULL, NULL,
+ remote_desc, search_desc);
+
+ appendStringInfoString(&err_detail, _(".\n"));

Adding full-stop along with a newline like this appears odd. I think
we did it like this so that the internal function
append_tuple_value_detail() doesn't decide whether the line ends. Is
there any better way or are we okay with this kind of coding? I see
that previously build_tuple_value_details() also appends dot when
required. See below code:
build_tuple_value_details()
{
...
if (tuple_value.len == 0)
return NULL;

appendStringInfoChar(&tuple_value, '.');

}

2.
+ if (key_desc)
+ pfree(key_desc);
+ if (search_desc)
+ pfree(search_desc);
+ if (local_desc)
+ pfree(local_desc);
+ if (remote_desc)
+ pfree(remote_desc);

Do we need these retail pfrees and in one in obtain_tuple_values()?
Which context is being used to allocate this memory and won't it reset
after applying or logging this change?

3.
+static void
+obtain_tuple_values(EState

Won't it be better to name this function as get_tuple_values()?

--
With Regards,
Amit Kapila.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Chao Li 2026-01-19 07:14:48 tablecmds: clarify recurse vs recusing
Previous Message Peter Smith 2026-01-19 07:02:33 Re: Proposal: Conflict log history table for Logical Replication