]> granicus.if.org Git - postgresql/commitdiff
A couple of development scripts by Dan to detect unused and duplicate
authorMarc G. Fournier <scrappy@hub.org>
Sat, 15 Mar 1997 06:03:08 +0000 (06:03 +0000)
committerMarc G. Fournier <scrappy@hub.org>
Sat, 15 Mar 1997 06:03:08 +0000 (06:03 +0000)
oids

src/include/catalog/duplicate_oids [new file with mode: 0755]
src/include/catalog/unused_oids [new file with mode: 0755]

diff --git a/src/include/catalog/duplicate_oids b/src/include/catalog/duplicate_oids
new file mode 100755 (executable)
index 0000000..caf43a8
--- /dev/null
@@ -0,0 +1,20 @@
+#!/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.$$
+
diff --git a/src/include/catalog/unused_oids b/src/include/catalog/unused_oids
new file mode 100755 (executable)
index 0000000..a30191d
--- /dev/null
@@ -0,0 +1,41 @@
+#!/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, "-";
+}'