Re: GUC values - recommended way to declare the C variables?

Peter Smith <smithpb2250@gmail.com>

From: Peter Smith <smithpb2250@gmail.com>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Michael Paquier <michael@paquier.xyz>, Nathan Bossart <nathandbossart@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2022-10-20T07:52:00Z
Lists: pgsql-hackers
On Thu, Oct 20, 2022 at 3:16 PM Justin Pryzby <pryzby@telsasoft.com> wrote:
>
> On Thu, Oct 20, 2022 at 11:56:58AM +1100, Peter Smith wrote:
> > Patch 0002 adds a sanity-check function called by
> > InitializeGUCOptions, as suggested by Tom [2]. This is to ensure that
> > the GUC C variable initial values are sensible and/or have not gone
> > stale compared with the compiled-in defaults of guc_tables.c. This
> > patch also changes some GUC C variable initial values which were
> > already found (by this sanity-checker) to be different.
>
> I like it.
>
> However it's fails on windows:
>
> https://cirrus-ci.com/task/5545965036765184
>
> running bootstrap script ... FATAL:  GUC (PGC_BOOL) update_process_title, boot_val=0, C-var=1
>
> Maybe you need to exclude dynamically set gucs ?
> See also this other thread, where I added a flag identifying exactly
> that.  https://commitfest.postgresql.org/40/3736/
> I need to polish that patch some, but maybe it'll be useful for you, too.
>

Great, this looks very helpful. I will try again tomorrow by skipping
over such GUCs.

And I noticed a couple of other C initial values I had changed
coincide with what you've marked as GUC_DYNAMIC_DEFAULT so I'll
restore those to how they were before too.

------
Kind Regards,
Peter Smith.
Fujitsu Australia



Commits

  1. Add check on initial and boot values when loading GUCs

  2. Clean up some inconsistencies with GUC declarations

  3. Clean up some GUC declarations and comments