aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2000-01-22 23:05:14 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2000-01-22 23:05:14 +0000
commit78845177bb8839a2a582b92de2b46ce7d3f16df4 (patch)
treee8963580a7efbf92bd21aca1911350dd12cadda8
parentfa5400c0a40eab95499da5a54d8a526593a1f243 (diff)
downloadpostgresql-78845177bb8839a2a582b92de2b46ce7d3f16df4.tar.gz
postgresql-78845177bb8839a2a582b92de2b46ce7d3f16df4.zip
findoidjoins was suffering from bit rot (pginterface no
longer in expected location).
-rw-r--r--contrib/findoidjoins/Makefile17
-rw-r--r--contrib/findoidjoins/README13
-rw-r--r--contrib/findoidjoins/findoidjoins.c15
3 files changed, 26 insertions, 19 deletions
diff --git a/contrib/findoidjoins/Makefile b/contrib/findoidjoins/Makefile
index 898f92c6cf2..0394510f43a 100644
--- a/contrib/findoidjoins/Makefile
+++ b/contrib/findoidjoins/Makefile
@@ -1,20 +1,23 @@
#
-# Makefile, requires pgsql/contrib/pginterface
+# Makefile, requires src/interfaces/libpgeasy
#
#
-PGINTERFACE = ../pginterface/pginterface.o ../pginterface/halt.o # these have to be in your library search path
+INSTALLDIR = /usr/local/pgsql
+
TARGET = findoidjoins
-CFLAGS = -g -Wall -I. -I../pginterface -I../../src/interfaces/libpq -I/usr/local/pgsql/include
-LDFLAGS = -L/usr/local/pgsql/lib -lpq
+PGEASY = ../../src/interfaces/libpgeasy
+CFLAGS = -g -Wall -I. -I$(PGEASY) -I$(INSTALLDIR)/include
+LIBPGEASY = $(PGEASY)/libpgeasy.a
+LDFLAGS = -L$(INSTALLDIR)/lib -lpq
all : $(TARGET)
-findoidjoins: $(PGINTERFACE) findoidjoins.c
- gcc -o $@ $(CFLAGS) $@.c $(PGINTERFACE) $(LDFLAGS)
+findoidjoins: findoidjoins.c $(LIBPGEASY)
+ gcc -o $@ $(CFLAGS) $^ $(LDFLAGS)
clean:
rm -f *.o $(TARGET) log core
install:
- install -s -o bin -g bin $(TARGET) /usr/local/pgsql/bin
+ install -s -o bin -g bin $(TARGET) $(INSTALLDIR)/bin
diff --git a/contrib/findoidjoins/README b/contrib/findoidjoins/README
index c67d341339d..44c150a43f9 100644
--- a/contrib/findoidjoins/README
+++ b/contrib/findoidjoins/README
@@ -4,15 +4,15 @@
This program scans a database, and prints oid fields (also regproc fields)
and the tables they join to. CAUTION: it is ver-r-r-y slow on a large
database, or even a not-so-large one. We don't really recommend running
-it on anything but an empty database.
+it on anything but an empty database, such as template1.
Uses pgeasy library.
Run on an empty database, it returns the system join relationships (shown
-below for 6.5). Note that unexpected matches may indicate bogus entries
+below for 7.0). Note that unexpected matches may indicate bogus entries
in system tables --- don't accept a peculiar match without question.
In particular, a field shown as joining to more than one target table is
-probably messed up. In 6.5, the *only* field that should join to more
+probably messed up. In 7.0, the *only* field that should join to more
than one target is pg_description.objoid. (Running make_oidjoins_check
is an easy way to spot fields joining to more than one table, BTW.)
@@ -45,11 +45,10 @@ Join pg_am.amendscan => pg_proc.oid
Join pg_am.ammarkpos => pg_proc.oid
Join pg_am.amrestrpos => pg_proc.oid
Join pg_am.ambuild => pg_proc.oid
+Join pg_am.amcostestimate => pg_proc.oid
Join pg_amop.amopid => pg_am.oid
Join pg_amop.amopclaid => pg_opclass.oid
Join pg_amop.amopopr => pg_operator.oid
-Join pg_amop.amopselect => pg_proc.oid
-Join pg_amop.amopnpages => pg_proc.oid
Join pg_amproc.amid => pg_am.oid
Join pg_amproc.amopclaid => pg_opclass.oid
Join pg_amproc.amproc => pg_proc.oid
@@ -75,6 +74,10 @@ Join pg_operator.oprjoin => pg_proc.oid
Join pg_proc.prolang => pg_language.oid
Join pg_proc.prorettype => pg_type.oid
Join pg_rewrite.ev_class => pg_class.oid
+Join pg_statistic.starelid => pg_class.oid
+Join pg_statistic.staop => pg_operator.oid
+Join pg_trigger.tgrelid => pg_class.oid
+Join pg_trigger.tgfoid => pg_proc.oid
Join pg_type.typrelid => pg_class.oid
Join pg_type.typelem => pg_type.oid
Join pg_type.typinput => pg_proc.oid
diff --git a/contrib/findoidjoins/findoidjoins.c b/contrib/findoidjoins/findoidjoins.c
index f1b82a14ef2..c932a33091d 100644
--- a/contrib/findoidjoins/findoidjoins.c
+++ b/contrib/findoidjoins/findoidjoins.c
@@ -1,13 +1,14 @@
/*
- * findoidjoins.c, required pgsql/contrib/pginterface
+ * findoidjoins.c, requires src/interfaces/libpgeasy
*
*/
#include <stdio.h>
#include <string.h>
+#include "libpq-fe.h"
+
#include "halt.h"
-#include <libpq-fe.h>
-#include "pginterface.h"
+#include "libpgeasy.h"
PGresult *attres,
*relres;
@@ -69,14 +70,14 @@ main(int argc, char **argv)
sprintf(query, "\
DECLARE c_matches BINARY CURSOR FOR \
SELECT count(*) \
- FROM % s t1, %s t2 \
- WHERE t1.% s = t2.oid ", relname, relname2, attname);
+ FROM %s t1, %s t2 \
+ WHERE t1.%s = t2.oid ", relname, relname2, attname);
else
sprintf(query, "\
DECLARE c_matches BINARY CURSOR FOR \
SELECT count(*) \
- FROM % s t1, %s t2 \
- WHERE RegprocToOid(t1.% s) = t2.oid ", relname, relname2, attname);
+ FROM %s t1, %s t2 \
+ WHERE RegprocToOid(t1.%s) = t2.oid ", relname, relname2, attname);
doquery(query);
doquery("FETCH ALL IN c_matches");