Delete unused system table pg_parg.

This commit is contained in:
Tom Lane 1999-03-27 17:26:26 +00:00
parent 7cb2fd6577
commit 763a7ab6b0
5 changed files with 17 additions and 145 deletions

View File

@ -1,23 +1,27 @@
findoidjoins
This program scans a database, and prints oid 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.
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 requires pgsql/contrib/pginterface to be compiled first.
Run on an empty database, it returns the system join relationships
(shown below for 6.5). 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.
Run on an empty database, it returns the system join relationships (shown
below for 6.5). 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
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.)
The shell script make_oidjoins_check converts findoidjoins' output
into an SQL script that checks for dangling links (entries in an
OID column that don't match any row in the expected table).
The result of this script should be installed as the "oidjoins"
OID or REGPROC column that don't match any row in the expected table).
Note that fields joining to more than one table are NOT processed.
The result of make_oidjoins_check should be installed as the "oidjoins"
regression test. The oidjoins test should be updated after any
revision in the patterns of cross-links between system tables.
(Ideally we'd just regenerate the script as part of the regression
@ -68,9 +72,6 @@ Join pg_operator.oprrsortop => pg_operator.oid
Join pg_operator.oprcode => pg_proc.oid
Join pg_operator.oprrest => pg_proc.oid
Join pg_operator.oprjoin => pg_proc.oid
Join pg_parg.parproid => pg_operator.oid
Join pg_parg.parproid => pg_proc.oid
Join pg_parg.partype => pg_type.oid
Join pg_proc.prolang => pg_language.oid
Join pg_proc.prorettype => pg_type.oid
Join pg_rewrite.ev_class => pg_class.oid

View File

@ -4,7 +4,7 @@
# Makefile for catalog
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/backend/catalog/Makefile,v 1.16 1999/01/18 06:32:24 momjian Exp $
# $Header: /cvsroot/pgsql/src/backend/catalog/Makefile,v 1.17 1999/03/27 17:25:09 tgl Exp $
#
#-------------------------------------------------------------------------
@ -33,7 +33,7 @@ LOCALBKI_SRCS= $(addprefix ../../include/catalog/, \
pg_proc.h pg_type.h pg_attribute.h pg_class.h \
pg_inherits.h pg_index.h pg_statistic.h \
pg_operator.h pg_opclass.h pg_am.h pg_amop.h pg_amproc.h \
pg_language.h pg_parg.h \
pg_language.h \
pg_aggregate.h pg_ipl.h pg_inheritproc.h \
pg_rewrite.h pg_listener.h pg_description.h indexing.h \
)

View File

@ -1,117 +0,0 @@
/*-------------------------------------------------------------------------
*
* pg_parg.h
* definition of the system "parg" relation (pg_parg)
* along with the relation's initial contents.
*
* [whatever this relation was, it doesn't seem to be used anymore --djm]
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_parg.h,v 1.7 1999/02/13 23:21:12 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
* information from the DATA() statements.
*
*-------------------------------------------------------------------------
*/
#ifndef PG_PARG_H
#define PG_PARG_H
/* ----------------
* postgres.h contains the system type definintions and the
* CATALOG(), BOOTSTRAP and DATA() sugar words so this file
* can be read by both genbki.sh and the C compiler.
* ----------------
*/
/* ----------------
* pg_parg definition. cpp turns this into
* typedef struct FormData_pg_parg
* ----------------
*/
CATALOG(pg_parg)
{
Oid parproid;
int2 parnum;
char parbound;
Oid partype;
} FormData_pg_parg;
/* ----------------
* Form_pg_parg corresponds to a pointer to a tuple with
* the format of pg_parg relation.
* ----------------
*/
typedef FormData_pg_parg *Form_pg_parg;
/* ----------------
* compiler constants for pg_parg
* ----------------
*/
#define Natts_pg_parg 4
#define Anum_pg_parg_parproid 1
#define Anum_pg_parg_parnum 2
#define Anum_pg_parg_parbound 3
#define Anum_pg_parg_partype 4
/* ----------------
* initial contents of pg_parg
* ----------------
*/
DATA(insert OID = 0 ( 1242 1 - 23 ));
DATA(insert OID = 0 ( 1243 1 - 16 ));
DATA(insert OID = 0 ( 1244 1 - 23 ));
DATA(insert OID = 0 ( 31 1 - 17 ));
DATA(insert OID = 0 ( 1245 1 - 23 ));
DATA(insert OID = 0 ( 33 1 - 18 ));
DATA(insert OID = 0 ( 34 1 - 23 ));
DATA(insert OID = 0 ( 35 1 - 19 ));
DATA(insert OID = 0 ( 36 1 - 23 ));
DATA(insert OID = 0 ( 37 1 - 20 ));
DATA(insert OID = 0 ( 38 1 - 23 ));
DATA(insert OID = 0 ( 39 1 - 21 ));
DATA(insert OID = 0 ( 40 1 - 23 ));
DATA(insert OID = 0 ( 41 1 - 22 ));
DATA(insert OID = 0 ( 42 1 - 23 ));
DATA(insert OID = 0 ( 43 1 - 23 ));
DATA(insert OID = 0 ( 44 1 - 23 ));
DATA(insert OID = 0 ( 45 1 - 24 ));
DATA(insert OID = 0 ( 46 1 - 23 ));
DATA(insert OID = 0 ( 47 1 - 25 ));
DATA(insert OID = 0 ( 50 1 - 23 ));
DATA(insert OID = 0 ( 50 2 - 23 ));
DATA(insert OID = 0 ( 50 3 - 23 ));
DATA(insert OID = 0 ( 51 1 - 23 ));
DATA(insert OID = 0 ( 52 1 - 23 ));
DATA(insert OID = 0 ( 52 2 - 23 ));
DATA(insert OID = 0 ( 52 3 - 23 ));
DATA(insert OID = 0 ( 52 4 - 23 ));
DATA(insert OID = 0 ( 53 1 - 23 ));
DATA(insert OID = 0 ( 54 1 - 23 ));
DATA(insert OID = 0 ( 54 2 - 23 ));
DATA(insert OID = 0 ( 55 1 - 23 ));
DATA(insert OID = 0 ( 55 2 - 23 ));
DATA(insert OID = 0 ( 56 1 - 23 ));
DATA(insert OID = 0 ( 56 2 - 23 ));
DATA(insert OID = 0 ( 57 1 - 23 ));
DATA(insert OID = 0 ( 57 2 - 23 ));
DATA(insert OID = 0 ( 57 3 - 23 ));
DATA(insert OID = 0 ( 60 1 - 16 ));
DATA(insert OID = 0 ( 60 2 - 16 ));
DATA(insert OID = 0 ( 61 1 - 18 ));
DATA(insert OID = 0 ( 61 2 - 18 ));
DATA(insert OID = 0 ( 63 1 - 21 ));
DATA(insert OID = 0 ( 63 2 - 21 ));
DATA(insert OID = 0 ( 64 1 - 21 ));
DATA(insert OID = 0 ( 64 2 - 21 ));
DATA(insert OID = 0 ( 65 1 - 23 ));
DATA(insert OID = 0 ( 65 2 - 23 ));
DATA(insert OID = 0 ( 66 1 - 23 ));
DATA(insert OID = 0 ( 66 2 - 23 ));
DATA(insert OID = 0 ( 67 1 - 25 ));
DATA(insert OID = 0 ( 67 2 - 25 ));
#endif /* PG_PARG_H */

View File

@ -326,14 +326,6 @@ oid|oprjoin
---+-------
(0 rows)
QUERY: SELECT oid, pg_parg.partype
FROM pg_parg
WHERE pg_parg.partype != 0 AND
NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_parg.partype);
oid|partype
---+-------
(0 rows)
QUERY: SELECT oid, pg_proc.prolang
FROM pg_proc
WHERE pg_proc.prolang != 0 AND

View File

@ -165,10 +165,6 @@ SELECT oid, pg_operator.oprjoin
FROM pg_operator
WHERE pg_operator.oprjoin != 0 AND
NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprjoin);
SELECT oid, pg_parg.partype
FROM pg_parg
WHERE pg_parg.partype != 0 AND
NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_parg.partype);
SELECT oid, pg_proc.prolang
FROM pg_proc
WHERE pg_proc.prolang != 0 AND