From 219af0a8367ad7f5f008ec8252ffa728e0087b12 Mon Sep 17 00:00:00 2001 From: Peter Geoghegan Date: Fri, 2 Aug 2019 10:25:02 -0700 Subject: [PATCH v3] unused_oids suggestion --- src/include/catalog/unused_oids | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/include/catalog/unused_oids b/src/include/catalog/unused_oids index e3fcd913e8..16925771ea 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,28 @@ 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; +$prev_oid = 0; +foreach my $oid (@sortedoids) +{ + if ($oid > $suggestion) + { + if ($oid > $prev_oid + 2) + { + $navailable = $oid - $suggestion; + last; + } + } + $prev_oid = $oid; +} + +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