Re: Implement waiting for wal lsn replay: reloaded
Chao Li <li.evan.chao@gmail.com>
From: Chao Li <li.evan.chao@gmail.com>
To: Álvaro Herrera <alvherre@kurilemu.de>
Cc: Xuneng Zhou <xunengzhou@gmail.com>,
Alexander Korotkov <aekorotkov@gmail.com>,
pgsql-hackers <pgsql-hackers@lists.postgresql.org>,
Andres Freund <andres@anarazel.de>,
Michael Paquier <michael@paquier.xyz>,
jian he <jian.universality@gmail.com>,
Tomas Vondra <tomas@vondra.me>,
Yura Sokolov <y.sokolov@postgrespro.ru>
Date: 2025-12-30T03:24:37Z
Lists: pgsql-hackers
> On Dec 30, 2025, at 11:14, Álvaro Herrera <alvherre@kurilemu.de> wrote:
>
> On 2025-Dec-27, Xuneng Zhou wrote:
>
>> On Fri, Dec 26, 2025 at 4:25 PM Chao Li <li.evan.chao@gmail.com> wrote:
>
>>> 2 - 0002
>>> ```
>>> + else
>>> + ereport(ERROR,
>>> + (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
>>> + errmsg("unrecognized value for WAIT option \"%s\": \"%s\"",
>>> + "MODE", mode_str),
>>> ```
>>>
>>> I wonder why don’t we directly put MODE into the error message?
>>
>> Yeah, putting MODE into the error message is cleaner. It's done in v8.
>
> The reason not to do that (and also put WAIT in a separate string) is so
> that the message is identicla to other messages and thus requires no
> separate translation, specifically
> errmsg("unrecognized value for %s option \"%s\": \"%s\"", ...)
>
> See commit 502e256f2262. Please use that form.
>
To follow 502e256f2262, it should use “%s” for “WAIT” as well. I raised the comment because I saw “WAIT” is the format strings, thus “MODE” can be there as well.
So, we should do a similar change like:
```
- errmsg("unrecognized value for EXPLAIN option \"%s\": \"%s\"",
- opt->defname, p),
+ errmsg("unrecognized value for %s option \"%s\": \"%s\"",
+ "EXPLAIN", opt->defname, p),
```
Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/