Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
763a7ab6
Commit
763a7ab6
authored
Mar 27, 1999
by
Tom Lane
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Delete unused system table pg_parg.
parent
7cb2fd65
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
17 additions
and
145 deletions
+17
-145
contrib/findoidjoins/README
contrib/findoidjoins/README
+15
-14
src/backend/catalog/Makefile
src/backend/catalog/Makefile
+2
-2
src/include/catalog/pg_parg.h
src/include/catalog/pg_parg.h
+0
-117
src/test/regress/expected/oidjoins.out
src/test/regress/expected/oidjoins.out
+0
-8
src/test/regress/sql/oidjoins.sql
src/test/regress/sql/oidjoins.sql
+0
-4
No files found.
contrib/findoidjoins/README
View file @
763a7ab6
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
...
...
src/backend/catalog/Makefile
View file @
763a7ab6
...
...
@@ -4,7 +4,7 @@
# Makefile for catalog
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/backend/catalog/Makefile,v 1.1
6 1999/01/18 06:32:24 momjian
Exp $
# $Header: /cvsroot/pgsql/src/backend/catalog/Makefile,v 1.1
7 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
\
)
...
...
src/include/catalog/pg_parg.h
deleted
100644 → 0
View file @
7cb2fd65
/*-------------------------------------------------------------------------
*
* 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 */
src/test/regress/expected/oidjoins.out
View file @
763a7ab6
...
...
@@ -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
...
...
src/test/regress/sql/oidjoins.sql
View file @
763a7ab6
...
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment