Re: [PATCH] Fix escaping for '\' and '"' in pageinspect for gist - Mailing list pgsql-hackers

From Kirill Reshke
Subject Re: [PATCH] Fix escaping for '\' and '"' in pageinspect for gist
Date
Msg-id CALdSSPh4uMj3wVkeLcafk2hWJnK0Eu3t0p8LhjiaDEUz+cYktg@mail.gmail.com
Whole thread Raw
In response to [PATCH] Fix escaping for '\' and '"' in pageinspect for gist  (Roman Khapov <rkhapov@yandex-team.ru>)
List pgsql-hackers
On Mon, 29 Dec 2025 at 20:48, Roman Khapov <rkhapov@yandex-team.ru> wrote:
>
> Hi hackers!
>
> I noticed, that there is bug in escaping values that contains '\' or '"' in text representation
> inside pageinspect for gist: the string 'foo"bar' are printed like "foo""bar" and not "foo\"bar".
>
> To fix that, we should do appendStringInfoCharMacro(&buf, '\\'); instead of
> appendStringInfoCharMacro(&buf, ch); in case ch is one of that symbols.
>
> Any thoughts?
>
> --
> Best regards,
> Roman Khapov
>

Hi!
Looks like we have two similar places in kernel [0] & [1], and at
least one of these three places is wrong.


[0] https://github.com/postgres/postgres/blob/master/src/backend/utils/adt/rowtypes.c#L460

[1] https://github.com/postgres/postgres/blob/master/src/bin/pg_rewind/libpq_source.c#L621
-- 
Best regards,
Kirill Reshke



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Define DatumGetInt8 function.
Next
From: Kirill Reshke
Date:
Subject: Re: Define DatumGetInt8 function.