summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/test/regress/expected/oidjoins.out441
-rw-r--r--src/test/regress/expected/opr_sanity.out39
-rw-r--r--src/test/regress/sql/oidjoins.sql415
3 files changed, 448 insertions, 447 deletions
diff --git a/src/test/regress/expected/oidjoins.out b/src/test/regress/expected/oidjoins.out
index 31e829556f..a42d3d89f0 100644
--- a/src/test/regress/expected/oidjoins.out
+++ b/src/test/regress/expected/oidjoins.out
@@ -1,403 +1,426 @@
--
--- OIDJOIN
-- This is created by pgsql/contrib/findoidjoins/make_oidjoin_check
--
-SELECT oid, pg_aggregate.aggtransfn1
- FROM pg_aggregate
- WHERE pg_aggregate.aggtransfn1 != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn1);
+SELECT oid, pg_aggregate.aggtransfn1
+FROM pg_aggregate
+WHERE pg_aggregate.aggtransfn1 != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn1);
oid | aggtransfn1
-----+-------------
(0 rows)
-SELECT oid, pg_aggregate.aggtransfn2
- FROM pg_aggregate
- WHERE pg_aggregate.aggtransfn2 != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn2);
+SELECT oid, pg_aggregate.aggtransfn2
+FROM pg_aggregate
+WHERE pg_aggregate.aggtransfn2 != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn2);
oid | aggtransfn2
-----+-------------
(0 rows)
-SELECT oid, pg_aggregate.aggfinalfn
- FROM pg_aggregate
- WHERE pg_aggregate.aggfinalfn != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggfinalfn);
+SELECT oid, pg_aggregate.aggfinalfn
+FROM pg_aggregate
+WHERE pg_aggregate.aggfinalfn != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggfinalfn);
oid | aggfinalfn
-----+------------
(0 rows)
-SELECT oid, pg_aggregate.aggbasetype
- FROM pg_aggregate
- WHERE pg_aggregate.aggbasetype != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggbasetype);
+SELECT oid, pg_aggregate.aggbasetype
+FROM pg_aggregate
+WHERE pg_aggregate.aggbasetype != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggbasetype);
oid | aggbasetype
-----+-------------
(0 rows)
-SELECT oid, pg_aggregate.aggtranstype1
- FROM pg_aggregate
- WHERE pg_aggregate.aggtranstype1 != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype1);
+SELECT oid, pg_aggregate.aggtranstype1
+FROM pg_aggregate
+WHERE pg_aggregate.aggtranstype1 != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype1);
oid | aggtranstype1
-----+---------------
(0 rows)
-SELECT oid, pg_aggregate.aggtranstype2
- FROM pg_aggregate
- WHERE pg_aggregate.aggtranstype2 != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype2);
+SELECT oid, pg_aggregate.aggtranstype2
+FROM pg_aggregate
+WHERE pg_aggregate.aggtranstype2 != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype2);
oid | aggtranstype2
-----+---------------
(0 rows)
-SELECT oid, pg_aggregate.aggfinaltype
- FROM pg_aggregate
- WHERE pg_aggregate.aggfinaltype != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggfinaltype);
+SELECT oid, pg_aggregate.aggfinaltype
+FROM pg_aggregate
+WHERE pg_aggregate.aggfinaltype != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggfinaltype);
oid | aggfinaltype
-----+--------------
(0 rows)
-SELECT oid, pg_am.amgettuple
- FROM pg_am
- WHERE pg_am.amgettuple != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amgettuple);
+SELECT oid, pg_am.amgettuple
+FROM pg_am
+WHERE pg_am.amgettuple != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amgettuple);
oid | amgettuple
-----+------------
(0 rows)
-SELECT oid, pg_am.aminsert
- FROM pg_am
- WHERE pg_am.aminsert != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.aminsert);
+SELECT oid, pg_am.aminsert
+FROM pg_am
+WHERE pg_am.aminsert != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.aminsert);
oid | aminsert
-----+----------
(0 rows)
-SELECT oid, pg_am.amdelete
- FROM pg_am
- WHERE pg_am.amdelete != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amdelete);
+SELECT oid, pg_am.amdelete
+FROM pg_am
+WHERE pg_am.amdelete != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amdelete);
oid | amdelete
-----+----------
(0 rows)
-SELECT oid, pg_am.ambeginscan
- FROM pg_am
- WHERE pg_am.ambeginscan != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambeginscan);
+SELECT oid, pg_am.ambeginscan
+FROM pg_am
+WHERE pg_am.ambeginscan != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambeginscan);
oid | ambeginscan
-----+-------------
(0 rows)
-SELECT oid, pg_am.amrescan
- FROM pg_am
- WHERE pg_am.amrescan != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrescan);
+SELECT oid, pg_am.amrescan
+FROM pg_am
+WHERE pg_am.amrescan != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrescan);
oid | amrescan
-----+----------
(0 rows)
-SELECT oid, pg_am.amendscan
- FROM pg_am
- WHERE pg_am.amendscan != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amendscan);
+SELECT oid, pg_am.amendscan
+FROM pg_am
+WHERE pg_am.amendscan != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amendscan);
oid | amendscan
-----+-----------
(0 rows)
-SELECT oid, pg_am.ammarkpos
- FROM pg_am
- WHERE pg_am.ammarkpos != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ammarkpos);
+SELECT oid, pg_am.ammarkpos
+FROM pg_am
+WHERE pg_am.ammarkpos != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ammarkpos);
oid | ammarkpos
-----+-----------
(0 rows)
-SELECT oid, pg_am.amrestrpos
- FROM pg_am
- WHERE pg_am.amrestrpos != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrestrpos);
+SELECT oid, pg_am.amrestrpos
+FROM pg_am
+WHERE pg_am.amrestrpos != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrestrpos);
oid | amrestrpos
-----+------------
(0 rows)
-SELECT oid, pg_am.ambuild
- FROM pg_am
- WHERE pg_am.ambuild != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambuild);
+SELECT oid, pg_am.ambuild
+FROM pg_am
+WHERE pg_am.ambuild != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambuild);
oid | ambuild
-----+---------
(0 rows)
-SELECT oid, pg_amop.amopid
- FROM pg_amop
- WHERE pg_amop.amopid != 0 AND
- NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amop.amopid);
+SELECT oid, pg_am.amcostestimate
+FROM pg_am
+WHERE pg_am.amcostestimate != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amcostestimate);
+ oid | amcostestimate
+-----+----------------
+(0 rows)
+
+SELECT oid, pg_amop.amopid
+FROM pg_amop
+WHERE pg_amop.amopid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amop.amopid);
oid | amopid
-----+--------
(0 rows)
-SELECT oid, pg_amop.amopclaid
- FROM pg_amop
- WHERE pg_amop.amopclaid != 0 AND
- NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amop.amopclaid);
+SELECT oid, pg_amop.amopclaid
+FROM pg_amop
+WHERE pg_amop.amopclaid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amop.amopclaid);
oid | amopclaid
-----+-----------
(0 rows)
-SELECT oid, pg_amop.amopopr
- FROM pg_amop
- WHERE pg_amop.amopopr != 0 AND
- NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_amop.amopopr);
+SELECT oid, pg_amop.amopopr
+FROM pg_amop
+WHERE pg_amop.amopopr != 0 AND
+ NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_amop.amopopr);
oid | amopopr
-----+---------
(0 rows)
-SELECT oid, pg_amop.amopselect
- FROM pg_amop
- WHERE pg_amop.amopselect != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amop.amopselect);
- oid | amopselect
------+------------
-(0 rows)
-
-SELECT oid, pg_amop.amopnpages
- FROM pg_amop
- WHERE pg_amop.amopnpages != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amop.amopnpages);
- oid | amopnpages
------+------------
-(0 rows)
-
-SELECT oid, pg_amproc.amid
- FROM pg_amproc
- WHERE pg_amproc.amid != 0 AND
- NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amproc.amid);
+SELECT oid, pg_amproc.amid
+FROM pg_amproc
+WHERE pg_amproc.amid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amproc.amid);
oid | amid
-----+------
(0 rows)
-SELECT oid, pg_amproc.amopclaid
- FROM pg_amproc
- WHERE pg_amproc.amopclaid != 0 AND
- NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amproc.amopclaid);
+SELECT oid, pg_amproc.amopclaid
+FROM pg_amproc
+WHERE pg_amproc.amopclaid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amproc.amopclaid);
oid | amopclaid
-----+-----------
(0 rows)
-SELECT oid, pg_amproc.amproc
- FROM pg_amproc
- WHERE pg_amproc.amproc != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amproc.amproc);
+SELECT oid, pg_amproc.amproc
+FROM pg_amproc
+WHERE pg_amproc.amproc != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amproc.amproc);
oid | amproc
-----+--------
(0 rows)
-SELECT oid, pg_attribute.attrelid
- FROM pg_attribute
- WHERE pg_attribute.attrelid != 0 AND
- NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_attribute.attrelid);
+SELECT oid, pg_attribute.attrelid
+FROM pg_attribute
+WHERE pg_attribute.attrelid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_attribute.attrelid);
oid | attrelid
-----+----------
(0 rows)
-SELECT oid, pg_attribute.atttypid
- FROM pg_attribute
- WHERE pg_attribute.atttypid != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_attribute.atttypid);
+SELECT oid, pg_attribute.atttypid
+FROM pg_attribute
+WHERE pg_attribute.atttypid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_attribute.atttypid);
oid | atttypid
-----+----------
(0 rows)
-SELECT oid, pg_class.reltype
- FROM pg_class
- WHERE pg_class.reltype != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_class.reltype);
+SELECT oid, pg_class.reltype
+FROM pg_class
+WHERE pg_class.reltype != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_class.reltype);
oid | reltype
-----+---------
(0 rows)
-SELECT oid, pg_class.relam
- FROM pg_class
- WHERE pg_class.relam != 0 AND
- NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_class.relam);
+SELECT oid, pg_class.relam
+FROM pg_class
+WHERE pg_class.relam != 0 AND
+ NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_class.relam);
oid | relam
-----+-------
(0 rows)
-SELECT oid, pg_index.indexrelid
- FROM pg_index
- WHERE pg_index.indexrelid != 0 AND
- NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indexrelid);
+SELECT oid, pg_index.indexrelid
+FROM pg_index
+WHERE pg_index.indexrelid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indexrelid);
oid | indexrelid
-----+------------
(0 rows)
-SELECT oid, pg_index.indrelid
- FROM pg_index
- WHERE pg_index.indrelid != 0 AND
- NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indrelid);
+SELECT oid, pg_index.indrelid
+FROM pg_index
+WHERE pg_index.indrelid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indrelid);
oid | indrelid
-----+----------
(0 rows)
-SELECT oid, pg_opclass.opcdeftype
- FROM pg_opclass
- WHERE pg_opclass.opcdeftype != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_opclass.opcdeftype);
+SELECT oid, pg_opclass.opcdeftype
+FROM pg_opclass
+WHERE pg_opclass.opcdeftype != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_opclass.opcdeftype);
oid | opcdeftype
-----+------------
(0 rows)
-SELECT oid, pg_operator.oprleft
- FROM pg_operator
- WHERE pg_operator.oprleft != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprleft);
+SELECT oid, pg_operator.oprleft
+FROM pg_operator
+WHERE pg_operator.oprleft != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprleft);
oid | oprleft
-----+---------
(0 rows)
-SELECT oid, pg_operator.oprright
- FROM pg_operator
- WHERE pg_operator.oprright != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprright);
+SELECT oid, pg_operator.oprright
+FROM pg_operator
+WHERE pg_operator.oprright != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprright);
oid | oprright
-----+----------
(0 rows)
-SELECT oid, pg_operator.oprresult
- FROM pg_operator
- WHERE pg_operator.oprresult != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprresult);
+SELECT oid, pg_operator.oprresult
+FROM pg_operator
+WHERE pg_operator.oprresult != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprresult);
oid | oprresult
-----+-----------
(0 rows)
-SELECT oid, pg_operator.oprcom
- FROM pg_operator
- WHERE pg_operator.oprcom != 0 AND
- NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprcom);
+SELECT oid, pg_operator.oprcom
+FROM pg_operator
+WHERE pg_operator.oprcom != 0 AND
+ NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprcom);
oid | oprcom
-----+--------
(0 rows)
-SELECT oid, pg_operator.oprnegate
- FROM pg_operator
- WHERE pg_operator.oprnegate != 0 AND
- NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprnegate);
+SELECT oid, pg_operator.oprnegate
+FROM pg_operator
+WHERE pg_operator.oprnegate != 0 AND
+ NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprnegate);
oid | oprnegate
-----+-----------
(0 rows)
-SELECT oid, pg_operator.oprlsortop
- FROM pg_operator
- WHERE pg_operator.oprlsortop != 0 AND
- NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprlsortop);
+SELECT oid, pg_operator.oprlsortop
+FROM pg_operator
+WHERE pg_operator.oprlsortop != 0 AND
+ NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprlsortop);
oid | oprlsortop
-----+------------
(0 rows)
-SELECT oid, pg_operator.oprrsortop
- FROM pg_operator
- WHERE pg_operator.oprrsortop != 0 AND
- NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprrsortop);
+SELECT oid, pg_operator.oprrsortop
+FROM pg_operator
+WHERE pg_operator.oprrsortop != 0 AND
+ NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprrsortop);
oid | oprrsortop
-----+------------
(0 rows)
-SELECT oid, pg_operator.oprcode
- FROM pg_operator
- WHERE pg_operator.oprcode != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprcode);
+SELECT oid, pg_operator.oprcode
+FROM pg_operator
+WHERE pg_operator.oprcode != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprcode);
oid | oprcode
-----+---------
(0 rows)
-SELECT oid, pg_operator.oprrest
- FROM pg_operator
- WHERE pg_operator.oprrest != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprrest);
+SELECT oid, pg_operator.oprrest
+FROM pg_operator
+WHERE pg_operator.oprrest != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprrest);
oid | oprrest
-----+---------
(0 rows)
-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_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);
oid | oprjoin
-----+---------
(0 rows)
-SELECT oid, pg_proc.prolang
- FROM pg_proc
- WHERE pg_proc.prolang != 0 AND
- NOT EXISTS(SELECT * FROM pg_language AS t1 WHERE t1.oid = pg_proc.prolang);
+SELECT oid, pg_proc.prolang
+FROM pg_proc
+WHERE pg_proc.prolang != 0 AND
+ NOT EXISTS(SELECT * FROM pg_language AS t1 WHERE t1.oid = pg_proc.prolang);
oid | prolang
-----+---------
(0 rows)
-SELECT oid, pg_proc.prorettype
- FROM pg_proc
- WHERE pg_proc.prorettype != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_proc.prorettype);
+SELECT oid, pg_proc.prorettype
+FROM pg_proc
+WHERE pg_proc.prorettype != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_proc.prorettype);
oid | prorettype
-----+------------
(0 rows)
-SELECT oid, pg_rewrite.ev_class
- FROM pg_rewrite
- WHERE pg_rewrite.ev_class != 0 AND
- NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_rewrite.ev_class);
+SELECT oid, pg_rewrite.ev_class
+FROM pg_rewrite
+WHERE pg_rewrite.ev_class != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_rewrite.ev_class);
oid | ev_class
-----+----------
(0 rows)
-SELECT oid, pg_type.typrelid
- FROM pg_type
- WHERE pg_type.typrelid != 0 AND
- NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_type.typrelid);
+SELECT oid, pg_statistic.starelid
+FROM pg_statistic
+WHERE pg_statistic.starelid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_statistic.starelid);
+ oid | starelid
+-----+----------
+(0 rows)
+
+SELECT oid, pg_statistic.staop
+FROM pg_statistic
+WHERE pg_statistic.staop != 0 AND
+ NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_statistic.staop);
+ oid | staop
+-----+-------
+(0 rows)
+
+SELECT oid, pg_trigger.tgrelid
+FROM pg_trigger
+WHERE pg_trigger.tgrelid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_trigger.tgrelid);
+ oid | tgrelid
+-----+---------
+(0 rows)
+
+SELECT oid, pg_trigger.tgfoid
+FROM pg_trigger
+WHERE pg_trigger.tgfoid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_trigger.tgfoid);
+ oid | tgfoid
+-----+--------
+(0 rows)
+
+SELECT oid, pg_type.typrelid
+FROM pg_type
+WHERE pg_type.typrelid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_type.typrelid);
oid | typrelid
-----+----------
(0 rows)
-SELECT oid, pg_type.typelem
- FROM pg_type
- WHERE pg_type.typelem != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_type.typelem);
+SELECT oid, pg_type.typelem
+FROM pg_type
+WHERE pg_type.typelem != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_type.typelem);
oid | typelem
-----+---------
(0 rows)
-SELECT oid, pg_type.typinput
- FROM pg_type
- WHERE pg_type.typinput != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typinput);
+SELECT oid, pg_type.typinput
+FROM pg_type
+WHERE pg_type.typinput != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typinput);
oid | typinput
-----+----------
(0 rows)
-SELECT oid, pg_type.typoutput
- FROM pg_type
- WHERE pg_type.typoutput != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typoutput);
+SELECT oid, pg_type.typoutput
+FROM pg_type
+WHERE pg_type.typoutput != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typoutput);
oid | typoutput
-----+-----------
(0 rows)
-SELECT oid, pg_type.typreceive
- FROM pg_type
- WHERE pg_type.typreceive != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typreceive);
+SELECT oid, pg_type.typreceive
+FROM pg_type
+WHERE pg_type.typreceive != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typreceive);
oid | typreceive
-----+------------
(0 rows)
-SELECT oid, pg_type.typsend
- FROM pg_type
- WHERE pg_type.typsend != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typsend);
+SELECT oid, pg_type.typsend
+FROM pg_type
+WHERE pg_type.typsend != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typsend);
oid | typsend
-----+---------
(0 rows)
diff --git a/src/test/regress/expected/opr_sanity.out b/src/test/regress/expected/opr_sanity.out
index bede9c1ff9..5adf28926c 100644
--- a/src/test/regress/expected/opr_sanity.out
+++ b/src/test/regress/expected/opr_sanity.out
@@ -21,12 +21,15 @@
--
-- **************** pg_proc ****************
-- Look for illegal values in pg_proc fields.
+-- NOTE: currently there are a few pg_proc entries that have prorettype = 0.
+-- Someday that ought to be cleaned up.
SELECT p1.oid, p1.proname
FROM pg_proc as p1
WHERE (p1.prolang = 0 OR p1.prorettype = 0 OR
p1.pronargs < 0 OR p1.pronargs > 9)
AND p1.proname !~ '^pl[^_]+_call_handler$'
AND p1.proname !~ '^RI_FKey_'
+ AND p1.proname !~ 'costestimate$'
AND p1.proname != 'update_pg_pwd';
oid | proname
-----+---------
@@ -504,7 +507,7 @@ WHERE p1.aggfinalfn = p2.oid AND
SELECT p1.oid
FROM pg_amop as p1
WHERE p1.amopid = 0 OR p1.amopclaid = 0 OR p1.amopopr = 0 OR
- p1.amopstrategy <= 0 OR p1.amopselect = 0 OR p1.amopnpages = 0;
+ p1.amopstrategy <= 0;
oid
-----
(0 rows)
@@ -560,40 +563,6 @@ WHERE p1.amopopr = p2.oid AND p1.amopclaid = p3.oid AND
-----+-----+---------+-----+---------
(0 rows)
--- Check that amopselect points to a proc with the right signature
--- to be an access-method selectivity estimator.
--- The proc signature we want is:
--- float8 proc(oid, oid, int2, <any>, int4, int4, oid)
-SELECT p1.oid, p2.oid, p2.proname
-FROM pg_amop AS p1, pg_proc AS p2
-WHERE p1.amopselect = p2.oid AND
- (p2.prorettype != 701 OR p2.proretset OR
- p2.pronargs != 7 OR
- p2.proargtypes[0] != 26 OR p2.proargtypes[1] != 26 OR
- p2.proargtypes[2] != 21 OR p2.proargtypes[3] != 0 OR
- p2.proargtypes[4] != 23 OR p2.proargtypes[5] != 23 OR
- p2.proargtypes[6] != 26);
- oid | oid | proname
------+-----+---------
-(0 rows)
-
--- Check that amopnpages points to a proc with the right signature
--- to be an access-method page-count estimator.
--- The proc signature we want is:
--- float8 proc(oid, oid, int2, <any>, int4, int4, oid)
-SELECT p1.oid, p2.oid, p2.proname
-FROM pg_amop AS p1, pg_proc AS p2
-WHERE p1.amopnpages = p2.oid AND
- (p2.prorettype != 701 OR p2.proretset OR
- p2.pronargs != 7 OR
- p2.proargtypes[0] != 26 OR p2.proargtypes[1] != 26 OR
- p2.proargtypes[2] != 21 OR p2.proargtypes[3] != 0 OR
- p2.proargtypes[4] != 23 OR p2.proargtypes[5] != 23 OR
- p2.proargtypes[6] != 26);
- oid | oid | proname
------+-----+---------
-(0 rows)
-
-- **************** pg_amproc ****************
-- Look for illegal values in pg_amproc fields
SELECT p1.oid
diff --git a/src/test/regress/sql/oidjoins.sql b/src/test/regress/sql/oidjoins.sql
index 27b6034a33..7c6b4d99ef 100644
--- a/src/test/regress/sql/oidjoins.sql
+++ b/src/test/regress/sql/oidjoins.sql
@@ -1,206 +1,215 @@
--
--- OIDJOIN
-- This is created by pgsql/contrib/findoidjoins/make_oidjoin_check
--
-
-SELECT oid, pg_aggregate.aggtransfn1
- FROM pg_aggregate
- WHERE pg_aggregate.aggtransfn1 != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn1);
-SELECT oid, pg_aggregate.aggtransfn2
- FROM pg_aggregate
- WHERE pg_aggregate.aggtransfn2 != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn2);
-SELECT oid, pg_aggregate.aggfinalfn
- FROM pg_aggregate
- WHERE pg_aggregate.aggfinalfn != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggfinalfn);
-SELECT oid, pg_aggregate.aggbasetype
- FROM pg_aggregate
- WHERE pg_aggregate.aggbasetype != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggbasetype);
-SELECT oid, pg_aggregate.aggtranstype1
- FROM pg_aggregate
- WHERE pg_aggregate.aggtranstype1 != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype1);
-SELECT oid, pg_aggregate.aggtranstype2
- FROM pg_aggregate
- WHERE pg_aggregate.aggtranstype2 != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype2);
-SELECT oid, pg_aggregate.aggfinaltype
- FROM pg_aggregate
- WHERE pg_aggregate.aggfinaltype != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggfinaltype);
-SELECT oid, pg_am.amgettuple
- FROM pg_am
- WHERE pg_am.amgettuple != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amgettuple);
-SELECT oid, pg_am.aminsert
- FROM pg_am
- WHERE pg_am.aminsert != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.aminsert);
-SELECT oid, pg_am.amdelete
- FROM pg_am
- WHERE pg_am.amdelete != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amdelete);
-SELECT oid, pg_am.ambeginscan
- FROM pg_am
- WHERE pg_am.ambeginscan != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambeginscan);
-SELECT oid, pg_am.amrescan
- FROM pg_am
- WHERE pg_am.amrescan != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrescan);
-SELECT oid, pg_am.amendscan
- FROM pg_am
- WHERE pg_am.amendscan != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amendscan);
-SELECT oid, pg_am.ammarkpos
- FROM pg_am
- WHERE pg_am.ammarkpos != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ammarkpos);
-SELECT oid, pg_am.amrestrpos
- FROM pg_am
- WHERE pg_am.amrestrpos != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrestrpos);
-SELECT oid, pg_am.ambuild
- FROM pg_am
- WHERE pg_am.ambuild != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambuild);
-SELECT oid, pg_amop.amopid
- FROM pg_amop
- WHERE pg_amop.amopid != 0 AND
- NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amop.amopid);
-SELECT oid, pg_amop.amopclaid
- FROM pg_amop
- WHERE pg_amop.amopclaid != 0 AND
- NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amop.amopclaid);
-SELECT oid, pg_amop.amopopr
- FROM pg_amop
- WHERE pg_amop.amopopr != 0 AND
- NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_amop.amopopr);
-SELECT oid, pg_amop.amopselect
- FROM pg_amop
- WHERE pg_amop.amopselect != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amop.amopselect);
-SELECT oid, pg_amop.amopnpages
- FROM pg_amop
- WHERE pg_amop.amopnpages != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amop.amopnpages);
-SELECT oid, pg_amproc.amid
- FROM pg_amproc
- WHERE pg_amproc.amid != 0 AND
- NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amproc.amid);
-SELECT oid, pg_amproc.amopclaid
- FROM pg_amproc
- WHERE pg_amproc.amopclaid != 0 AND
- NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amproc.amopclaid);
-SELECT oid, pg_amproc.amproc
- FROM pg_amproc
- WHERE pg_amproc.amproc != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amproc.amproc);
-SELECT oid, pg_attribute.attrelid
- FROM pg_attribute
- WHERE pg_attribute.attrelid != 0 AND
- NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_attribute.attrelid);
-SELECT oid, pg_attribute.atttypid
- FROM pg_attribute
- WHERE pg_attribute.atttypid != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_attribute.atttypid);
-SELECT oid, pg_class.reltype
- FROM pg_class
- WHERE pg_class.reltype != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_class.reltype);
-SELECT oid, pg_class.relam
- FROM pg_class
- WHERE pg_class.relam != 0 AND
- NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_class.relam);
-SELECT oid, pg_index.indexrelid
- FROM pg_index
- WHERE pg_index.indexrelid != 0 AND
- NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indexrelid);
-SELECT oid, pg_index.indrelid
- FROM pg_index
- WHERE pg_index.indrelid != 0 AND
- NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indrelid);
-SELECT oid, pg_opclass.opcdeftype
- FROM pg_opclass
- WHERE pg_opclass.opcdeftype != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_opclass.opcdeftype);
-SELECT oid, pg_operator.oprleft
- FROM pg_operator
- WHERE pg_operator.oprleft != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprleft);
-SELECT oid, pg_operator.oprright
- FROM pg_operator
- WHERE pg_operator.oprright != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprright);
-SELECT oid, pg_operator.oprresult
- FROM pg_operator
- WHERE pg_operator.oprresult != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprresult);
-SELECT oid, pg_operator.oprcom
- FROM pg_operator
- WHERE pg_operator.oprcom != 0 AND
- NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprcom);
-SELECT oid, pg_operator.oprnegate
- FROM pg_operator
- WHERE pg_operator.oprnegate != 0 AND
- NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprnegate);
-SELECT oid, pg_operator.oprlsortop
- FROM pg_operator
- WHERE pg_operator.oprlsortop != 0 AND
- NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprlsortop);
-SELECT oid, pg_operator.oprrsortop
- FROM pg_operator
- WHERE pg_operator.oprrsortop != 0 AND
- NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprrsortop);
-SELECT oid, pg_operator.oprcode
- FROM pg_operator
- WHERE pg_operator.oprcode != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprcode);
-SELECT oid, pg_operator.oprrest
- FROM pg_operator
- WHERE pg_operator.oprrest != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprrest);
-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_proc.prolang
- FROM pg_proc
- WHERE pg_proc.prolang != 0 AND
- NOT EXISTS(SELECT * FROM pg_language AS t1 WHERE t1.oid = pg_proc.prolang);
-SELECT oid, pg_proc.prorettype
- FROM pg_proc
- WHERE pg_proc.prorettype != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_proc.prorettype);
-SELECT oid, pg_rewrite.ev_class
- FROM pg_rewrite
- WHERE pg_rewrite.ev_class != 0 AND
- NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_rewrite.ev_class);
-SELECT oid, pg_type.typrelid
- FROM pg_type
- WHERE pg_type.typrelid != 0 AND
- NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_type.typrelid);
-SELECT oid, pg_type.typelem
- FROM pg_type
- WHERE pg_type.typelem != 0 AND
- NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_type.typelem);
-SELECT oid, pg_type.typinput
- FROM pg_type
- WHERE pg_type.typinput != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typinput);
-SELECT oid, pg_type.typoutput
- FROM pg_type
- WHERE pg_type.typoutput != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typoutput);
-SELECT oid, pg_type.typreceive
- FROM pg_type
- WHERE pg_type.typreceive != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typreceive);
-SELECT oid, pg_type.typsend
- FROM pg_type
- WHERE pg_type.typsend != 0 AND
- NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typsend);
-
+SELECT oid, pg_aggregate.aggtransfn1
+FROM pg_aggregate
+WHERE pg_aggregate.aggtransfn1 != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn1);
+SELECT oid, pg_aggregate.aggtransfn2
+FROM pg_aggregate
+WHERE pg_aggregate.aggtransfn2 != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn2);
+SELECT oid, pg_aggregate.aggfinalfn
+FROM pg_aggregate
+WHERE pg_aggregate.aggfinalfn != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggfinalfn);
+SELECT oid, pg_aggregate.aggbasetype
+FROM pg_aggregate
+WHERE pg_aggregate.aggbasetype != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggbasetype);
+SELECT oid, pg_aggregate.aggtranstype1
+FROM pg_aggregate
+WHERE pg_aggregate.aggtranstype1 != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype1);
+SELECT oid, pg_aggregate.aggtranstype2
+FROM pg_aggregate
+WHERE pg_aggregate.aggtranstype2 != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype2);
+SELECT oid, pg_aggregate.aggfinaltype
+FROM pg_aggregate
+WHERE pg_aggregate.aggfinaltype != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggfinaltype);
+SELECT oid, pg_am.amgettuple
+FROM pg_am
+WHERE pg_am.amgettuple != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amgettuple);
+SELECT oid, pg_am.aminsert
+FROM pg_am
+WHERE pg_am.aminsert != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.aminsert);
+SELECT oid, pg_am.amdelete
+FROM pg_am
+WHERE pg_am.amdelete != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amdelete);
+SELECT oid, pg_am.ambeginscan
+FROM pg_am
+WHERE pg_am.ambeginscan != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambeginscan);
+SELECT oid, pg_am.amrescan
+FROM pg_am
+WHERE pg_am.amrescan != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrescan);
+SELECT oid, pg_am.amendscan
+FROM pg_am
+WHERE pg_am.amendscan != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amendscan);
+SELECT oid, pg_am.ammarkpos
+FROM pg_am
+WHERE pg_am.ammarkpos != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ammarkpos);
+SELECT oid, pg_am.amrestrpos
+FROM pg_am
+WHERE pg_am.amrestrpos != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrestrpos);
+SELECT oid, pg_am.ambuild
+FROM pg_am
+WHERE pg_am.ambuild != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambuild);
+SELECT oid, pg_am.amcostestimate
+FROM pg_am
+WHERE pg_am.amcostestimate != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amcostestimate);
+SELECT oid, pg_amop.amopid
+FROM pg_amop
+WHERE pg_amop.amopid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amop.amopid);
+SELECT oid, pg_amop.amopclaid
+FROM pg_amop
+WHERE pg_amop.amopclaid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amop.amopclaid);
+SELECT oid, pg_amop.amopopr
+FROM pg_amop
+WHERE pg_amop.amopopr != 0 AND
+ NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_amop.amopopr);
+SELECT oid, pg_amproc.amid
+FROM pg_amproc
+WHERE pg_amproc.amid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amproc.amid);
+SELECT oid, pg_amproc.amopclaid
+FROM pg_amproc
+WHERE pg_amproc.amopclaid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amproc.amopclaid);
+SELECT oid, pg_amproc.amproc
+FROM pg_amproc
+WHERE pg_amproc.amproc != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amproc.amproc);
+SELECT oid, pg_attribute.attrelid
+FROM pg_attribute
+WHERE pg_attribute.attrelid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_attribute.attrelid);
+SELECT oid, pg_attribute.atttypid
+FROM pg_attribute
+WHERE pg_attribute.atttypid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_attribute.atttypid);
+SELECT oid, pg_class.reltype
+FROM pg_class
+WHERE pg_class.reltype != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_class.reltype);
+SELECT oid, pg_class.relam
+FROM pg_class
+WHERE pg_class.relam != 0 AND
+ NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_class.relam);
+SELECT oid, pg_index.indexrelid
+FROM pg_index
+WHERE pg_index.indexrelid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indexrelid);
+SELECT oid, pg_index.indrelid
+FROM pg_index
+WHERE pg_index.indrelid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indrelid);
+SELECT oid, pg_opclass.opcdeftype
+FROM pg_opclass
+WHERE pg_opclass.opcdeftype != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_opclass.opcdeftype);
+SELECT oid, pg_operator.oprleft
+FROM pg_operator
+WHERE pg_operator.oprleft != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprleft);
+SELECT oid, pg_operator.oprright
+FROM pg_operator
+WHERE pg_operator.oprright != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprright);
+SELECT oid, pg_operator.oprresult
+FROM pg_operator
+WHERE pg_operator.oprresult != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprresult);
+SELECT oid, pg_operator.oprcom
+FROM pg_operator
+WHERE pg_operator.oprcom != 0 AND
+ NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprcom);
+SELECT oid, pg_operator.oprnegate
+FROM pg_operator
+WHERE pg_operator.oprnegate != 0 AND
+ NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprnegate);
+SELECT oid, pg_operator.oprlsortop
+FROM pg_operator
+WHERE pg_operator.oprlsortop != 0 AND
+ NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprlsortop);
+SELECT oid, pg_operator.oprrsortop
+FROM pg_operator
+WHERE pg_operator.oprrsortop != 0 AND
+ NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprrsortop);
+SELECT oid, pg_operator.oprcode
+FROM pg_operator
+WHERE pg_operator.oprcode != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprcode);
+SELECT oid, pg_operator.oprrest
+FROM pg_operator
+WHERE pg_operator.oprrest != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprrest);
+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_proc.prolang
+FROM pg_proc
+WHERE pg_proc.prolang != 0 AND
+ NOT EXISTS(SELECT * FROM pg_language AS t1 WHERE t1.oid = pg_proc.prolang);
+SELECT oid, pg_proc.prorettype
+FROM pg_proc
+WHERE pg_proc.prorettype != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_proc.prorettype);
+SELECT oid, pg_rewrite.ev_class
+FROM pg_rewrite
+WHERE pg_rewrite.ev_class != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_rewrite.ev_class);
+SELECT oid, pg_statistic.starelid
+FROM pg_statistic
+WHERE pg_statistic.starelid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_statistic.starelid);
+SELECT oid, pg_statistic.staop
+FROM pg_statistic
+WHERE pg_statistic.staop != 0 AND
+ NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_statistic.staop);
+SELECT oid, pg_trigger.tgrelid
+FROM pg_trigger
+WHERE pg_trigger.tgrelid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_trigger.tgrelid);
+SELECT oid, pg_trigger.tgfoid
+FROM pg_trigger
+WHERE pg_trigger.tgfoid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_trigger.tgfoid);
+SELECT oid, pg_type.typrelid
+FROM pg_type
+WHERE pg_type.typrelid != 0 AND
+ NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_type.typrelid);
+SELECT oid, pg_type.typelem
+FROM pg_type
+WHERE pg_type.typelem != 0 AND
+ NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_type.typelem);
+SELECT oid, pg_type.typinput
+FROM pg_type
+WHERE pg_type.typinput != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typinput);
+SELECT oid, pg_type.typoutput
+FROM pg_type
+WHERE pg_type.typoutput != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typoutput);
+SELECT oid, pg_type.typreceive
+FROM pg_type
+WHERE pg_type.typreceive != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typreceive);
+SELECT oid, pg_type.typsend
+FROM pg_type
+WHERE pg_type.typsend != 0 AND
+ NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typsend);