From: | Nathan Bossart <nathandbossart(at)gmail(dot)com> |
---|---|
To: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> |
Cc: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Common function for percent placeholder replacement |
Date: | 2023-01-09 17:53:57 |
Message-ID: | 20230109175357.GB1112921@nathanxps13 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Jan 09, 2023 at 09:36:12AM +0100, Peter Eisentraut wrote:
> On 04.01.23 01:37, Nathan Bossart wrote:
>> On Tue, Dec 20, 2022 at 06:30:40AM +0100, Peter Eisentraut wrote:
>> > + * A value may be NULL. If the corresponding placeholder is found in the
>> > + * input string, the whole function returns NULL.
>>
>> This appears to be carried over from BuildRestoreCommand(), and AFAICT it
>> is only necessary because pg_rewind doesn't support %r in restore_command.
>> IMHO this behavior is counterintuitive and possibly error-prone and should
>> result in an ERROR instead. Since pg_rewind is the only special case, it
>> could independently check for %r before building the command.
>
> Yeah, this annoyed me, too. I have now changed it so that a NULL "value" is
> the same as an unsupported placeholder. This preserves the existing
> behavior.
>
> (Having pg_rewind check for %r itself would probably require replicating
> most of the string processing logic (consider something like "%%r"), so it
> didn't seem appealing.)
Sounds good to me.
> + nativePath = pstrdup(path);
> + make_native_path(nativePath);
> + nativePath = pstrdup(xlogpath);
> + make_native_path(nativePath);
Should these be freed?
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2023-01-09 18:16:03 | Re: Fixing a couple of buglets in how VACUUM sets visibility map bits |
Previous Message | Nathan Bossart | 2023-01-09 17:45:39 | Re: add \dpS to psql |