| #!/bin/sh |
| # |
| # duplicate_oids |
| # |
| # $PostgreSQL: pgsql/src/include/catalog/duplicate_oids,v 1.8 2006/07/31 01:16:37 tgl Exp $ |
| # |
| # finds manually-assigned oids that are duplicated in the system tables. |
| # |
| # run this script in src/include/catalog. |
| # |
| |
| # note: we exclude BKI_BOOTSTRAP relations since they are expected to have |
| # matching DATA lines in pg_class.h |
| |
| DUPS=`cat pg_*.h gp_*.h toasting.h indexing.h | \ |
| egrep -v -e '^CATALOG\(.*BKI_BOOTSTRAP' | \ |
| sed -n -e 's/^DATA(insert *OID *= *\([0-9][0-9]*\).*$/\1/p' \ |
| -e 's/^CATALOG([^,]*, *\([0-9][0-9]*\).*$/\1/p' \ |
| -e 's/^DECLARE_INDEX([^,]*, *\([0-9][0-9]*\).*$/\1/p' \ |
| -e 's/^DECLARE_UNIQUE_INDEX([^,]*, *\([0-9][0-9]*\).*$/\1/p' \ |
| -e 's/^DECLARE_TOAST([^,]*, *\([0-9][0-9]*\), *\([0-9][0-9]*\).*$/\1,\2/p' | \ |
| tr ',' '\n' | \ |
| sort -n | \ |
| uniq -d` |
| |
| test "$DUPS" && echo "Duplicate OIDS\n--------------\n$DUPS" && exit 1 |
| |
| exit 0 |