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

From: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
To: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
Cc: Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: quoteOneName() inconsistency with quote_all_identifiers — replacement API proposed
Date: 2025-11-20 12:28:00
Message-ID: 202511201224.fgu55ahjz664@alvherre.pgsql
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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ı"

--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
"I must say, I am absolutely impressed with what pgsql's implementation of
VALUES allows me to do. It's kind of ridiculous how much "work" goes away in
my code. Too bad I can't do this at work (Oracle 8/9)." (Tom Allison)
http://archives.postgresql.org/pgsql-general/2007-06/msg00016.php

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Álvaro Herrera 2025-11-20 12:41:59 Re: [PATCH] Expose checkpoint timestamp and duration in pg_stat_checkpointer
Previous Message Dilip Kumar 2025-11-20 12:08:21 Re: Proposal: Conflict log history table for Logical Replication