Re: Invalid primary_slot_name triggers warnings in all processes on reload - Mailing list pgsql-hackers

From Fujii Masao
Subject Re: Invalid primary_slot_name triggers warnings in all processes on reload
Date
Msg-id CAHGQGwGCidRtvuLeRmopT78LMioQmKu4pOS=RW=Fp+6_V=5_XQ@mail.gmail.com
Whole thread Raw
In response to Re: Invalid primary_slot_name triggers warnings in all processes on reload  (Fujii Masao <masao.fujii@gmail.com>)
List pgsql-hackers
On Thu, Oct 9, 2025 at 2:26 PM Fujii Masao <masao.fujii@gmail.com> wrote:
> > Please note that since you're using already translated strings as
> > arguments, you must use errmsg_internal() and errhint_internal(), to
> > avoid doubly-translating these messages.
>
> I've updated the patch to use errmsg_internal() and errhint_internal().
> However, for GUCs, GUC_check_errdetail() and GUC_check_errhint() are
> still used - and since they also translate their input, we might need
> something like GUC_check_errdetail_internal() and
> GUC_check_errhint_internal() to avoid double translation. Thought?
> I haven't added those functions in the attached patch yet.

OK, I've implemented this and attached two patches.

0001 fixes the issue we've been discussing. It's mostly the same as
the previous version I posted.

0002 adds GUC_check_errmsg_internal(), GUC_check_errdetail_internal(),
and GUC_check_errhint_internal(). These work like their counterparts
(e.g., GUC_check_errmsg()) but skip translation. It also updates
the check hook for primary_slot_name to use these new functions
when handling already-translated error messages.

Regards,

--
Fujii Masao

Attachment

pgsql-hackers by date:

Previous
From: Chao Li
Date:
Subject: Re: new environment variable INITDB_LOCALE_PROVIDER
Next
From: Sadhuprasad Patro
Date:
Subject: Improved TAP tests by replacing sub-optimal uses of ok() with better Test::More functions