aboutsummaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2013-05-29 16:58:43 -0400
committerBruce Momjian <bruce@momjian.us>2013-05-29 16:58:43 -0400
commit9af4159fce6654aa0e081b00d02bca40b978745c (patch)
tree3aa507fc6cc67ed3d9f6ceec4d65d1e56cc08e1a /src/tools
parent07ab261ef3a9575a4a2bd3045b222d7b3dee2c46 (diff)
downloadpostgresql-9af4159fce6654aa0e081b00d02bca40b978745c.tar.gz
postgresql-9af4159fce6654aa0e081b00d02bca40b978745c.zip
pgindent run for release 9.3
This is the first run of the Perl-based pgindent script. Also update pgindent instructions.
Diffstat (limited to 'src/tools')
-rwxr-xr-xsrc/tools/copyright.pl3
-rwxr-xr-xsrc/tools/git_changelog281
-rw-r--r--src/tools/msvc/Install.pm25
-rw-r--r--src/tools/msvc/MSBuildProject.pm24
-rw-r--r--src/tools/msvc/Mkvcbuild.pm24
-rw-r--r--src/tools/msvc/Project.pm3
-rw-r--r--src/tools/msvc/Solution.pm24
-rw-r--r--src/tools/msvc/VCBuildProject.pm2
-rw-r--r--src/tools/msvc/vcregress.pl11
-rwxr-xr-xsrc/tools/pginclude/pgcheckdefines381
-rw-r--r--src/tools/pgindent/README26
-rwxr-xr-xsrc/tools/pgindent/pgindent23
-rw-r--r--src/tools/pgindent/typedefs.list203
13 files changed, 643 insertions, 387 deletions
diff --git a/src/tools/copyright.pl b/src/tools/copyright.pl
index 126f6368d9d..f7e80fb00e5 100755
--- a/src/tools/copyright.pl
+++ b/src/tools/copyright.pl
@@ -26,6 +26,7 @@ find({ wanted => \&wanted, no_chdir => 1 }, '.');
sub wanted
{
+
# prevent corruption of git indexes by ignoring any .git/
if (basename($_) eq '.git')
{
@@ -33,7 +34,7 @@ sub wanted
return;
}
- return if ! -f $File::Find::name || -l $File::Find::name;
+ return if !-f $File::Find::name || -l $File::Find::name;
# skip file names with binary extensions
# How are these updated? bjm 2012-01-02
diff --git a/src/tools/git_changelog b/src/tools/git_changelog
index 512638beafc..ac4429e1042 100755
--- a/src/tools/git_changelog
+++ b/src/tools/git_changelog
@@ -38,27 +38,28 @@ require IPC::Open2;
# (We could get this from "git branches", but not worth the trouble.)
# NB: master must be first!
my @BRANCHES = qw(master
- REL9_2_STABLE REL9_1_STABLE REL9_0_STABLE
- REL8_4_STABLE REL8_3_STABLE REL8_2_STABLE REL8_1_STABLE REL8_0_STABLE
- REL7_4_STABLE REL7_3_STABLE REL7_2_STABLE REL7_1_STABLE REL7_0_PATCHES
- REL6_5_PATCHES REL6_4);
+ REL9_2_STABLE REL9_1_STABLE REL9_0_STABLE
+ REL8_4_STABLE REL8_3_STABLE REL8_2_STABLE REL8_1_STABLE REL8_0_STABLE
+ REL7_4_STABLE REL7_3_STABLE REL7_2_STABLE REL7_1_STABLE REL7_0_PATCHES
+ REL6_5_PATCHES REL6_4);
# Might want to make this parameter user-settable.
my $timestamp_slop = 600;
my $details_after = 0;
-my $post_date = 0;
-my $master_only = 0;
-my $oldest_first = 0;
+my $post_date = 0;
+my $master_only = 0;
+my $oldest_first = 0;
my $since;
my @output_buffer;
my $output_line = '';
-Getopt::Long::GetOptions('details-after' => \$details_after,
- 'master-only' => \$master_only,
- 'post-date' => \$post_date,
- 'oldest-first' => \$oldest_first,
- 'since=s' => \$since) || usage();
+Getopt::Long::GetOptions(
+ 'details-after' => \$details_after,
+ 'master-only' => \$master_only,
+ 'post-date' => \$post_date,
+ 'oldest-first' => \$oldest_first,
+ 'since=s' => \$since) || usage();
usage() if @ARGV;
my @git = qw(git log --format=fuller --date=iso);
@@ -70,15 +71,18 @@ my %rel_tags;
{
my $cmd = "git for-each-ref refs/tags";
my $pid = IPC::Open2::open2(my $git_out, my $git_in, $cmd)
- || die "can't run $cmd: $!";
- while (my $line = <$git_out>) {
- if ($line =~ m|^([a-f0-9]+)\s+commit\s+refs/tags/(\S+)|) {
- my $commit = $1;
- my $tag = $2;
- if ($tag =~ /^REL\d+_\d+$/ ||
- $tag =~ /^REL\d+_\d+_\d+$/) {
- $rel_tags{$commit} = $tag;
- }
+ || die "can't run $cmd: $!";
+ while (my $line = <$git_out>)
+ {
+ if ($line =~ m|^([a-f0-9]+)\s+commit\s+refs/tags/(\S+)|)
+ {
+ my $commit = $1;
+ my $tag = $2;
+ if ( $tag =~ /^REL\d+_\d+$/
+ || $tag =~ /^REL\d+_\d+_\d+$/)
+ {
+ $rel_tags{$commit} = $tag;
+ }
}
}
waitpid($pid, 0);
@@ -89,48 +93,60 @@ my %rel_tags;
# Collect the commit data
my %all_commits;
my %all_commits_by_branch;
+
# This remembers where each branch sprouted from master. Note the values
# will be wrong if --since terminates the log listing before the branch
# sprouts; but in that case it doesn't matter since we also won't reach
# the part of master where it would matter.
my %sprout_tags;
-for my $branch (@BRANCHES) {
+for my $branch (@BRANCHES)
+{
my @cmd = @git;
- if ($branch eq "master") {
- push @cmd, "origin/$branch";
- } else {
- push @cmd, "--parents";
- push @cmd, "master..origin/$branch";
+ if ($branch eq "master")
+ {
+ push @cmd, "origin/$branch";
+ }
+ else
+ {
+ push @cmd, "--parents";
+ push @cmd, "master..origin/$branch";
}
my $pid = IPC::Open2::open2(my $git_out, my $git_in, @cmd)
- || die "can't run @cmd: $!";
+ || die "can't run @cmd: $!";
my $last_tag = undef;
my $last_parent;
my %commit;
- while (my $line = <$git_out>) {
- if ($line =~ /^commit\s+(\S+)/) {
+ while (my $line = <$git_out>)
+ {
+ if ($line =~ /^commit\s+(\S+)/)
+ {
push_commit(\%commit) if %commit;
$last_tag = $rel_tags{$1} if defined $rel_tags{$1};
%commit = (
- 'branch' => $branch,
- 'commit' => $1,
+ 'branch' => $branch,
+ 'commit' => $1,
'last_tag' => $last_tag,
- 'message' => '',
- );
- if ($line =~ /^commit\s+\S+\s+(\S+)/) {
+ 'message' => '',);
+ if ($line =~ /^commit\s+\S+\s+(\S+)/)
+ {
$last_parent = $1;
- } else {
+ }
+ else
+ {
$last_parent = undef;
}
}
- elsif ($line =~ /^Author:\s+(.*)/) {
+ elsif ($line =~ /^Author:\s+(.*)/)
+ {
$commit{'author'} = $1;
}
- elsif ($line =~ /^CommitDate:\s+(.*)/) {
+ elsif ($line =~ /^CommitDate:\s+(.*)/)
+ {
$commit{'date'} = $1;
}
- elsif ($line =~ /^\s\s/) {
+ elsif ($line =~ /^\s\s/)
+ {
$commit{'message'} .= $line;
}
}
@@ -148,57 +164,70 @@ for my $branch (@BRANCHES) {
{
my $last_tag = undef;
my %sprouted_branches;
- for my $cc (@{$all_commits_by_branch{'master'}}) {
- my $commit = $cc->{'commit'};
- my $c = $cc->{'commits'}->[0];
- $last_tag = $rel_tags{$commit} if defined $rel_tags{$commit};
- if (defined $sprout_tags{$commit}) {
- $last_tag = $sprout_tags{$commit};
- # normalize branch names for making sprout tags
- $last_tag =~ s/^(REL\d+_\d+).*/$1_BR/;
- }
- $c->{'last_tag'} = $last_tag;
- if ($post_date) {
- if (defined $sprout_tags{$commit}) {
- $sprouted_branches{$sprout_tags{$commit}} = 1;
+ for my $cc (@{ $all_commits_by_branch{'master'} })
+ {
+ my $commit = $cc->{'commit'};
+ my $c = $cc->{'commits'}->[0];
+ $last_tag = $rel_tags{$commit} if defined $rel_tags{$commit};
+ if (defined $sprout_tags{$commit})
+ {
+ $last_tag = $sprout_tags{$commit};
+
+ # normalize branch names for making sprout tags
+ $last_tag =~ s/^(REL\d+_\d+).*/$1_BR/;
}
- # insert new commits between master and any other commits
- my @new_commits = ( shift @{$cc->{'commits'}} );
- for my $branch (reverse sort keys %sprouted_branches) {
- my $ccopy = {%{$c}};
- $ccopy->{'branch'} = $branch;
- push @new_commits, $ccopy;
+ $c->{'last_tag'} = $last_tag;
+ if ($post_date)
+ {
+ if (defined $sprout_tags{$commit})
+ {
+ $sprouted_branches{ $sprout_tags{$commit} } = 1;
+ }
+
+ # insert new commits between master and any other commits
+ my @new_commits = (shift @{ $cc->{'commits'} });
+ for my $branch (reverse sort keys %sprouted_branches)
+ {
+ my $ccopy = { %{$c} };
+ $ccopy->{'branch'} = $branch;
+ push @new_commits, $ccopy;
+ }
+ $cc->{'commits'} = [ @new_commits, @{ $cc->{'commits'} } ];
}
- $cc->{'commits'} = [ @new_commits, @{$cc->{'commits'}} ];
- }
}
}
my %position;
-for my $branch (@BRANCHES) {
+for my $branch (@BRANCHES)
+{
$position{$branch} = 0;
}
-while (1) {
+while (1)
+{
my $best_branch;
my $best_timestamp;
- for my $branch (@BRANCHES) {
- my $leader = $all_commits_by_branch{$branch}->[$position{$branch}];
+ for my $branch (@BRANCHES)
+ {
+ my $leader = $all_commits_by_branch{$branch}->[ $position{$branch} ];
next if !defined $leader;
- if (!defined $best_branch ||
- $leader->{'timestamp'} > $best_timestamp) {
- $best_branch = $branch;
+ if (!defined $best_branch
+ || $leader->{'timestamp'} > $best_timestamp)
+ {
+ $best_branch = $branch;
$best_timestamp = $leader->{'timestamp'};
}
}
last if !defined $best_branch;
my $winner =
- $all_commits_by_branch{$best_branch}->[$position{$best_branch}];
+ $all_commits_by_branch{$best_branch}->[ $position{$best_branch} ];
# check for master-only
- if (! $master_only || ($winner->{'commits'}[0]->{'branch'} eq 'master' &&
- @{$winner->{'commits'}} == 1)) {
- output_details($winner) if (! $details_after);
+ if (!$master_only
+ || ($winner->{'commits'}[0]->{'branch'} eq 'master'
+ && @{ $winner->{'commits'} } == 1))
+ {
+ output_details($winner) if (!$details_after);
output_str("%s", $winner->{'message'} . "\n");
output_details($winner) if ($details_after);
unshift(@output_buffer, $output_line) if ($oldest_first);
@@ -206,9 +235,11 @@ while (1) {
}
$winner->{'done'} = 1;
- for my $branch (@BRANCHES) {
- my $leader = $all_commits_by_branch{$branch}->[$position{$branch}];
- if (defined $leader && $leader->{'done'}) {
+ for my $branch (@BRANCHES)
+ {
+ my $leader = $all_commits_by_branch{$branch}->[ $position{$branch} ];
+ if (defined $leader && $leader->{'done'})
+ {
++$position{$branch};
redo;
}
@@ -217,89 +248,105 @@ while (1) {
print @output_buffer if ($oldest_first);
-sub push_commit {
+sub push_commit
+{
my ($c) = @_;
- my $ht = hash_commit($c);
- my $ts = parse_datetime($c->{'date'});
+ my $ht = hash_commit($c);
+ my $ts = parse_datetime($c->{'date'});
my $cc;
+
# Note that this code will never merge two commits on the same branch,
# even if they have the same hash (author/message) and nearby
# timestamps. This means that there could be multiple potential
# matches when we come to add a commit from another branch. Prefer
# the closest-in-time one.
- for my $candidate (@{$all_commits{$ht}}) {
+ for my $candidate (@{ $all_commits{$ht} })
+ {
my $diff = abs($ts - $candidate->{'timestamp'});
- if ($diff < $timestamp_slop &&
- !exists $candidate->{'branch_position'}{$c->{'branch'}})
+ if ($diff < $timestamp_slop
+ && !exists $candidate->{'branch_position'}{ $c->{'branch'} })
{
- if (!defined $cc ||
- $diff < abs($ts - $cc->{'timestamp'})) {
- $cc = $candidate;
- }
+ if (!defined $cc
+ || $diff < abs($ts - $cc->{'timestamp'}))
+ {
+ $cc = $candidate;
+ }
}
}
- if (!defined $cc) {
+ if (!defined $cc)
+ {
$cc = {
- 'author' => $c->{'author'},
- 'message' => $c->{'message'},
- 'commit' => $c->{'commit'},
- 'commits' => [],
- 'timestamp' => $ts
- };
- push @{$all_commits{$ht}}, $cc;
+ 'author' => $c->{'author'},
+ 'message' => $c->{'message'},
+ 'commit' => $c->{'commit'},
+ 'commits' => [],
+ 'timestamp' => $ts };
+ push @{ $all_commits{$ht} }, $cc;
}
+
# stash only the fields we'll need later
my $smallc = {
- 'branch' => $c->{'branch'},
- 'commit' => $c->{'commit'},
- 'date' => $c->{'date'},
- 'last_tag' => $c->{'last_tag'}
- };
- push @{$cc->{'commits'}}, $smallc;
- push @{$all_commits_by_branch{$c->{'branch'}}}, $cc;
- $cc->{'branch_position'}{$c->{'branch'}} =
- -1+@{$all_commits_by_branch{$c->{'branch'}}};
+ 'branch' => $c->{'branch'},
+ 'commit' => $c->{'commit'},
+ 'date' => $c->{'date'},
+ 'last_tag' => $c->{'last_tag'} };
+ push @{ $cc->{'commits'} }, $smallc;
+ push @{ $all_commits_by_branch{ $c->{'branch'} } }, $cc;
+ $cc->{'branch_position'}{ $c->{'branch'} } =
+ -1 + @{ $all_commits_by_branch{ $c->{'branch'} } };
}
-sub hash_commit {
+sub hash_commit
+{
my ($c) = @_;
return $c->{'author'} . "\0" . $c->{'message'};
}
-sub parse_datetime {
+sub parse_datetime
+{
my ($dt) = @_;
- $dt =~ /^(\d\d\d\d)-(\d\d)-(\d\d)\s+(\d\d):(\d\d):(\d\d)\s+([-+])(\d\d)(\d\d)$/;
- my $gm = Time::Local::timegm($6, $5, $4, $3, $2-1, $1);
+ $dt =~
+/^(\d\d\d\d)-(\d\d)-(\d\d)\s+(\d\d):(\d\d):(\d\d)\s+([-+])(\d\d)(\d\d)$/;
+ my $gm = Time::Local::timegm($6, $5, $4, $3, $2 - 1, $1);
my $tzoffset = ($8 * 60 + $9) * 60;
- $tzoffset = - $tzoffset if $7 eq '-';
+ $tzoffset = -$tzoffset if $7 eq '-';
return $gm - $tzoffset;
}
-sub output_str {
+sub output_str
+{
($oldest_first) ? ($output_line .= sprintf(shift, @_)) : printf(@_);
}
-sub output_details {
+sub output_details
+{
my $item = shift;
- if ($details_after) {
+ if ($details_after)
+ {
$item->{'author'} =~ m{^(.*?)\s*<[^>]*>$};
+
# output only author name, not email address
output_str("(%s)\n", $1);
- } else {
+ }
+ else
+ {
output_str("Author: %s\n", $item->{'author'});
}
- foreach my $c (@{$item->{'commits'}}) {
- output_str("Branch: %s ", $c->{'branch'}) if (! $master_only);
- if (defined $c->{'last_tag'}) {
- output_str("Release: %s ", $c->{'last_tag'});
- }
- output_str("[%s] %s\n", substr($c->{'commit'}, 0, 9), $c->{'date'});
+ foreach my $c (@{ $item->{'commits'} })
+ {
+ output_str("Branch: %s ", $c->{'branch'}) if (!$master_only);
+ if (defined $c->{'last_tag'})
+ {
+ output_str("Release: %s ", $c->{'last_tag'});
+ }
+ output_str("[%s] %s\n", substr($c->{'commit'}, 0, 9), $c->{'date'});
}
output_str("\n");
}
-sub usage {
+sub usage
+{
print STDERR <<EOM;
Usage: git_changelog [--details-after/-d] [--master-only/-m] [--oldest-first/-o] [--post-date/-p] [--since=SINCE]
--details-after Show branch and author info after the commit description
diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm
index 0d0c46e18bb..a11c59b89de 100644
--- a/src/tools/msvc/Install.pm
+++ b/src/tools/msvc/Install.pm
@@ -37,13 +37,15 @@ sub Install
$| = 1;
my $target = shift;
+
# if called from vcregress, the config will be passed to us
# so no need to re-include these
our $config = shift;
unless ($config)
{
+
# suppress warning about harmless redeclaration of $config
- no warnings 'misc';
+ no warnings 'misc';
require "config_default.pl";
require "config.pl" if (-f "config.pl");
}
@@ -83,11 +85,15 @@ sub Install
"src");
CopySetOfFiles('config files', $sample_files, $target . '/share/');
CopyFiles(
- 'Import libraries', $target . '/lib/',
- "$conf\\", "postgres\\postgres.lib",
- "libpq\\libpq.lib", "libecpg\\libecpg.lib",
+ 'Import libraries',
+ $target . '/lib/',
+ "$conf\\",
+ "postgres\\postgres.lib",
+ "libpq\\libpq.lib",
+ "libecpg\\libecpg.lib",
"libpgcommon\\libpgcommon.lib",
- "libpgport\\libpgport.lib", "libpgtypes\\libpgtypes.lib",
+ "libpgport\\libpgport.lib",
+ "libpgtypes\\libpgtypes.lib",
"libecpg_compat\\libecpg_compat.lib");
CopySetOfFiles(
'timezone names',
@@ -490,11 +496,10 @@ sub CopyIncludeFiles
'include/internal/libpq', 'include/server', 'include/server/parser');
CopyFiles(
- 'Public headers',
- $target . '/include/',
- 'src/include/', 'postgres_ext.h',
- 'pg_config.h', 'pg_config_ext.h', 'pg_config_os.h',
- 'pg_config_manual.h');
+ 'Public headers', $target . '/include/',
+ 'src/include/', 'postgres_ext.h',
+ 'pg_config.h', 'pg_config_ext.h',
+ 'pg_config_os.h', 'pg_config_manual.h');
lcopy('src/include/libpq/libpq-fs.h', $target . '/include/libpq/')
|| croak 'Could not copy libpq-fs.h';
diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm
index 0cafd717a2b..217c47ab78a 100644
--- a/src/tools/msvc/MSBuildProject.pm
+++ b/src/tools/msvc/MSBuildProject.pm
@@ -64,7 +64,7 @@ EOF
# We have to use this flag on 32 bit targets because the 32bit perls
# are built with it and sometimes crash if we don't.
- my $use_32bit_time_t =
+ my $use_32bit_time_t =
$self->{platform} eq 'Win32' ? '_USE_32BIT_TIME_T;' : '';
$self->WriteItemDefinitionGroup(
@@ -409,26 +409,26 @@ use base qw(MSBuildProject);
sub new
{
- my $classname = shift;
- my $self = $classname->SUPER::_new(@_);
- bless($self, $classname);
+ my $classname = shift;
+ my $self = $classname->SUPER::_new(@_);
+ bless($self, $classname);
- $self->{vcver} = '11.00';
+ $self->{vcver} = '11.00';
- return $self;
+ return $self;
}
# This override adds the <PlatformToolset> element
# to the PropertyGroup labeled "Configuration"
sub WriteConfigurationPropertyGroup
{
- my ($self, $f, $cfgname, $p) = @_;
- my $cfgtype =
- ($self->{type} eq "exe")
- ?'Application'
- :($self->{type} eq "dll"?'DynamicLibrary':'StaticLibrary');
+ my ($self, $f, $cfgname, $p) = @_;
+ my $cfgtype =
+ ($self->{type} eq "exe")
+ ? 'Application'
+ : ($self->{type} eq "dll" ? 'DynamicLibrary' : 'StaticLibrary');
- print $f <<EOF;
+ print $f <<EOF;
<PropertyGroup Condition="'\$(Configuration)|\$(Platform)'=='$cfgname|$self->{platform}'" Label="Configuration">
<ConfigurationType>$cfgtype</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
index a4bd2b62107..e1650a98121 100644
--- a/src/tools/msvc/Mkvcbuild.pm
+++ b/src/tools/msvc/Mkvcbuild.pm
@@ -49,8 +49,7 @@ my $contrib_extraincludes =
{ 'tsearch2' => ['contrib/tsearch2'], 'dblink' => ['src/backend'] };
my $contrib_extrasource = {
'cube' => [ 'cubescan.l', 'cubeparse.y' ],
- 'seg' => [ 'segscan.l', 'segparse.y' ],
- };
+ 'seg' => [ 'segscan.l', 'segparse.y' ], };
my @contrib_excludes = ('pgcrypto', 'intagg', 'sepgsql');
sub mkvcbuild
@@ -75,10 +74,9 @@ sub mkvcbuild
win32error.c win32setlocale.c);
our @pgcommonallfiles = qw(
- relpath.c);
+ relpath.c);
- our @pgcommonfrontendfiles = (@pgcommonallfiles,
- qw(fe_memutils.c));
+ our @pgcommonfrontendfiles = (@pgcommonallfiles, qw(fe_memutils.c));
our @pgcommonbkndfiles = @pgcommonallfiles;
@@ -103,7 +101,7 @@ sub mkvcbuild
'src\backend\port\win32_shmem.c');
$postgres->ReplaceFile('src\backend\port\pg_latch.c',
'src\backend\port\win32_latch.c');
- $postgres->AddFiles('src\port', @pgportfiles);
+ $postgres->AddFiles('src\port', @pgportfiles);
$postgres->AddFiles('src\common', @pgcommonbkndfiles);
$postgres->AddDir('src\timezone');
$postgres->AddFiles('src\backend\parser', 'scan.l', 'gram.y');
@@ -593,17 +591,19 @@ sub mkvcbuild
# fix up pg_xlogdump once it's been set up
# files symlinked on Unix are copied on windows
- my $pg_xlogdump = (grep {$_->{name} eq 'pg_xlogdump'}
- @{$solution->{projects}->{contrib}} )[0];
+ my $pg_xlogdump =
+ (grep { $_->{name} eq 'pg_xlogdump' }
+ @{ $solution->{projects}->{contrib} })[0];
$pg_xlogdump->AddDefine('FRONTEND');
- foreach my $xf (glob('src/backend/access/rmgrdesc/*desc.c') )
+ foreach my $xf (glob('src/backend/access/rmgrdesc/*desc.c'))
{
my $bf = basename $xf;
- copy($xf,"contrib/pg_xlogdump/$bf");
+ copy($xf, "contrib/pg_xlogdump/$bf");
$pg_xlogdump->AddFile("contrib\\pg_xlogdump\\$bf");
}
- copy('src/backend/access/transam/xlogreader.c',
- 'contrib/pg_xlogdump/xlogreader.c');
+ copy(
+ 'src/backend/access/transam/xlogreader.c',
+ 'contrib/pg_xlogdump/xlogreader.c');
$solution->Save();
return $solution->{vcver};
diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm
index 4182871e88e..9ca5b1f13ad 100644
--- a/src/tools/msvc/Project.pm
+++ b/src/tools/msvc/Project.pm
@@ -225,7 +225,8 @@ sub AddDir
if ($filter eq "LIBOBJS")
{
- if (grep(/$p/, @main::pgportfiles, @main::pgcommonfiles) == 1)
+ if (grep(/$p/, @main::pgportfiles, @main::pgcommonfiles)
+ == 1)
{
$p =~ s/\.c/\.o/;
$matches .= $p . " ";
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index e271ac8d9be..bc52086fc8a 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -242,10 +242,12 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
}
if (IsNewer(
- "src\\include\\pg_config_ext.h", "src\\include\\pg_config_ext.h.win32"))
+ "src\\include\\pg_config_ext.h",
+ "src\\include\\pg_config_ext.h.win32"))
{
print "Copying pg_config_ext.h...\n";
- copyFile("src\\include\\pg_config_ext.h.win32",
+ copyFile(
+ "src\\include\\pg_config_ext.h.win32",
"src\\include\\pg_config_ext.h");
}
@@ -275,7 +277,9 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
"perl -I ../catalog Gen_fmgrtab.pl ../../../src/include/catalog/pg_proc.h");
chdir('..\..\..');
}
- if (IsNewer('src\include\utils\fmgroids.h', 'src\backend\utils\fmgroids.h'))
+ if (IsNewer(
+ 'src\include\utils\fmgroids.h',
+ 'src\backend\utils\fmgroids.h'))
{
copyFile('src\backend\utils\fmgroids.h',
'src\include\utils\fmgroids.h');
@@ -712,15 +716,15 @@ use base qw(Solution);
sub new
{
- my $classname = shift;
- my $self = $classname->SUPER::_new(@_);
- bless($self, $classname);
+ my $classname = shift;
+ my $self = $classname->SUPER::_new(@_);
+ bless($self, $classname);
- $self->{solutionFileVersion} = '12.00';
- $self->{vcver} = '11.00';
- $self->{visualStudioName} = 'Visual Studio 2012';
+ $self->{solutionFileVersion} = '12.00';
+ $self->{vcver} = '11.00';
+ $self->{visualStudioName} = 'Visual Studio 2012';
- return $self;
+ return $self;
}
1;
diff --git a/src/tools/msvc/VCBuildProject.pm b/src/tools/msvc/VCBuildProject.pm
index 624682601b3..1713cb5e3f8 100644
--- a/src/tools/msvc/VCBuildProject.pm
+++ b/src/tools/msvc/VCBuildProject.pm
@@ -35,7 +35,7 @@ EOF
# We have to use this flag on 32 bit targets because the 32bit perls
# are built with it and sometimes crash if we don't.
- my $use_32bit_time_t =
+ my $use_32bit_time_t =
$self->{platform} eq 'Win32' ? '_USE_32BIT_TIME_T;' : '';
diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl
index cdba9a5fb71..89bd31a306c 100644
--- a/src/tools/msvc/vcregress.pl
+++ b/src/tools/msvc/vcregress.pl
@@ -31,7 +31,8 @@ if (-e "src/tools/msvc/buildenv.pl")
my $what = shift || "";
if ($what =~
- /^(check|installcheck|plcheck|contribcheck|ecpgcheck|isolationcheck|upgradecheck)$/i)
+/^(check|installcheck|plcheck|contribcheck|ecpgcheck|isolationcheck|upgradecheck)$/i
+ )
{
$what = uc $what;
}
@@ -76,7 +77,7 @@ my %command = (
ECPGCHECK => \&ecpgcheck,
CONTRIBCHECK => \&contribcheck,
ISOLATIONCHECK => \&isolationcheck,
- UPGRADECHECK => \&upgradecheck,);
+ UPGRADECHECK => \&upgradecheck,);
my $proc = $command{$what};
@@ -251,9 +252,10 @@ sub upgradecheck
my $tmp_install = "$tmp_root/install";
print "Setting up temp install\n\n";
Install($tmp_install, $config);
+
# Install does a chdir, so change back after that
chdir $cwd;
- my ($bindir,$libdir,$oldsrc,$newsrc) =
+ my ($bindir, $libdir, $oldsrc, $newsrc) =
("$tmp_install/bin", "$tmp_install/lib", $topdir, $topdir);
$ENV{PATH} = "$bindir;$ENV{PATH}";
my $data = "$tmp_root/data";
@@ -266,6 +268,7 @@ sub upgradecheck
system("pg_ctl start -l $logdir/postmaster1.log -w") == 0 or exit 1;
print "\nSetting up data for upgrading\n\n";
installcheck();
+
# now we can chdir into the source dir
chdir "$topdir/contrib/pg_upgrade";
print "\nDumping old cluster\n\n";
@@ -276,7 +279,7 @@ sub upgradecheck
print "\nSetting up new cluster\n\n";
system("initdb") == 0 or exit 1;
print "\nRunning pg_upgrade\n\n";
- system("pg_upgrade -d $data.old -D $data -b $bindir -B $bindir") == 0
+ system("pg_upgrade -d $data.old -D $data -b $bindir -B $bindir") == 0
or exit 1;
print "\nStarting new cluster\n\n";
system("pg_ctl -l $logdir/postmaster2.log -w start") == 0 or exit 1;
diff --git a/src/tools/pginclude/pgcheckdefines b/src/tools/pginclude/pgcheckdefines
index 2936caf2e07..5db507070f6 100755
--- a/src/tools/pginclude/pgcheckdefines
+++ b/src/tools/pginclude/pgcheckdefines
@@ -39,20 +39,22 @@ $MAKE = "make";
# cause a lot of false-positive results.
#
open PIPE, "$FIND * -type f -name '*.c' |"
- or die "can't fork: $!";
-while (<PIPE>) {
- chomp;
- push @cfiles, $_;
+ or die "can't fork: $!";
+while (<PIPE>)
+{
+ chomp;
+ push @cfiles, $_;
}
close PIPE or die "$FIND failed: $!";
open PIPE, "$FIND * -type f -name '*.h' |"
- or die "can't fork: $!";
-while (<PIPE>) {
- chomp;
- push @hfiles, $_ unless
- m|^src/include/port/| ||
- m|^src/backend/port/\w+/|;
+ or die "can't fork: $!";
+while (<PIPE>)
+{
+ chomp;
+ push @hfiles, $_
+ unless m|^src/include/port/|
+ || m|^src/backend/port/\w+/|;
}
close PIPE or die "$FIND failed: $!";
@@ -61,15 +63,18 @@ close PIPE or die "$FIND failed: $!";
# a hash table. To cover the possibility of multiple .h files defining
# the same symbol, we make each hash entry a hash of filenames.
#
-foreach $hfile (@hfiles) {
- open HFILE, $hfile
- or die "can't open $hfile: $!";
- while (<HFILE>) {
- if (m/^\s*#\s*define\s+(\w+)/) {
- $defines{$1}{$hfile} = 1;
+foreach $hfile (@hfiles)
+{
+ open HFILE, $hfile
+ or die "can't open $hfile: $!";
+ while (<HFILE>)
+ {
+ if (m/^\s*#\s*define\s+(\w+)/)
+ {
+ $defines{$1}{$hfile} = 1;
+ }
}
- }
- close HFILE;
+ close HFILE;
}
#
@@ -77,164 +82,210 @@ foreach $hfile (@hfiles) {
# files it #include's. Then extract all the symbols it tests for defined-ness,
# and check each one against the previously built hashtable.
#
-foreach $file (@hfiles, @cfiles) {
- ($fname, $fpath) = fileparse($file);
- chdir $fpath or die "can't chdir to $fpath: $!";
- #
- # Ask 'make' to parse the makefile so we can get the correct flags to
- # use. CPPFLAGS in particular varies for each subdirectory. If we are
- # processing a .h file, we might be in a subdirectory that has no
- # Makefile, in which case we have to fake it. Note that there seems
- # no easy way to prevent make from recursing into subdirectories and
- # hence printing multiple definitions --- we keep the last one, which
- # should come from the current Makefile.
- #
- if (-f "Makefile" || -f "GNUmakefile") {
- $MAKECMD = "$MAKE -qp";
- } else {
- $subdir = $fpath;
- chop $subdir;
- $top_builddir = "..";
- $tmp = $fpath;
- while (($tmp = dirname($tmp)) ne '.') {
- $top_builddir = $top_builddir . "/..";
- }
- $MAKECMD = "$MAKE -qp 'subdir=$subdir' 'top_builddir=$top_builddir' -f '$top_builddir/src/Makefile.global'";
- }
- open PIPE, "$MAKECMD |"
- or die "can't fork: $!";
- while (<PIPE>) {
- if (m/^CPPFLAGS :?= (.*)/) {
- $CPPFLAGS = $1;
- } elsif (m/^CFLAGS :?= (.*)/) {
- $CFLAGS = $1;
- } elsif (m/^CFLAGS_SL :?= (.*)/) {
- $CFLAGS_SL = $1;
- } elsif (m/^PTHREAD_CFLAGS :?= (.*)/) {
- $PTHREAD_CFLAGS = $1;
- } elsif (m/^CC :?= (.*)/) {
- $CC = $1;
- }
- }
- # If make exits with status 1, it's not an error, it just means make
- # thinks some files may not be up-to-date. Only complain on status 2.
- close PIPE;
- die "$MAKE failed in $fpath\n" if $? != 0 && $? != 256;
-
- # Expand out stuff that might be referenced in CFLAGS
- $CFLAGS =~ s/\$\(CFLAGS_SL\)/$CFLAGS_SL/;
- $CFLAGS =~ s/\$\(PTHREAD_CFLAGS\)/$PTHREAD_CFLAGS/;
-
- #
- # Run the compiler (which had better be gcc) to get the inclusions.
- # "gcc -H" reports inclusions on stderr as "... filename" where the
- # number of dots varies according to nesting depth.
- #
- @includes = ();
- $COMPILE = "$CC $CPPFLAGS $CFLAGS -H -E $fname";
- open PIPE, "$COMPILE 2>&1 >/dev/null |"
- or die "can't fork: $!";
- while (<PIPE>) {
- if (m/^\.+ (.*)/) {
- $include = $1;
- # Ignore system headers (absolute paths); but complain if a
- # .c file includes a system header before any PG header.
- if ($include =~ m|^/|) {
- warn "$file includes $include before any Postgres inclusion\n"
- if $#includes == -1 && $file =~ m/\.c$/;
- next;
- }
- # Strip any "./" (assume this appears only at front)
- $include =~ s|^\./||;
- # Make path relative to top of tree
- $ipath = $fpath;
- while ($include =~ s|^\.\./||) {
- $ipath = dirname($ipath) . "/";
- }
- $ipath =~ s|^\./||;
- push @includes, $ipath . $include;
- } else {
- warn "$CC: $_";
+foreach $file (@hfiles, @cfiles)
+{
+ ($fname, $fpath) = fileparse($file);
+ chdir $fpath or die "can't chdir to $fpath: $!";
+
+ #
+ # Ask 'make' to parse the makefile so we can get the correct flags to
+ # use. CPPFLAGS in particular varies for each subdirectory. If we are
+ # processing a .h file, we might be in a subdirectory that has no
+ # Makefile, in which case we have to fake it. Note that there seems
+ # no easy way to prevent make from recursing into subdirectories and
+ # hence printing multiple definitions --- we keep the last one, which
+ # should come from the current Makefile.
+ #
+ if (-f "Makefile" || -f "GNUmakefile")
+ {
+ $MAKECMD = "$MAKE -qp";
}
- }
- # The compiler might fail, particularly if we are checking a file that's
- # not supposed to be compiled at all on the current platform, so don't
- # quit on nonzero status.
- close PIPE or warn "$COMPILE failed in $fpath\n";
-
- #
- # Scan the file to find #ifdef, #ifndef, and #if defined() constructs
- # We assume #ifdef isn't continued across lines, and that defined(foo)
- # isn't split across lines either
- #
- open FILE, $fname
- or die "can't open $file: $!";
- $inif = 0;
- while (<FILE>) {
- $line = $_;
- if ($line =~ m/^\s*#\s*ifdef\s+(\w+)/) {
- $symbol = $1;
- &checkit;
+ else
+ {
+ $subdir = $fpath;
+ chop $subdir;
+ $top_builddir = "..";
+ $tmp = $fpath;
+ while (($tmp = dirname($tmp)) ne '.')
+ {
+ $top_builddir = $top_builddir . "/..";
+ }
+ $MAKECMD =
+"$MAKE -qp 'subdir=$subdir' 'top_builddir=$top_builddir' -f '$top_builddir/src/Makefile.global'";
}
- if ($line =~ m/^\s*#\s*ifndef\s+(\w+)/) {
- $symbol = $1;
- &checkit;
+ open PIPE, "$MAKECMD |"
+ or die "can't fork: $!";
+ while (<PIPE>)
+ {
+ if (m/^CPPFLAGS :?= (.*)/)
+ {
+ $CPPFLAGS = $1;
+ }
+ elsif (m/^CFLAGS :?= (.*)/)
+ {
+ $CFLAGS = $1;
+ }
+ elsif (m/^CFLAGS_SL :?= (.*)/)
+ {
+ $CFLAGS_SL = $1;
+ }
+ elsif (m/^PTHREAD_CFLAGS :?= (.*)/)
+ {
+ $PTHREAD_CFLAGS = $1;
+ }
+ elsif (m/^CC :?= (.*)/)
+ {
+ $CC = $1;
+ }
}
- if ($line =~ m/^\s*#\s*if\s+/) {
- $inif = 1;
+
+ # If make exits with status 1, it's not an error, it just means make
+ # thinks some files may not be up-to-date. Only complain on status 2.
+ close PIPE;
+ die "$MAKE failed in $fpath\n" if $? != 0 && $? != 256;
+
+ # Expand out stuff that might be referenced in CFLAGS
+ $CFLAGS =~ s/\$\(CFLAGS_SL\)/$CFLAGS_SL/;
+ $CFLAGS =~ s/\$\(PTHREAD_CFLAGS\)/$PTHREAD_CFLAGS/;
+
+ #
+ # Run the compiler (which had better be gcc) to get the inclusions.
+ # "gcc -H" reports inclusions on stderr as "... filename" where the
+ # number of dots varies according to nesting depth.
+ #
+ @includes = ();
+ $COMPILE = "$CC $CPPFLAGS $CFLAGS -H -E $fname";
+ open PIPE, "$COMPILE 2>&1 >/dev/null |"
+ or die "can't fork: $!";
+ while (<PIPE>)
+ {
+ if (m/^\.+ (.*)/)
+ {
+ $include = $1;
+
+ # Ignore system headers (absolute paths); but complain if a
+ # .c file includes a system header before any PG header.
+ if ($include =~ m|^/|)
+ {
+ warn "$file includes $include before any Postgres inclusion\n"
+ if $#includes == -1 && $file =~ m/\.c$/;
+ next;
+ }
+
+ # Strip any "./" (assume this appears only at front)
+ $include =~ s|^\./||;
+
+ # Make path relative to top of tree
+ $ipath = $fpath;
+ while ($include =~ s|^\.\./||)
+ {
+ $ipath = dirname($ipath) . "/";
+ }
+ $ipath =~ s|^\./||;
+ push @includes, $ipath . $include;
+ }
+ else
+ {
+ warn "$CC: $_";
+ }
}
- if ($inif) {
- while ($line =~ s/\bdefined(\s+|\s*\(\s*)(\w+)//) {
- $symbol = $2;
- &checkit;
- }
- if (!($line =~ m/\\$/)) {
- $inif = 0;
- }
+
+ # The compiler might fail, particularly if we are checking a file that's
+ # not supposed to be compiled at all on the current platform, so don't
+ # quit on nonzero status.
+ close PIPE or warn "$COMPILE failed in $fpath\n";
+
+ #
+ # Scan the file to find #ifdef, #ifndef, and #if defined() constructs
+ # We assume #ifdef isn't continued across lines, and that defined(foo)
+ # isn't split across lines either
+ #
+ open FILE, $fname
+ or die "can't open $file: $!";
+ $inif = 0;
+ while (<FILE>)
+ {
+ $line = $_;
+ if ($line =~ m/^\s*#\s*ifdef\s+(\w+)/)
+ {
+ $symbol = $1;
+ &checkit;
+ }
+ if ($line =~ m/^\s*#\s*ifndef\s+(\w+)/)
+ {
+ $symbol = $1;
+ &checkit;
+ }
+ if ($line =~ m/^\s*#\s*if\s+/)
+ {
+ $inif = 1;
+ }
+ if ($inif)
+ {
+ while ($line =~ s/\bdefined(\s+|\s*\(\s*)(\w+)//)
+ {
+ $symbol = $2;
+ &checkit;
+ }
+ if (!($line =~ m/\\$/))
+ {
+ $inif = 0;
+ }
+ }
}
- }
- close FILE;
+ close FILE;
- chdir $topdir or die "can't chdir to $topdir: $!";
+ chdir $topdir or die "can't chdir to $topdir: $!";
}
exit 0;
# Check an is-defined reference
-sub checkit {
- # Ignore if symbol isn't defined in any PG include files
- if (! defined $defines{$symbol}) {
- return;
- }
- #
- # Try to match source(s) of symbol to the inclusions of the current file
- # (including itself). We consider it OK if any one matches.
- #
- # Note: these tests aren't bulletproof; in theory the inclusion might
- # occur after the use of the symbol. Given our normal file layout,
- # however, the risk is minimal.
- #
- foreach $deffile (keys %{ $defines{$symbol} }) {
- return if $deffile eq $file;
- foreach $reffile (@includes) {
- return if $deffile eq $reffile;
+sub checkit
+{
+
+ # Ignore if symbol isn't defined in any PG include files
+ if (!defined $defines{$symbol})
+ {
+ return;
+ }
+
+ #
+ # Try to match source(s) of symbol to the inclusions of the current file
+ # (including itself). We consider it OK if any one matches.
+ #
+ # Note: these tests aren't bulletproof; in theory the inclusion might
+ # occur after the use of the symbol. Given our normal file layout,
+ # however, the risk is minimal.
+ #
+ foreach $deffile (keys %{ $defines{$symbol} })
+ {
+ return if $deffile eq $file;
+ foreach $reffile (@includes)
+ {
+ return if $deffile eq $reffile;
+ }
}
- }
- #
- # If current file is a .h file, it's OK for it to assume that one of the
- # base headers (postgres.h or postgres_fe.h) has been included.
- #
- if ($file =~ m/\.h$/) {
- foreach $deffile (keys %{ $defines{$symbol} }) {
- return if $deffile eq 'src/include/c.h';
- return if $deffile eq 'src/include/postgres.h';
- return if $deffile eq 'src/include/postgres_fe.h';
- return if $deffile eq 'src/include/pg_config.h';
- return if $deffile eq 'src/include/pg_config_manual.h';
+
+ #
+ # If current file is a .h file, it's OK for it to assume that one of the
+ # base headers (postgres.h or postgres_fe.h) has been included.
+ #
+ if ($file =~ m/\.h$/)
+ {
+ foreach $deffile (keys %{ $defines{$symbol} })
+ {
+ return if $deffile eq 'src/include/c.h';
+ return if $deffile eq 'src/include/postgres.h';
+ return if $deffile eq 'src/include/postgres_fe.h';
+ return if $deffile eq 'src/include/pg_config.h';
+ return if $deffile eq 'src/include/pg_config_manual.h';
+ }
}
- }
- #
- @places = keys %{ $defines{$symbol} };
- print "$file references $symbol, defined in @places\n";
- # print "includes: @includes\n";
+
+ #
+ @places = keys %{ $defines{$symbol} };
+ print "$file references $symbol, defined in @places\n";
+
+ # print "includes: @includes\n";
}
diff --git a/src/tools/pgindent/README b/src/tools/pgindent/README
index 34d59768fdc..16ee06119b0 100644
--- a/src/tools/pgindent/README
+++ b/src/tools/pgindent/README
@@ -29,18 +29,7 @@ This can format all PostgreSQL *.c and *.h files, but excludes *.y, and
7) Remove any files that generate errors and restore their original
versions.
-8) Do a full test build:
-
- > run configure
- # stop is only necessary if it's going to install in a location with an
- # already running server
- pg_ctl stop
- gmake -C src install
- gmake -C contrib install
- pg_ctl start
- gmake installcheck-world
-
-9) Indent the Perl code:
+8) Indent the Perl code:
(
find . -name \*.pl -o -name \*.pm
@@ -52,6 +41,19 @@ This can format all PostgreSQL *.c and *.h files, but excludes *.y, and
sort -u |
xargs perltidy --profile=src/tools/pgindent/perltidyrc
+9) Do a full test build:
+
+ > run configure
+ # stop is only necessary if it's going to install in a location with an
+ # already running server
+ pg_ctl stop
+ gmake -C src install
+ gmake -C contrib install
+ pg_ctl start
+ gmake installcheck-world
+
+10) Remove Perl backup files after testing
+
---------------------------------------------------------------------------
BSD indent
diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent
index 44766e86d74..584218f384a 100755
--- a/src/tools/pgindent/pgindent
+++ b/src/tools/pgindent/pgindent
@@ -119,7 +119,7 @@ sub load_typedefs
$tdtry = "$tdtry/..";
}
die "cannot locate typedefs file \"$typedefs_file\"\n"
- unless $typedefs_file && -f $typedefs_file;
+ unless $typedefs_file && -f $typedefs_file;
open(my $typedefs_fh, '<', $typedefs_file)
|| die "cannot open typedefs file \"$typedefs_file\": $!\n";
@@ -144,7 +144,8 @@ sub process_exclude
{
if ($excludes && @files)
{
- open(my $eh, '<', $excludes) || die "cannot open exclude file \"$excludes\"\n";
+ open(my $eh, '<', $excludes)
+ || die "cannot open exclude file \"$excludes\"\n";
while (my $line = <$eh>)
{
chomp $line;
@@ -205,7 +206,8 @@ sub pre_indent
# FILE: ../../../src/backend/rewrite/rewriteHandler.c
# Error@2259:
# Stuff missing from end of file
- $source =~ s!(\}|[ \t])else[ \t]*(/\*)(.*\*/)[ \t]*$!$1else\n $2 _PGMV$3!gm;
+ $source =~
+ s!(\}|[ \t])else[ \t]*(/\*)(.*\*/)[ \t]*$!$1else\n $2 _PGMV$3!gm;
# Indent multi-line after-'else' comment so BSD indent will move it
# properly. We already moved down single-line comments above.
@@ -442,20 +444,25 @@ sub run_build
chdir "$code_base/src/tools/pgindent";
- my $typedefs_list_url = "http://buildfarm.postgresql.org/cgi-bin/typedefs.pl";
+ my $typedefs_list_url =
+ "http://buildfarm.postgresql.org/cgi-bin/typedefs.pl";
my $rv = getstore($typedefs_list_url, "tmp_typedefs.list");
- die "cannot fetch typedefs list from $typedefs_list_url\n" unless is_success($rv);
+ die "cannot fetch typedefs list from $typedefs_list_url\n"
+ unless is_success($rv);
$ENV{PGTYPEDEFS} = abs_path('tmp_typedefs.list');
- my $pg_bsd_indent_url = "ftp://ftp.postgresql.org/pub/dev/pg_bsd_indent-" .
- $INDENT_VERSION . ".tar.gz";
+ my $pg_bsd_indent_url =
+ "ftp://ftp.postgresql.org/pub/dev/pg_bsd_indent-"
+ . $INDENT_VERSION
+ . ".tar.gz";
$rv = getstore($pg_bsd_indent_url, "pg_bsd_indent.tgz");
- die "cannot fetch BSD indent tarfile from $pg_bsd_indent_url\n" unless is_success($rv);
+ die "cannot fetch BSD indent tarfile from $pg_bsd_indent_url\n"
+ unless is_success($rv);
# XXX add error checking here
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index a831a1e7a7b..b68a649e415 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -23,6 +23,7 @@ AclObjectKind
AclResult
AcquireSampleRowsFunc
ActiveSnapshotElt
+AddForeignUpdateTargets_function
AffixNode
AffixNodeData
AfterTriggerEvent
@@ -42,8 +43,10 @@ AggStatePerAgg
AggStatePerGroup
AggStatePerGroupData
AggStrategy
+AggVals
Aggref
AggrefExprState
+AlenState
Alias
AllocBlock
AllocChunk
@@ -57,6 +60,7 @@ AlterDatabaseStmt
AlterDefaultPrivilegesStmt
AlterDomainStmt
AlterEnumStmt
+AlterEventTrigStmt
AlterExtensionContentsStmt
AlterExtensionStmt
AlterFdwStmt
@@ -163,8 +167,11 @@ Backend
BackendId
BackendParameters
BackendState
+BackgroundWorker
BaseBackupCmd
+BeginForeignModify_function
BeginForeignScan_function
+BgWorkerStartTime
BitmapAnd
BitmapAndPath
BitmapAndState
@@ -270,6 +277,8 @@ CollInfo
CollateClause
CollateExpr
CollateStrength
+ColorTrgm
+ColorTrgmInfo
ColumnCompareData
ColumnDef
ColumnIOData
@@ -290,6 +299,8 @@ CompositeTypeStmt
CompressionAlgorithm
CompressorState
ConfigVariable
+ConnCacheEntry
+ConnCacheKey
ConnStatusType
ConnType
ConsiderSplitContext
@@ -304,6 +315,7 @@ ControlData
ControlFileData
ConvInfo
ConvProcInfo
+ConversionLocation
ConvertRowtypeExpr
ConvertRowtypeExprState
CookedConstraint
@@ -319,6 +331,7 @@ CreateCastStmt
CreateConversionStmt
CreateDomainStmt
CreateEnumStmt
+CreateEventTrigStmt
CreateExtensionStmt
CreateFdwStmt
CreateForeignServerStmt
@@ -351,6 +364,7 @@ CurrentOfExpr
CustomOutPtr
CycleCtr
DBState
+DBWriteRequest
DCHCacheEntry
DEADLOCK_INFO
DECountItem
@@ -362,6 +376,7 @@ DR_copy
DR_intorel
DR_printtup
DR_sqlfunction
+DR_transientrel
DWORD
DataDumperPtr
DataPageDeleteStack
@@ -388,11 +403,10 @@ DictSnowball
DictSubState
DictSyn
DictThesaurus
+DisableTimeoutParams
DiscardMode
DiscardStmt
DistinctExpr
-Dlelem
-Dllist
DoStmt
DocRepresentation
DomainConstraintState
@@ -417,10 +431,14 @@ EState
EVP_MD
EVP_MD_CTX
EVP_PKEY
+EachState
Edge
+ElementsState
+EnableTimeoutParams
EndBlobPtr
EndBlobsPtr
EndDataPtr
+EndForeignModify_function
EndForeignScan_function
EnumItem
EolType
@@ -428,9 +446,19 @@ EquivalenceClass
EquivalenceMember
ErrorContextCallback
ErrorData
+EventTriggerCacheEntry
+EventTriggerCacheItem
+EventTriggerCacheStateType
+EventTriggerData
+EventTriggerEvent
+EventTriggerInfo
+EventTriggerQueryState
ExceptionLabelMap
ExceptionMap
ExecAuxRowMark
+ExecForeignDelete_function
+ExecForeignInsert_function
+ExecForeignUpdate_function
ExecRowMark
ExecScanAccessMtd
ExecScanRecheckMtd
@@ -442,6 +470,7 @@ ExecutorEnd_hook_type
ExecutorFinish_hook_type
ExecutorRun_hook_type
ExecutorStart_hook_type
+ExplainForeignModify_function
ExplainForeignScan_function
ExplainFormat
ExplainOneQuery_hook_type
@@ -459,6 +488,7 @@ ExtensionControlFile
ExtensionInfo
ExtensionVersionInfo
Extention
+FDWCollateState
FD_SET
FILE
FILETIME
@@ -513,6 +543,7 @@ FormData_pg_database
FormData_pg_default_acl
FormData_pg_depend
FormData_pg_enum
+FormData_pg_event_trigger
FormData_pg_extension
FormData_pg_foreign_data_wrapper
FormData_pg_foreign_server
@@ -559,6 +590,7 @@ Form_pg_database
Form_pg_default_acl
Form_pg_depend
Form_pg_enum
+Form_pg_event_trigger
Form_pg_extension
Form_pg_foreign_data_wrapper
Form_pg_foreign_server
@@ -629,11 +661,13 @@ GISTTYPE
GIST_SPLITVEC
GV
Gene
+GenericCosts
GenericExprState
GeqoPrivateData
GetForeignPaths_function
GetForeignPlan_function
GetForeignRelSize_function
+GetState
GiSTOptions
GinBtree
GinBtreeData
@@ -641,6 +675,7 @@ GinBtreeStack
GinBuildState
GinChkVal
GinEntryAccumulator
+GinIndexStat
GinMetaPageData
GinNullCategory
GinOptions
@@ -734,13 +769,13 @@ HbaLine
HbaToken
HeadlineParsedText
HeadlineWordEntry
-HeapPosition
HeapScanDesc
HeapTuple
HeapTupleData
HeapTupleFields
HeapTupleHeader
HeapTupleHeaderData
+HeapUpdateFailureData
HistControl
HotStandbyState
I32
@@ -750,6 +785,7 @@ IOFuncSelector
IPCompareMethod
ITEM
IV
+IdentLine
IdentifierLookup
IdentifySystemCmd
IncrementVarSublevelsUp_context
@@ -771,6 +807,7 @@ IndexRuntimeKeyInfo
IndexScan
IndexScanDesc
IndexScanState
+IndexStateFlagsAction
IndexStmt
IndexTuple
IndexTupleData
@@ -804,6 +841,7 @@ ItemIdData
ItemPointer
ItemPointerData
IterateForeignScan_function
+JHashState
JOBOBJECTINFOCLASS
JOBOBJECT_BASIC_LIMIT_INFORMATION
JOBOBJECT_BASIC_UI_RESTRICTIONS
@@ -815,11 +853,12 @@ JoinHashEntry
JoinPath
JoinState
JoinType
+JsonHashEntry
JsonLexContext
-JsonParseStack
-JsonParseState
-JsonStackOp
-JsonValueType
+JsonParseContext
+JsonSearch
+JsonSemAction
+JsonTokenType
JunkFilter
KeyArray
KeySuffix
@@ -827,6 +866,7 @@ KeyWord
LARGE_INTEGER
LDAP
LDAPMessage
+LDAPURLDesc
LDAP_TIMEVAL
LINE
LOCALLOCK
@@ -860,6 +900,7 @@ LWLockPadded
LabelProvider
LargeObjectDesc
Latch
+LateralJoinInfo
LexDescr
LexemeEntry
LexemeHashKey
@@ -881,6 +922,7 @@ LocalBufferLookupEnt
LocalTransactionId
LocationIndex
LockAcquireResult
+LockClauseStrength
LockData
LockInfoData
LockInstanceData
@@ -902,6 +944,8 @@ MBuf
MINIDUMPWRITEDUMP
MINIDUMP_TYPE
MJEvalResult
+MasterEndParallelItemPtr
+MasterStartParallelItemPtr
Material
MaterialPath
MaterialState
@@ -927,8 +971,10 @@ ModifyTable
ModifyTableState
MsgType
MultiXactId
+MultiXactMember
MultiXactOffset
MultiXactStateData
+MultiXactStatus
MyData
NDBOX
NODE
@@ -960,12 +1006,16 @@ NullTestType
Numeric
NumericDigit
NumericVar
+OM_uint32
OP
OSInfo
OSSLDigest
OSVERSIONINFO
OVERLAPPED
ObjectAccessDrop
+ObjectAccessNamespaceSearch
+ObjectAccessPostAlter
+ObjectAccessPostCreate
ObjectAccessType
ObjectAddress
ObjectAddressExtra
@@ -979,6 +1029,7 @@ OffsetNumber
OffsetVarNodes_context
Oid
OidOptions
+OkeysState
OldSerXidControl
OldToNewMapping
OldToNewMappingData
@@ -1104,6 +1155,7 @@ PLpgSQL_stmt_return
PLpgSQL_stmt_return_next
PLpgSQL_stmt_return_query
PLpgSQL_stmt_while
+PLpgSQL_trigtype
PLpgSQL_type
PLpgSQL_var
PLpgSQL_variable
@@ -1120,6 +1172,7 @@ PLyObToTuple
PLyPlanObject
PLyProcedure
PLyProcedureEntry
+PLyProcedureKey
PLyResultObject
PLySubtransactionData
PLySubtransactionObject
@@ -1142,7 +1195,6 @@ PQconninfoOption
PQnoticeProcessor
PQnoticeReceiver
PQprintOpt
-PQrowProcessor
PREDICATELOCK
PREDICATELOCKTAG
PREDICATELOCKTARGET
@@ -1168,14 +1220,16 @@ PX_Combo
PX_HMAC
PX_MD
Page
+PageGistNSN
PageHeader
PageHeaderData
PageSplitRecord
+PageXLogRecPtr
PagetableEntry
Pairs
+ParallelArgs
ParallelSlot
ParallelState
-ParallelStateEntry
Param
ParamExecData
ParamExternData
@@ -1186,6 +1240,8 @@ ParamPathInfo
ParamRef
ParentMapEntry
ParseCallbackState
+ParseExprKind
+ParseNamespaceItem
ParseParamRefHook
ParseState
ParsedLex
@@ -1201,12 +1257,16 @@ PathKeysComparison
Pattern_Prefix_Status
Pattern_Type
PendingOperationEntry
-PendingOperationTag
PendingRelDelete
PendingUnlinkEntry
PerlInterpreter
Perl_ppaddr_t
PgBackendStatus
+PgFdwAnalyzeState
+PgFdwModifyState
+PgFdwOption
+PgFdwRelationInfo
+PgFdwScanState
PgIfAddrCallback
PgStat_BackendFunctionEntry
PgStat_Counter
@@ -1252,6 +1312,7 @@ PipeProtoHeader
PlaceHolderInfo
PlaceHolderVar
Plan
+PlanForeignModify_function
PlanInvalItem
PlanRowMark
PlanState
@@ -1262,6 +1323,7 @@ PlannerParamItem
Point
Pointer
Pool
+PopulateRecordsetState
Port
Portal
PortalHashEnt
@@ -1281,7 +1343,6 @@ PredicateLockTargetType
PrepareStmt
PreparedParamsData
PreparedStatement
-PrimaryKeepaliveMessage
PrintExtraTocPtr
PrintTocDataPtr
PrintfArgType
@@ -1295,6 +1356,7 @@ ProcLangInfo
ProcSignalReason
ProcSignalSlot
ProcState
+ProcessUtilityContext
ProcessUtility_hook_type
ProcessingMode
ProjectionInfo
@@ -1374,9 +1436,11 @@ RecoveryTargetType
RecursionContext
RecursiveUnion
RecursiveUnionState
+RefreshMatViewStmt
RegProcedure
Regis
RegisNode
+RegisteredBgWorker
ReindexStmt
RelFileNode
RelFileNodeBackend
@@ -1400,13 +1464,13 @@ Relids
RelocationBufferInfo
RenameStmt
ReopenPtr
+ReplaceVarsFromTargetList_context
+ReplaceVarsNoMatchOption
ResTarget
-ResolveNew_context
ResourceOwner
ResourceReleaseCallback
ResourceReleaseCallbackItem
ResourceReleasePhase
-RestoreArgs
RestoreOptions
RestrictInfo
Result
@@ -1417,6 +1481,7 @@ ReturnSetInfo
RewriteRule
RewriteState
RmgrData
+RmgrDescData
RmgrId
RoleStmtType
RowCompareExpr
@@ -1453,6 +1518,7 @@ SID_NAME_USE
SISeg
SMgrRelation
SMgrRelationData
+SOCKADDR
SOCKET
SPELL
SPIPlanPtr
@@ -1461,6 +1527,7 @@ SPLITCOST
SPNode
SPNodeData
SPPageDesc
+SQLDropObject
SQLFunctionCache
SQLFunctionCachePtr
SQLFunctionParseInfoPtr
@@ -1509,6 +1576,7 @@ SetOpStrategy
SetOperation
SetOperationStmt
SetToDefault
+SetupWorkerPtr
SharedDependencyType
SharedInvalCatalogMsg
SharedInvalCatcacheMsg
@@ -1580,8 +1648,6 @@ SplitVar
SplitedPageLayout
StackElem
StandardChunkHeader
-StandbyHSFeedbackMessage
-StandbyReplyMessage
StartBlobPtr
StartBlobsPtr
StartDataPtr
@@ -1605,7 +1671,6 @@ SubXactCallbackItem
SubXactEvent
SubqueryScan
SubqueryScanState
-SuffixChar
Syn
SysScanDesc
SyscacheCallbackFunction
@@ -1650,6 +1715,8 @@ TState
TStoreState
TTOffList
TYPCATEGORY
+T_Action
+T_WorkerStatus
TabStatusArray
TableDataInfo
TableInfo
@@ -1675,11 +1742,15 @@ TidScanState
TimeADT
TimeInterval
TimeIntervalData
+TimeLineHistoryCmd
+TimeLineHistoryEntry
TimeLineID
TimeOffset
TimeStamp
TimeTzADT
TimeZoneAbbrevTable
+TimeoutId
+TimeoutType
Timestamp
TimestampTz
TmFromChar
@@ -1694,6 +1765,19 @@ TransactionState
TransactionStateData
TransactionStmt
TransactionStmtKind
+TrgmArc
+TrgmArcInfo
+TrgmColor
+TrgmColorInfo
+TrgmNFA
+TrgmPackArcInfo
+TrgmPackedArc
+TrgmPackedGraph
+TrgmPackedState
+TrgmPrefix
+TrgmState
+TrgmStateKey
+TrieChar
Trigger
TriggerData
TriggerDesc
@@ -1785,14 +1869,13 @@ WSABUF
WSADATA
WSANETWORKEVENTS
WSAPROTOCOL_INFO
-WalDataMessageHeader
WalLevel
WalRcvData
WalRcvState
WalSnd
WalSndCtlData
WalSndState
-WalSndrMessage
+WholeRowVarExprState
WindowAgg
WindowAggState
WindowClause
@@ -1813,6 +1896,9 @@ WordEntryPosVector
WorkTableScan
WorkTableScanState
WorkerInfo
+WorkerInfoData
+WorkerJobDumpPtr
+WorkerJobRestorePtr
Working_State
WriteBufPtr
WriteBytePtr
@@ -1824,17 +1910,23 @@ X509_NAME
X509_NAME_ENTRY
X509_STORE
X509_STORE_CTX
-XLogContRecord
XLogCtlData
XLogCtlInsert
XLogCtlWrite
+XLogDumpConfig
+XLogDumpPrivate
XLogLongPageHeader
XLogLongPageHeaderData
XLogPageHeader
XLogPageHeaderData
+XLogPageReadCB
+XLogPageReadPrivate
+XLogReaderState
XLogRecData
XLogRecPtr
XLogRecord
+XLogSegNo
+XLogSource
XLogwrtResult
XLogwrtRqst
XPVIV
@@ -1871,6 +1963,10 @@ avw_dbase
backslashResult
base_yy_extra_type
basebackup_options
+bgworker_main_type
+bgworker_sighdlr_type
+binaryheap
+binaryheap_comparator
bitmapword
bits16
bits32
@@ -1882,6 +1978,7 @@ cached_re_str
cashKEY
celt
cfp
+check_agg_arguments_context
check_network_data
check_object_relabel_type
check_password_hook_type
@@ -1909,24 +2006,35 @@ crosstab_cat_desc
dateKEY
datetkn
decimal
+deparse_columns
deparse_context
+deparse_expr_cxt
deparse_namespace
destructor
dev_t
directory_fctx
+dlist_head
+dlist_iter
+dlist_mutable_iter
+dlist_node
ds_state
eLogType
ean13
eary
+ec_matches_callback_type
+ec_member_foreign_arg
+ec_member_matches_arg
emit_log_hook_type
eval_const_expressions_context
+event_trigger_command_tag_check_result
+event_trigger_support_data
+exec_thread_arg
execution_state
explain_get_index_name_hook_type
f_smgr
fd_set
finalize_primnode_context
find_expr_references_context
-find_minimum_var_level_context
fix_join_expr_context
fix_scan_expr_context
fix_upper_expr_context
@@ -1938,6 +2046,8 @@ float8KEY
fmNodePtr
fmStringInfo
fmgr_hook_type
+foreign_glob_cxt
+foreign_loc_cxt
freeaddrinfo_ptr_t
freefunc
fsec_t
@@ -1966,11 +2076,15 @@ ginxlogSplit
ginxlogUpdateMeta
ginxlogVacuumPage
gistxlogPage
-gistxlogPageDelete
gistxlogPageSplit
gistxlogPageUpdate
gseg_picksplit_item
+gss_OID
gss_buffer_desc
+gss_cred_id_t
+gss_ctx_id_t
+gss_name_t
+gtrgm_consistent_cache
gzFile
hashfunc
hbaPort
@@ -1983,42 +2097,37 @@ inetKEY
inet_struct
inline_error_callback_arg
ino_t
+inquiry
instr_time
int16
int16KEY
-int2
int2vector
int32
int32KEY
int32_t
-int4
int64
int64KEY
int8
+internalPQconninfoOption
intptr_t
intvKEY
itemIdSort
itemIdSortData
jmp_buf
join_search_hook_type
+jsonSemAction
+json_aelem_action
+json_ofield_action
+json_scalar_action
+json_struct_action
keyEntryData
key_t
-krb5_auth_context
-krb5_ccache
-krb5_context
-krb5_error
-krb5_error_code
-krb5_keytab
-krb5_pointer
-krb5_principal
-krb5_ticket
lclContext
lclTocEntry
line_t
locale_t
locate_agg_of_level_context
locate_var_of_level_context
-locate_var_of_relation_context
locate_windowfunc_context
logstreamer_param
lquery
@@ -2031,6 +2140,7 @@ ltxtquery
mXactCacheEnt
macKEY
macaddr
+map_variable_attnos_context
mb2wchar_with_len_converter
mbcharacter_incrementer
mbdisplaylen_converter
@@ -2049,6 +2159,8 @@ mp_sign
mp_size
mp_word
mpz_t
+mxact
+mxtruncinfo
needs_fmgr_hook_type
nodeitem
normal_rand_fctx
@@ -2074,6 +2186,7 @@ pg_enc2gettext
pg_enc2name
pg_encname
pg_gssinfo
+pg_int64
pg_local_to_utf
pg_local_to_utf_combined
pg_locale_t
@@ -2139,8 +2252,10 @@ pthread_t
pull_var_clause_context
pull_varattnos_context
pull_varnos_context
+pull_vars_context
pullup_replace_vars_context
qsort_arg_comparator
+query_pathkeys_callback
radius_attribute
radius_packet
rangeTableEntry_used_context
@@ -2150,8 +2265,8 @@ rb_combiner
rb_comparator
rb_freefunc
reduce_outer_joins_state
+regex_arc_t
regex_t
-regexp
regexp_matches_ctx
regmatch_t
regoff_t
@@ -2183,6 +2298,10 @@ sigjmp_buf
signedbitmapword
sigset_t
size_t
+slist_head
+slist_iter
+slist_mutable_iter
+slist_node
slock_t
smgrid
spgBulkDeleteState
@@ -2215,6 +2334,7 @@ ss_lru_item_t
ss_scan_location_t
ss_scan_locations_t
ssize_t
+standard_qp_extra
stemmer_module
stmtCacheEntry
storeInfo
@@ -2232,11 +2352,15 @@ temp_tablespaces_extra
text
timeKEY
time_t
+timeout_handler_proc
+timeout_params
timerCA
timezone_extra
tlist_vinfo
transferMode
+transfer_thread_arg
trgm
+trgm_mb_char
tsKEY
ts_db_fctx
ts_tokentype
@@ -2267,12 +2391,18 @@ varattrib_1b_e
varattrib_4b
walrcv_connect_type
walrcv_disconnect_type
+walrcv_endstreaming_type
+walrcv_identify_system_type
+walrcv_readtimelinehistoryfile_type
walrcv_receive_type
walrcv_send_type
+walrcv_startstreaming_type
+wchar2mb_with_len_converter
wchar_t
win32_deadchild_waitinfo
win32_pthread
wint_t
+worktable
xl_btree_delete
xl_btree_delete_page
xl_btree_insert
@@ -2284,6 +2414,7 @@ xl_btree_vacuum
xl_btreetid
xl_dbase_create_rec
xl_dbase_drop_rec
+xl_end_of_recovery
xl_heap_clean
xl_heap_cleanup_info
xl_heap_delete
@@ -2292,6 +2423,7 @@ xl_heap_header
xl_heap_inplace
xl_heap_insert
xl_heap_lock
+xl_heap_lock_updated
xl_heap_multi_insert
xl_heap_newpage
xl_heap_update
@@ -2323,6 +2455,7 @@ xmlBufferPtr
xmlChar
xmlDocPtr
xmlErrorPtr
+xmlExternalEntityLoader
xmlGenericErrorFunc
xmlNodePtr
xmlNodeSetPtr
@@ -2336,7 +2469,9 @@ xmlXPathContextPtr
xmlXPathObjectPtr
xmltype
xpath_workspace
+xsltSecurityPrefsPtr
xsltStylesheetPtr
+xsltTransformContextPtr
yy_parser
yy_size_t
yyscan_t