Re: quoteOneName() inconsistency with quote_all_identifiers — replacement API proposed

Chao Li <li.evan.chao@gmail.com>

From: Chao Li <li.evan.chao@gmail.com>
To: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Cc: Álvaro Herrera <alvherre@kurilemu.de>, David Rowley <dgrowleyml@gmail.com>
Date: 2026-04-13T02:53:26Z
Lists: pgsql-hackers

Attachments


> On Nov 21, 2025, at 18:03, Chao Li <li.evan.chao@gmail.com> wrote:
> 
> Fixed a compile warning in v4.
> 
> Best regards,
> Chao Li (Evan)
> ---------------------
> HighGo Software Co., Ltd.
> https://www.highgo.com/
> 
> 
> On Fri, Nov 21, 2025 at 1:52 PM Chao Li <li.evan.chao@gmail.com> wrote:
> 
> On Thu, Nov 20, 2025 at 8:28 PM Álvaro Herrera <alvherre@kurilemu.de> wrote:
> Hi,
> 
> > -                appendStringInfo(&buffer, _("text search configuration %s"),
> > -                                 quote_qualified_identifier(nspname,
> > -                                                            NameStr(cfgForm->cfgname)));
> > +                appendStringInfoQualifiedIdentifier(&buffer,
> > +                                                    _("text search configuration "),
> > +                                                    nspname, NameStr(cfgForm->cfgname), NULL);
> >                  ReleaseSysCache(tup);
> >                  break;
> >              }
> 
> This doesn't work from a i18n point of view.  In the original
> formulation, the translator is free to place the %s wherever it suits
> the language.  In the new one there's no such freedom: the name will be
> appended at the end.  Some existing translations:
> 
> ko.po:msgid "text search configuration %s"
> ko.po-msgstr "%s 전문 검색 구성"
> 
> tr.po:msgid "text search configuration %s"
> tr.po-msgstr "%s metin arama yapılandırması"
> 
> Thanks for the feedback. I reverted that piece of change in v3.
> 
> Best regards,
> Chao Li (Evan)
> ---------------------
> HighGo Software Co., Ltd.
> https://www.highgo.com/ 

Rebased.

--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/