diff --git a/src/test/regress/expected/oidjoins.out b/src/test/regress/expected/oidjoins.out index c57721958ff58425c03d53aaec7c93d73fcc75f7..1a31656c4a0e2b95a47e8a07a20258e4f300c17c 100644 --- a/src/test/regress/expected/oidjoins.out +++ b/src/test/regress/expected/oidjoins.out @@ -1,5 +1,5 @@ -- --- This is created by pgsql/contrib/findoidjoins/make_oidjoin_check +-- This is created by pgsql/src/tools/findoidjoins/make_oidjoins_check -- SELECT ctid, aggfnoid FROM pg_catalog.pg_aggregate fk @@ -41,6 +41,14 @@ WHERE aggtranstype != 0 AND ------+-------------- (0 rows) +SELECT ctid, amkeytype +FROM pg_catalog.pg_am fk +WHERE amkeytype != 0 AND + NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.amkeytype); + ctid | amkeytype +------+----------- +(0 rows) + SELECT ctid, aminsert FROM pg_catalog.pg_am fk WHERE aminsert != 0 AND @@ -921,6 +929,14 @@ WHERE typmodout != 0 AND ------+----------- (0 rows) +SELECT ctid, typanalyze +FROM pg_catalog.pg_type fk +WHERE typanalyze != 0 AND + NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.typanalyze); + ctid | typanalyze +------+------------ +(0 rows) + SELECT ctid, typbasetype FROM pg_catalog.pg_type fk WHERE typbasetype != 0 AND diff --git a/src/test/regress/sql/oidjoins.sql b/src/test/regress/sql/oidjoins.sql index 7a072d4fd3dcd13efc22e09b1b8cea39af69fd0a..2e5400f133b151a1b484495faed27e5cdb776777 100644 --- a/src/test/regress/sql/oidjoins.sql +++ b/src/test/regress/sql/oidjoins.sql @@ -1,5 +1,5 @@ -- --- This is created by pgsql/contrib/findoidjoins/make_oidjoin_check +-- This is created by pgsql/src/tools/findoidjoins/make_oidjoins_check -- SELECT ctid, aggfnoid FROM pg_catalog.pg_aggregate fk @@ -21,6 +21,10 @@ SELECT ctid, aggtranstype FROM pg_catalog.pg_aggregate fk WHERE aggtranstype != 0 AND NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.aggtranstype); +SELECT ctid, amkeytype +FROM pg_catalog.pg_am fk +WHERE amkeytype != 0 AND + NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.amkeytype); SELECT ctid, aminsert FROM pg_catalog.pg_am fk WHERE aminsert != 0 AND @@ -461,6 +465,10 @@ SELECT ctid, typmodout FROM pg_catalog.pg_type fk WHERE typmodout != 0 AND NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.typmodout); +SELECT ctid, typanalyze +FROM pg_catalog.pg_type fk +WHERE typanalyze != 0 AND + NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.typanalyze); SELECT ctid, typbasetype FROM pg_catalog.pg_type fk WHERE typbasetype != 0 AND diff --git a/src/tools/findoidjoins/README b/src/tools/findoidjoins/README index 8feeb6909696e73daa28f439c81d16c8c654d3d1..70b20c504ca6a2b30819802076fc40e859d30ab9 100644 --- a/src/tools/findoidjoins/README +++ b/src/tools/findoidjoins/README @@ -1,4 +1,4 @@ -$PostgreSQL: pgsql/src/tools/findoidjoins/README,v 1.5 2008/03/21 13:23:29 momjian Exp $ +$PostgreSQL: pgsql/src/tools/findoidjoins/README,v 1.6 2008/10/13 12:59:57 tgl Exp $ findoidjoins ============ @@ -9,10 +9,10 @@ anything but an empty database, such as template1; else it's likely to be very slow. Run on an empty database, it returns the system join relationships (shown -below for 8.3). Note that unexpected matches may indicate bogus entries +below for 8.4devel). 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 8.3, the *only* fields that should join to more +probably messed up. In 8.4devel, the *only* fields that should join to more than one target are pg_description.objoid, pg_depend.objid, pg_depend.refobjid, pg_shdescription.objoid, pg_shdepend.objid, and pg_shdepend.refobjid. (Running make_oidjoins_check is an easy way to spot @@ -31,10 +31,12 @@ revision in the patterns of cross-links between system tables. (Ideally we'd just regenerate the script as part of the regression tests themselves, but that seems too slow...) -NOTE: in 8.3, make_oidjoins_check produces two bogus join checks: +NOTE: in 8.4devel, make_oidjoins_check produces two bogus join checks: Join pg_catalog.pg_class.relfilenode => pg_catalog.pg_class.oid Join pg_catalog.pg_database.datlastsysoid => pg_catalog.pg_database.oid These are artifacts and should not be added to the oidjoins regress test. +You might also get output for pg_shdepend.refobjid and pg_shdescription.objoid, +neither of which should be added. --------------------------------------------------------------------------- @@ -43,10 +45,11 @@ Join pg_catalog.pg_aggregate.aggtransfn => pg_catalog.pg_proc.oid Join pg_catalog.pg_aggregate.aggfinalfn => pg_catalog.pg_proc.oid Join pg_catalog.pg_aggregate.aggsortop => pg_catalog.pg_operator.oid Join pg_catalog.pg_aggregate.aggtranstype => pg_catalog.pg_type.oid +Join pg_catalog.pg_am.amkeytype => pg_catalog.pg_type.oid Join pg_catalog.pg_am.aminsert => pg_catalog.pg_proc.oid Join pg_catalog.pg_am.ambeginscan => pg_catalog.pg_proc.oid Join pg_catalog.pg_am.amgettuple => pg_catalog.pg_proc.oid -Join pg_catalog.pg_am.amgetmulti => pg_catalog.pg_proc.oid +Join pg_catalog.pg_am.amgetbitmap => pg_catalog.pg_proc.oid Join pg_catalog.pg_am.amrescan => pg_catalog.pg_proc.oid Join pg_catalog.pg_am.amendscan => pg_catalog.pg_proc.oid Join pg_catalog.pg_am.ammarkpos => pg_catalog.pg_proc.oid @@ -125,6 +128,23 @@ Join pg_catalog.pg_statistic.staop3 => pg_catalog.pg_operator.oid Join pg_catalog.pg_tablespace.spcowner => pg_catalog.pg_authid.oid Join pg_catalog.pg_trigger.tgrelid => pg_catalog.pg_class.oid Join pg_catalog.pg_trigger.tgfoid => pg_catalog.pg_proc.oid +Join pg_catalog.pg_ts_config.cfgnamespace => pg_catalog.pg_namespace.oid +Join pg_catalog.pg_ts_config.cfgowner => pg_catalog.pg_authid.oid +Join pg_catalog.pg_ts_config.cfgparser => pg_catalog.pg_ts_parser.oid +Join pg_catalog.pg_ts_config_map.mapcfg => pg_catalog.pg_ts_config.oid +Join pg_catalog.pg_ts_config_map.mapdict => pg_catalog.pg_ts_dict.oid +Join pg_catalog.pg_ts_dict.dictnamespace => pg_catalog.pg_namespace.oid +Join pg_catalog.pg_ts_dict.dictowner => pg_catalog.pg_authid.oid +Join pg_catalog.pg_ts_dict.dicttemplate => pg_catalog.pg_ts_template.oid +Join pg_catalog.pg_ts_parser.prsnamespace => pg_catalog.pg_namespace.oid +Join pg_catalog.pg_ts_parser.prsstart => pg_catalog.pg_proc.oid +Join pg_catalog.pg_ts_parser.prstoken => pg_catalog.pg_proc.oid +Join pg_catalog.pg_ts_parser.prsend => pg_catalog.pg_proc.oid +Join pg_catalog.pg_ts_parser.prsheadline => pg_catalog.pg_proc.oid +Join pg_catalog.pg_ts_parser.prslextype => pg_catalog.pg_proc.oid +Join pg_catalog.pg_ts_template.tmplnamespace => pg_catalog.pg_namespace.oid +Join pg_catalog.pg_ts_template.tmplinit => pg_catalog.pg_proc.oid +Join pg_catalog.pg_ts_template.tmpllexize => pg_catalog.pg_proc.oid Join pg_catalog.pg_type.typnamespace => pg_catalog.pg_namespace.oid Join pg_catalog.pg_type.typowner => pg_catalog.pg_authid.oid Join pg_catalog.pg_type.typrelid => pg_catalog.pg_class.oid @@ -136,6 +156,7 @@ Join pg_catalog.pg_type.typreceive => pg_catalog.pg_proc.oid Join pg_catalog.pg_type.typsend => pg_catalog.pg_proc.oid Join pg_catalog.pg_type.typmodin => pg_catalog.pg_proc.oid Join pg_catalog.pg_type.typmodout => pg_catalog.pg_proc.oid +Join pg_catalog.pg_type.typanalyze => pg_catalog.pg_proc.oid Join pg_catalog.pg_type.typbasetype => pg_catalog.pg_type.oid ---------------------------------------------------------------------------