Re: Reorganize GUC structs

Álvaro Herrera <alvherre@kurilemu.de>

From: Álvaro Herrera <alvherre@kurilemu.de>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-11-14T11:00:46Z
Lists: pgsql-hackers
On 2025-Nov-12, Peter Eisentraut wrote:

> Well, that's the one, but the code actually looks like this now:
> 
>     while ((i = bms_next_member(atts, i)) >= 0)
>     {
>         attcnt++;
>         if (attcnt > 1)
>             appendStringInfoString(&attsbuf, _(", "));
> 
>         appendStringInfo(&attsbuf, _("\"%s\""), remoterel->attnames[i]);
>     }
> 
> The catalog entries you are showing appear to be from pre-PG18.

Ah, right.

> There are also similar instances in ExecBuildSlotValueDescription() that are
> not marked up for gettext but perhaps should be.  There might be others, and
> I would expect more like this to appear over time, as people like to add
> more detail like this to diagnostics messages.

Sure.

> Do you have a suggestion what kind of comment to attach there?

I would say "This is a separator in a list of entity names."  We don't
need to be specific as to what kind of entity it is, I think.

-- 
Álvaro Herrera        Breisgau, Deutschland  —  https://www.EnterpriseDB.com/
Bob [Floyd] used to say that he was planning to get a Ph.D. by the "green
stamp method," namely by saving envelopes addressed to him as 'Dr. Floyd'.
After collecting 500 such letters, he mused, a university somewhere in
Arizona would probably grant him a degree.              (Don Knuth)



Commits

  1. Remove extraneous newlines from guc_parameters.dat

  2. Fix NLS for incorrect GUC enum value hint message

  3. Clean up qsort comparison function for GUC entries

  4. Sort guc_parameters.dat alphabetically by name

  5. Reorganize GUC structs

  6. Change config_generic.vartype to be initialized at compile time

  7. Use designated initializers for guc_tables

  8. Change reset_extra into a config_generic common field

  9. Add some const qualifiers

  10. Modernize some for loops