Re: GUC names in messages

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Peter Smith <smithpb2250@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Nathan Bossart <nathandbossart@gmail.com>, Laurenz Albe <laurenz.albe@cybertec.at>, Tom Lane <tgl@sss.pgh.pa.us>, Daniel Gustafsson <daniel@yesql.se>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-12-14T08:38:40Z
Lists: pgsql-hackers
On 11.12.23 00:07, Peter Smith wrote:
> If the rule is changed to quote those MixedCase GUCs then the docs
> will require minor tweaking
> 
> CURRENT
>     <para>
>      In messages containing configuration variable names, do not include quotes
>      when the names are visibly not natural English words, such as when they
>      have underscores, are all-uppercase or have mixed case. Otherwise, quotes
>      must be added. Do include quotes in a message where an arbitrary variable
>      name is to be expanded.
>     </para>
> 
> "are all-uppercase or have mixed case." --> "or are all-uppercase."

After these discussions, I think this rule change was not a good idea. 
It effectively enforces these kinds of inconsistencies.  For example, if 
you ever refactored

     "DateStyle is wrong"

to

     "%s is wrong"

you'd need to adjust the quotes, and thus user-visible behavior, for 
entirely internal reasons.  This is not good.  And then came the idea to 
determine the quoting dynamically, which I think everyone agreed was too 
much.  So I don't see a way to make this work well.




Commits

  1. Apply GUC name from central table in more places of guc.c

  2. Use camel case for "DateStyle" in some error messages

  3. Unify some error messages to ease work of translators

  4. Apply more quoting to GUC names in messages

  5. Revise GUC names quoting in messages again

  6. doc: Mention how to use quotes with GUC names in error messages

  7. Apply quotes more consistently to GUC names in logs