Re: GUC names in messages
Peter Smith <smithpb2250@gmail.com>
From: Peter Smith <smithpb2250@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>,
Nathan Bossart <nathandbossart@gmail.com>, Laurenz Albe <laurenz.albe@cybertec.at>,
Peter Eisentraut <peter@eisentraut.org>, Tom Lane <tgl@sss.pgh.pa.us>, Daniel Gustafsson <daniel@yesql.se>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-11-27T02:41:18Z
Lists: pgsql-hackers
On Mon, Nov 27, 2023 at 12:44 PM Michael Paquier <michael@paquier.xyz> wrote: > > On Mon, Nov 27, 2023 at 10:04:35AM +1100, Peter Smith wrote: > > On Fri, Nov 24, 2023 at 8:53 PM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote: > >> Yeah. Also, these could be changed to have the GUC name outside the > >> message proper, which would reduce the total number of messages. (But > >> care must be given to the word "the" there.) > > > > I had posted something similar a few posts back [1], but it just > > caused more questions unrelated to GUC name quotes so I abandoned that > > temporarily. > > Yes, I kind of agree to let that out of the picture for the moment. > It would be good to reduce the translation chunks. > > > So for now, I hope this thread can be only about quotes on GUC names, > > otherwise, I thought it may become stuck debating dozens of individual > > messages. Certainly later, or in another thread, we can revisit all > > messages again to try to identify/extract any "common" ones. > > -HINT: Perhaps you need a different "datestyle" setting. > +HINT: Perhaps you need a different DateStyle setting. > > Is the change for "datestyle" really required? It does not betray the > GUC quoting policy added by 0001. > TBH, I suspect something fishy about these mixed-case GUCs. In the documentation and in the guc_tables.c they are all described in MixedCase (e.g. "DateStyle" instead of "datestyle"), so I felt the messages should use the same case the documentation, which is why I changed all the ones you are referring to. I know the code is doing a case-insensitive hashtable lookup but I suspect some of the string passing still in the code for those particular GUCs ought to be using the same mixed case string literal as in the guc_tables.c. Currently, I have seen a few quirks where the case is inconsistent with the MixedCase docs. It needs some more investigation to understand the reason. For example, 2023-11-27 11:03:48.565 AEDT [15303] STATEMENT: set intervalstyle=123; ERROR: invalid value for parameter "intervalstyle": "123" versus 2023-11-27 11:13:56.018 AEDT [15303] STATEMENT: set datestyle=123; ERROR: invalid value for parameter DateStyle: "123" > >> I think we could leave these improvements for a second round. They > >> don't need to hold back the improvement we already have. > > > > I tried something for this already but kept it in a separate patch. See v2-0003 > > + if (*p == '_') > + underscore = true; > > Is there a reason why we don't just use islower() or is that just to > get something entirely local independent? I am not sure that it needs > to be that complicated. We should just check that all the characters > are lower-case and apply quotes. Thanks for the feedback. Probably I have overcomplicated it. I'll revisit it. ====== Kind Regards, Peter Smith. Fujitsu Australia
Commits
-
Apply GUC name from central table in more places of guc.c
- f3f06b13308e 18.0 landed
-
Use camel case for "DateStyle" in some error messages
- 2e7c4abe5a88 18.0 landed
-
Unify some error messages to ease work of translators
- a68159ff2b32 18.0 landed
-
Apply more quoting to GUC names in messages
- b4db64270e0c 18.0 landed
-
Revise GUC names quoting in messages again
- 17974ec25946 17.0 landed
-
doc: Mention how to use quotes with GUC names in error messages
- a243569bf65c 17.0 landed
-
Apply quotes more consistently to GUC names in logs
- 8d9978a7176a 17.0 landed