Thread

  1. Re: [PATCH] Fix escaping for '\' and '"' in pageinspect for gist

    Kirill Reshke <reshkekirill@gmail.com> — 2025-12-29T15:59:15Z

    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