summaryrefslogtreecommitdiff
path: root/src/backend/utils/misc/gen_guc_tables.pl
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/misc/gen_guc_tables.pl')
-rw-r--r--src/backend/utils/misc/gen_guc_tables.pl53
1 files changed, 23 insertions, 30 deletions
diff --git a/src/backend/utils/misc/gen_guc_tables.pl b/src/backend/utils/misc/gen_guc_tables.pl
index b187259bf1e..3efde02bab8 100644
--- a/src/backend/utils/misc/gen_guc_tables.pl
+++ b/src/backend/utils/misc/gen_guc_tables.pl
@@ -25,10 +25,7 @@ my $parse = Catalog::ParseData($input_fname);
open my $ofh, '>', $output_fname or die;
print_boilerplate($ofh, $output_fname, 'GUC tables');
-foreach my $type (qw(bool int real string enum))
-{
- print_one_table($ofh, $type);
-}
+print_table($ofh);
close $ofh;
@@ -41,56 +38,52 @@ sub dquote
return q{"} . $s =~ s/"/\\"/gr . q{"};
}
-# Print GUC table for one type.
-sub print_one_table
+# Print GUC table.
+sub print_table
{
- my ($ofh, $type) = @_;
- my $Type = ucfirst $type;
+ my ($ofh) = @_;
print $ofh "\n\n";
- print $ofh "struct config_${type} ConfigureNames${Type}[] =\n";
+ print $ofh "struct config_generic ConfigureNames[] =\n";
print $ofh "{\n";
foreach my $entry (@{$parse})
{
- next if $entry->{type} ne $type;
-
print $ofh "#ifdef $entry->{ifdef}\n" if $entry->{ifdef};
print $ofh "\t{\n";
- print $ofh "\t\t{\n";
- printf $ofh "\t\t\t.name = %s,\n", dquote($entry->{name});
- printf $ofh "\t\t\t.context = %s,\n", $entry->{context};
- printf $ofh "\t\t\t.group = %s,\n", $entry->{group};
- printf $ofh "\t\t\t.short_desc = gettext_noop(%s),\n",
+ printf $ofh "\t\t.name = %s,\n", dquote($entry->{name});
+ printf $ofh "\t\t.context = %s,\n", $entry->{context};
+ printf $ofh "\t\t.group = %s,\n", $entry->{group};
+ printf $ofh "\t\t.short_desc = gettext_noop(%s),\n",
dquote($entry->{short_desc});
- printf $ofh "\t\t\t.long_desc = gettext_noop(%s),\n",
+ printf $ofh "\t\t.long_desc = gettext_noop(%s),\n",
dquote($entry->{long_desc})
if $entry->{long_desc};
- printf $ofh "\t\t\t.flags = %s,\n", $entry->{flags}
- if $entry->{flags};
- printf $ofh "\t\t\t.vartype = %s,\n", ('PGC_' . uc($type));
- print $ofh "\t\t},\n";
- printf $ofh "\t\t.variable = &%s,\n", $entry->{variable};
- printf $ofh "\t\t.boot_val = %s,\n", $entry->{boot_val};
- printf $ofh "\t\t.min = %s,\n", $entry->{min}
+ printf $ofh "\t\t.flags = %s,\n", $entry->{flags} if $entry->{flags};
+ printf $ofh "\t\t.vartype = %s,\n", ('PGC_' . uc($entry->{type}));
+ printf $ofh "\t\t._%s = {\n", $entry->{type};
+ printf $ofh "\t\t\t.variable = &%s,\n", $entry->{variable};
+ printf $ofh "\t\t\t.boot_val = %s,\n", $entry->{boot_val};
+ printf $ofh "\t\t\t.min = %s,\n", $entry->{min}
if $entry->{type} eq 'int' || $entry->{type} eq 'real';
- printf $ofh "\t\t.max = %s,\n", $entry->{max}
+ printf $ofh "\t\t\t.max = %s,\n", $entry->{max}
if $entry->{type} eq 'int' || $entry->{type} eq 'real';
- printf $ofh "\t\t.options = %s,\n", $entry->{options}
+ printf $ofh "\t\t\t.options = %s,\n", $entry->{options}
if $entry->{type} eq 'enum';
- printf $ofh "\t\t.check_hook = %s,\n", $entry->{check_hook}
+ printf $ofh "\t\t\t.check_hook = %s,\n", $entry->{check_hook}
if $entry->{check_hook};
- printf $ofh "\t\t.assign_hook = %s,\n", $entry->{assign_hook}
+ printf $ofh "\t\t\t.assign_hook = %s,\n", $entry->{assign_hook}
if $entry->{assign_hook};
- printf $ofh "\t\t.show_hook = %s,\n", $entry->{show_hook}
+ printf $ofh "\t\t\t.show_hook = %s,\n", $entry->{show_hook}
if $entry->{show_hook};
+ print $ofh "\t\t},\n";
print $ofh "\t},\n";
print $ofh "#endif\n" if $entry->{ifdef};
print $ofh "\n";
}
print $ofh "\t/* End-of-list marker */\n";
- print $ofh "\t{{0}}\n";
+ print $ofh "\t{0}\n";
print $ofh "};\n";
return;