summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/catalog/Catalog.pm38
-rw-r--r--src/backend/catalog/genbki.pl5
-rw-r--r--src/backend/utils/Gen_fmgrtab.pl32
-rwxr-xr-xsrc/include/catalog/reformat_dat_file.pl1
-rwxr-xr-xsrc/include/catalog/unused_oids2
5 files changed, 36 insertions, 42 deletions
diff --git a/src/backend/catalog/Catalog.pm b/src/backend/catalog/Catalog.pm
index c8dc956e0b7..95bf619c912 100644
--- a/src/backend/catalog/Catalog.pm
+++ b/src/backend/catalog/Catalog.pm
@@ -198,7 +198,7 @@ sub ParseHeader
else
{
die
- "unknown column option $attopt on column $attname";
+ "unknown or misformatted column option $attopt on column $attname";
}
if ($column{forcenull} and $column{forcenotnull})
@@ -370,34 +370,30 @@ sub RenameTempFile
}
# Find a symbol defined in a particular header file and extract the value.
-#
-# The include path has to be passed as a reference to an array.
+# include_path should be the path to src/include/.
sub FindDefinedSymbol
{
my ($catalog_header, $include_path, $symbol) = @_;
+ my $value;
- for my $path (@$include_path)
+ # Make sure include path ends in a slash.
+ if (substr($include_path, -1) ne '/')
{
-
- # Make sure include path ends in a slash.
- if (substr($path, -1) ne '/')
- {
- $path .= '/';
- }
- my $file = $path . $catalog_header;
- next if !-f $file;
- open(my $find_defined_symbol, '<', $file) || die "$file: $!";
- while (<$find_defined_symbol>)
+ $include_path .= '/';
+ }
+ my $file = $include_path . $catalog_header;
+ open(my $find_defined_symbol, '<', $file) || die "$file: $!";
+ while (<$find_defined_symbol>)
+ {
+ if (/^#define\s+\Q$symbol\E\s+(\S+)/)
{
- if (/^#define\s+\Q$symbol\E\s+(\S+)/)
- {
- return $1;
- }
+ $value = $1;
+ last;
}
- close $find_defined_symbol;
- die "$file: no definition found for $symbol\n";
}
- die "$catalog_header: not found in any include directory\n";
+ close $find_defined_symbol;
+ return $value if defined $value;
+ die "$file: no definition found for $symbol\n";
}
# Similar to FindDefinedSymbol, but looks in the bootstrap metadata.
diff --git a/src/backend/catalog/genbki.pl b/src/backend/catalog/genbki.pl
index fb61db0a05f..ebdc919414f 100644
--- a/src/backend/catalog/genbki.pl
+++ b/src/backend/catalog/genbki.pl
@@ -357,8 +357,7 @@ EOM
}
# Emit Anum_* constants
- print $def
- sprintf("#define Anum_%s_%s %s\n", $catname, $attname, $attnum);
+ printf $def "#define Anum_%s_%s %s\n", $catname, $attname, $attnum;
}
print $bki "\n )\n";
@@ -493,7 +492,7 @@ EOM
}
print $bki "close $catname\n";
- print $def sprintf("\n#endif\t\t\t\t\t\t\t/* %s_D_H */\n", uc $catname);
+ printf $def "\n#endif\t\t\t\t\t\t\t/* %s_D_H */\n", uc $catname;
# Close and rename definition header
close $def;
diff --git a/src/backend/utils/Gen_fmgrtab.pl b/src/backend/utils/Gen_fmgrtab.pl
index 1cbc250e0c3..fa30436895b 100644
--- a/src/backend/utils/Gen_fmgrtab.pl
+++ b/src/backend/utils/Gen_fmgrtab.pl
@@ -22,7 +22,7 @@ use warnings;
# Collect arguments
my @input_files;
my $output_path = '';
-my @include_path;
+my $include_path;
while (@ARGV)
{
@@ -37,7 +37,7 @@ while (@ARGV)
}
elsif ($arg =~ /^-I/)
{
- push @include_path, length($arg) > 2 ? substr($arg, 2) : shift @ARGV;
+ $include_path = length($arg) > 2 ? substr($arg, 2) : shift @ARGV;
}
else
{
@@ -52,8 +52,8 @@ if ($output_path ne '' && substr($output_path, -1) ne '/')
}
# Sanity check arguments.
-die "No input files.\n" if !@input_files;
-die "No include path; you must specify -I at least once.\n" if !@include_path;
+die "No input files.\n" if !@input_files;
+die "No include path; you must specify -I.\n" if !$include_path;
# Read all the input files into internal data structures.
# Note: We pass data file names as arguments and then look for matching
@@ -80,7 +80,7 @@ foreach my $datfile (@input_files)
# Fetch some values for later.
my $FirstBootstrapObjectId =
- Catalog::FindDefinedSymbol('access/transam.h', \@include_path,
+ Catalog::FindDefinedSymbol('access/transam.h', $include_path,
'FirstBootstrapObjectId');
my $INTERNALlanguageId =
Catalog::FindDefinedSymbolFromData($catalog_data{pg_language},
@@ -119,8 +119,8 @@ open my $pfh, '>', $protosfile . $tmpext
open my $tfh, '>', $tabfile . $tmpext
or die "Could not open $tabfile$tmpext: $!";
-print $ofh
- qq|/*-------------------------------------------------------------------------
+print $ofh <<OFH;
+/*-------------------------------------------------------------------------
*
* fmgroids.h
* Macros that define the OIDs of built-in functions.
@@ -154,10 +154,10 @@ print $ofh
* its equivalent macro will be defined with the lowest OID among those
* entries.
*/
-|;
+OFH
-print $pfh
- qq|/*-------------------------------------------------------------------------
+print $pfh <<PFH;
+/*-------------------------------------------------------------------------
*
* fmgrprotos.h
* Prototypes for built-in functions.
@@ -180,10 +180,10 @@ print $pfh
#include "fmgr.h"
-|;
+PFH
-print $tfh
- qq|/*-------------------------------------------------------------------------
+print $tfh <<TFH;
+/*-------------------------------------------------------------------------
*
* fmgrtab.c
* The function manager's table of internal functions.
@@ -208,7 +208,7 @@ print $tfh
#include "utils/fmgrtab.h"
#include "utils/fmgrprotos.h"
-|;
+TFH
# Emit #define's and extern's -- only one per prosrc value
my %seenit;
@@ -282,8 +282,8 @@ print $tfh "};\n";
# And add the file footers.
-print $ofh "\n#endif /* FMGROIDS_H */\n";
-print $pfh "\n#endif /* FMGRPROTOS_H */\n";
+print $ofh "\n#endif\t\t\t\t\t\t\t/* FMGROIDS_H */\n";
+print $pfh "\n#endif\t\t\t\t\t\t\t/* FMGRPROTOS_H */\n";
close($ofh);
close($pfh);
diff --git a/src/include/catalog/reformat_dat_file.pl b/src/include/catalog/reformat_dat_file.pl
index 00c4f2b0a07..7f6dc6e4c5b 100755
--- a/src/include/catalog/reformat_dat_file.pl
+++ b/src/include/catalog/reformat_dat_file.pl
@@ -125,7 +125,6 @@ foreach my $catname (@catnames)
open my $dat, '>', $datfile
or die "can't open $datfile: $!";
- # Write the data.
foreach my $data (@{ $catalog_data{$catname} })
{
diff --git a/src/include/catalog/unused_oids b/src/include/catalog/unused_oids
index 2780de052c9..c5fc378ae34 100755
--- a/src/include/catalog/unused_oids
+++ b/src/include/catalog/unused_oids
@@ -34,7 +34,7 @@ my $oids = Catalog::FindAllOidsFromHeaders(@input_files);
# Also push FirstBootstrapObjectId to serve as a terminator for the last gap.
my $FirstBootstrapObjectId =
- Catalog::FindDefinedSymbol('access/transam.h', [".."],
+ Catalog::FindDefinedSymbol('access/transam.h', '..',
'FirstBootstrapObjectId');
push @{$oids}, $FirstBootstrapObjectId;