findoidjoins was suffering from bit rot (pginterface no
longer in expected location).
This commit is contained in:
parent
fa5400c0a4
commit
78845177bb
@ -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
|
TARGET = findoidjoins
|
||||||
CFLAGS = -g -Wall -I. -I../pginterface -I../../src/interfaces/libpq -I/usr/local/pgsql/include
|
PGEASY = ../../src/interfaces/libpgeasy
|
||||||
LDFLAGS = -L/usr/local/pgsql/lib -lpq
|
CFLAGS = -g -Wall -I. -I$(PGEASY) -I$(INSTALLDIR)/include
|
||||||
|
LIBPGEASY = $(PGEASY)/libpgeasy.a
|
||||||
|
LDFLAGS = -L$(INSTALLDIR)/lib -lpq
|
||||||
|
|
||||||
all : $(TARGET)
|
all : $(TARGET)
|
||||||
|
|
||||||
findoidjoins: $(PGINTERFACE) findoidjoins.c
|
findoidjoins: findoidjoins.c $(LIBPGEASY)
|
||||||
gcc -o $@ $(CFLAGS) $@.c $(PGINTERFACE) $(LDFLAGS)
|
gcc -o $@ $(CFLAGS) $^ $(LDFLAGS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o $(TARGET) log core
|
rm -f *.o $(TARGET) log core
|
||||||
|
|
||||||
install:
|
install:
|
||||||
install -s -o bin -g bin $(TARGET) /usr/local/pgsql/bin
|
install -s -o bin -g bin $(TARGET) $(INSTALLDIR)/bin
|
||||||
|
|
||||||
|
@ -4,15 +4,15 @@
|
|||||||
This program scans a database, and prints oid fields (also regproc fields)
|
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
|
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
|
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.
|
Uses pgeasy library.
|
||||||
|
|
||||||
Run on an empty database, it returns the system join relationships (shown
|
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 system tables --- don't accept a peculiar match without question.
|
||||||
In particular, a field shown as joining to more than one target table is
|
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
|
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.)
|
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.ammarkpos => pg_proc.oid
|
||||||
Join pg_am.amrestrpos => pg_proc.oid
|
Join pg_am.amrestrpos => pg_proc.oid
|
||||||
Join pg_am.ambuild => 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.amopid => pg_am.oid
|
||||||
Join pg_amop.amopclaid => pg_opclass.oid
|
Join pg_amop.amopclaid => pg_opclass.oid
|
||||||
Join pg_amop.amopopr => pg_operator.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.amid => pg_am.oid
|
||||||
Join pg_amproc.amopclaid => pg_opclass.oid
|
Join pg_amproc.amopclaid => pg_opclass.oid
|
||||||
Join pg_amproc.amproc => pg_proc.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.prolang => pg_language.oid
|
||||||
Join pg_proc.prorettype => pg_type.oid
|
Join pg_proc.prorettype => pg_type.oid
|
||||||
Join pg_rewrite.ev_class => pg_class.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.typrelid => pg_class.oid
|
||||||
Join pg_type.typelem => pg_type.oid
|
Join pg_type.typelem => pg_type.oid
|
||||||
Join pg_type.typinput => pg_proc.oid
|
Join pg_type.typinput => pg_proc.oid
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
/*
|
/*
|
||||||
* findoidjoins.c, required pgsql/contrib/pginterface
|
* findoidjoins.c, requires src/interfaces/libpgeasy
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include "libpq-fe.h"
|
||||||
|
|
||||||
#include "halt.h"
|
#include "halt.h"
|
||||||
#include <libpq-fe.h>
|
#include "libpgeasy.h"
|
||||||
#include "pginterface.h"
|
|
||||||
|
|
||||||
PGresult *attres,
|
PGresult *attres,
|
||||||
*relres;
|
*relres;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user