From ad71a27ddb9837d5b59159d0c99eaee6c7cfd956 Mon Sep 17 00:00:00 2001 From: Peter Geoghegan Date: Fri, 2 Aug 2019 10:25:02 -0700 Subject: [PATCH v4] unused_oids suggestion --- src/include/catalog/unused_oids | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/include/catalog/unused_oids b/src/include/catalog/unused_oids index e3fcd913e8..e613bbc2d1 100755 --- a/src/include/catalog/unused_oids +++ b/src/include/catalog/unused_oids @@ -38,7 +38,8 @@ my $FirstGenbkiObjectId = push @{$oids}, $FirstGenbkiObjectId; my $prev_oid = 0; -foreach my $oid (sort { $a <=> $b } @{$oids}) +my @sortedoids = sort {$a <=> $b} @{$oids}; +foreach my $oid (@sortedoids) { if ($oid > $prev_oid + 1) { @@ -53,3 +54,23 @@ foreach my $oid (sort { $a <=> $b } @{$oids}) } $prev_oid = $oid; } + +my $suggestion; +do +{ + $suggestion = int(8000 + rand(2000)); +} while (grep(/^$suggestion$/, @{$oids})); + +my $navailable = 0; +foreach my $oid (@sortedoids) +{ + if ($oid > $suggestion) + { + $navailable = $oid - $suggestion; + last; + } +} + +printf "Patches should use a more-or-less consecutive range of OIDs.\n"; +printf "Best practice is to start with a random choice in the range 8000-9999.\n"; +printf "Suggested random unused OID: $suggestion ($navailable consecutive OID(s) available starting here)\n"; -- 2.17.1