Re: pgsql: Fix lack of message pluralization

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Daniel Gustafsson <daniel(at)yesql(dot)se>
Cc: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Fix lack of message pluralization
Date: 2026-09-03 12:49:19
Message-ID: b0ab6539-8ad6-4b09-a9fc-70414713ddbe@eisentraut.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On 03.09.26 13:29, Daniel Gustafsson wrote:
>> On 3 Sep 2026, at 12:47, Peter Eisentraut <peter(at)eisentraut(dot)org> wrote:
>>
>> Fix lack of message pluralization
>
> Maybe I'm daft, but why is the message below pluralized since the %d parameter
> is the same?

Do you mean the parameter is constant?

This is correct, but we have some precedent to pluralize these kinds of
things anyway. Several reasons:

- Translators shouldn't have to look into the source code what the
actual value is. (Or, in this case, even beyond the actual source code.)

- Maybe tomorrow someone changes this to PG_UINT16_MAX, and then it
might have to be translated differently.

- Not in this specific case but in general: You might have the same
message in different contexts but with different numbers.

> --- a/src/backend/commands/trigger.c
> +++ b/src/backend/commands/trigger.c
> @@ -904,8 +904,10 @@ CreateTriggerFiringOn(const CreateTrigStmt *stmt, const char *queryString,
> if (nargs > PG_INT16_MAX)
> ereport(ERROR,
> errcode(ERRCODE_TOO_MANY_ARGUMENTS),
> - errmsg("triggers cannot have more than %d arguments",
> - PG_INT16_MAX));
> + errmsg_plural("triggers cannot have more than %d argument",
> + "triggers cannot have more than %d arguments",
> + PG_INT16_MAX,
> + PG_INT16_MAX));

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Daniel Gustafsson 2026-09-03 12:51:31 Re: pgsql: Fix lack of message pluralization
Previous Message Daniel Gustafsson 2026-09-03 11:29:23 Re: pgsql: Fix lack of message pluralization