Re: Generate GUC tables from .dat file

Daniel Gustafsson <daniel@yesql.se>

From: Daniel Gustafsson <daniel@yesql.se>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: John Naylor <johncnaylorls@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-09-03T08:41:43Z
Lists: pgsql-hackers
> On 3 Sep 2025, at 10:37, Peter Eisentraut <peter@eisentraut.org> wrote:
> 
> On 28.08.25 15:29, Daniel Gustafsson wrote:
>>> On 28 Aug 2025, at 08:53, Peter Eisentraut <peter@eisentraut.org> wrote:
>>> I addressed all those, and did another cleanup pass over the script.  (The formatting is from pgperltidy.)
>> A tiny nitpick is that all the other generator scripts (that I looked at) in
>> the tree use GetOptions() with named parameter rather than dereference ARGV
>> directly:
>> +my $input_fname = $ARGV[0];
>> +my $output_fname = $ARGV[1];
> 
> I didn't use GetOptions() but changed it a bit per David Wheeler's suggestion downthread.

FWIW I agree that it's overkill to use GetOptions here, it was mostly a
reference to use using it elsewhere where it's equally overkill =)

>> Also, I would have directed the reader to guc_parameters.dat in the below
>> comment since that's the canonical copy of the default value, but it's a
>> personal preference as it can just as easily be argued for keeping guc_tables.c
> 
> I updated this comment and another one.
> 
> (There are a few more comments referring to guc_tables.c, which I think are mostly still correct.

Agreed, surveying the references I think most of them are correct in referring
to the .c file even with this change.

>  I expect some of this will also be changed in the near future.  One change for example could be to generate the enum declarations.)

That's one I am looking forward to for sure.

--
Daniel Gustafsson




Commits

  1. Ensure guc_tables.o's dependency on guc_tables.inc.c is known.

  2. Clean up newly added guc_tables.inc.c

  3. Generate GUC tables from .dat file

  4. Formatting cleanup of guc_tables.c