Commit 9e4798ea authored by Marc G. Fournier's avatar Marc G. Fournier

A couple of development scripts by Dan to detect unused and duplicate

oids
parent e8466b03
#!/bin/sh
#
# duplicate_oids
#
# finds oids that are duplicated in the system tables.
#
egrep '^DATA' pg_*.h | \
sed -e 's/^.*OID[^=]*=[^0-9]*//' -e 's/[^0-9].*$//' | \
sort -n >/tmp/alloids.$$
uniq /tmp/alloids.$$ >/tmp/uniqoids.$$
diff -u /tmp/alloids.$$ /tmp/uniqoids.$$ | \
grep -v '/tmp/' | \
grep '^-' | \
sed -e 's/^-//' | \
grep -v '^0$' | \
uniq
rm /tmp/alloids.$$
rm /tmp/uniqoids.$$
#!/bin/sh
# unused_oids
#
# $Header: /cvsroot/pgsql/src/include/catalog/unused_oids,v 1.1 1997/03/15 06:03:08 scrappy Exp $
#
# finds blocks of oids that have not already been claimed by
# post_hackers for internal purposes. primarily useful for
# finding valid oids for new internal function oids. the numbers
# printed are inclusive ranges of valid (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. also, before using a number, do a "grepsrc" to make sure
# that someone isn't using a literal numeric constant somewhere..
#
# non-berkeley post_hackers should probably not try to use oids
# less than the highest one that comes with the distributed source.
#
# run this script in src/backend/catalog.
#
egrep '^DATA' pg_*.h | \
sed -e 's/^.*OID[^=]*=[^0-9]*//' -e 's/[^0-9].*$//' | \
sort -n | \
uniq | \
awk '
BEGIN {
last = 0;
}
/^[0-9]/ {
if ($1 > last + 1) {
if ($1 > last + 2) {
print last + 1, "-", $1 - 1;
} else {
print last + 1;
}
}
last = $1;
}
END {
print last + 1, "-";
}'
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment