mirror of
https://github.com/postgres/postgres.git
synced 2025-05-02 11:44:50 +03:00
Fix duplicate_oids and unused_oids so user needn't cd to catalog dir.
Previously, you had to cd into src/include/catalog before running either of these scripts. That's a bit tedious, so let's make the scripts do it for you. In passing, improve the initial comments in both scripts. Also remove unused_oids' code to complain about duplicate oids. That was added in yesterday's commit 5602265f7, but on second thought we shouldn't be randomly redefining the script's behavior that way. John Naylor and Tom Lane Discussion: https://postgr.es/m/37D774E4-FE1F-437E-B3D2-593F314B7505@postgrespro.ru
This commit is contained in:
parent
1900365c1e
commit
dd4cc9d706
@ -1,11 +1,31 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use lib '../../backend/catalog/';
|
||||
use Catalog;
|
||||
#----------------------------------------------------------------------
|
||||
#
|
||||
# duplicate_oids
|
||||
# Identifies any manually-assigned OIDs that are used multiple times
|
||||
# in the Postgres catalog data.
|
||||
#
|
||||
# While duplicate OIDs would only cause a failure if they appear in
|
||||
# the same catalog, our project policy is that manually assigned OIDs
|
||||
# should be globally unique, to avoid confusion.
|
||||
#
|
||||
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
|
||||
# Portions Copyright (c) 1994, Regents of the University of California
|
||||
#
|
||||
# src/include/catalog/duplicate_oids
|
||||
#
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
# Must run in src/include/catalog
|
||||
use FindBin;
|
||||
chdir $FindBin::RealBin or die "could not cd to $FindBin::RealBin: $!\n";
|
||||
|
||||
use lib "$FindBin::RealBin/../../backend/catalog/";
|
||||
use Catalog;
|
||||
|
||||
my @input_files = (glob("pg_*.h"), qw(indexing.h toasting.h));
|
||||
|
||||
my $oids = Catalog::FindAllOidsFromHeaders(@input_files);
|
||||
|
@ -1,26 +1,33 @@
|
||||
#!/usr/bin/perl
|
||||
#----------------------------------------------------------------------
|
||||
#
|
||||
# unused_oids
|
||||
# Finds blocks of manually-assignable OIDs that have not already been
|
||||
# claimed by previous hackers. The main use is for finding available
|
||||
# OIDs for new internal functions. The numbers printed are inclusive
|
||||
# ranges of unused OIDs.
|
||||
#
|
||||
# Before using a large empty block, make sure you aren't about
|
||||
# to take over what was intended as expansion space for something
|
||||
# else.
|
||||
#
|
||||
# Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
|
||||
# Portions Copyright (c) 1994, Regents of the University of California
|
||||
#
|
||||
# src/include/catalog/unused_oids
|
||||
#
|
||||
# finds blocks of manually-assignable oids that have not already been
|
||||
# claimed by post_hackers. primarily useful for finding available
|
||||
# oids for new internal functions. the numbers printed are inclusive
|
||||
# ranges of unused oids.
|
||||
#
|
||||
# before using a large empty block, make sure you aren't about
|
||||
# to take over what was intended as expansion space for something
|
||||
# else.
|
||||
#
|
||||
# run this script in src/include/catalog.
|
||||
#
|
||||
use lib '../../backend/catalog/';
|
||||
use Catalog;
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
# Must run in src/include/catalog
|
||||
use FindBin;
|
||||
chdir $FindBin::RealBin or die "could not cd to $FindBin::RealBin: $!\n";
|
||||
|
||||
use lib "$FindBin::RealBin/../../backend/catalog/";
|
||||
use Catalog;
|
||||
|
||||
my @input_files = (glob("pg_*.h"), qw(indexing.h toasting.h));
|
||||
|
||||
my $oids = Catalog::FindAllOidsFromHeaders(@input_files);
|
||||
@ -45,10 +52,5 @@ foreach my $oid (sort { $a <=> $b } @{$oids})
|
||||
printf "%d\n", $prev_oid + 1;
|
||||
}
|
||||
}
|
||||
elsif ($oid == $prev_oid)
|
||||
{
|
||||
print "Duplicate oid detected: $oid\n";
|
||||
exit 1;
|
||||
}
|
||||
$prev_oid = $oid;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user