aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-06-22 17:12:55 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2016-06-22 17:12:55 -0400
commit63ae052367c350935c3cec3e3c53a1e34a317e96 (patch)
treefe59126d3015f1ce5d4fdcd0e6441cfc735cf9bc /src
parentf8ace5477ef9731ef605f58d313c4cd1548f12d2 (diff)
downloadpostgresql-63ae052367c350935c3cec3e3c53a1e34a317e96.tar.gz
postgresql-63ae052367c350935c3cec3e3c53a1e34a317e96.zip
Update oidjoins regression test for 9.6.
Looks like we had some more catalog drift recently.
Diffstat (limited to 'src')
-rw-r--r--src/test/regress/expected/oidjoins.out32
-rw-r--r--src/test/regress/sql/oidjoins.sql16
-rw-r--r--src/tools/findoidjoins/README14
3 files changed, 58 insertions, 4 deletions
diff --git a/src/test/regress/expected/oidjoins.out b/src/test/regress/expected/oidjoins.out
index f10e007f58c..5fe630777f1 100644
--- a/src/test/regress/expected/oidjoins.out
+++ b/src/test/regress/expected/oidjoins.out
@@ -25,6 +25,30 @@ WHERE aggfinalfn != 0 AND
------+------------
(0 rows)
+SELECT ctid, aggcombinefn
+FROM pg_catalog.pg_aggregate fk
+WHERE aggcombinefn != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.aggcombinefn);
+ ctid | aggcombinefn
+------+--------------
+(0 rows)
+
+SELECT ctid, aggserialfn
+FROM pg_catalog.pg_aggregate fk
+WHERE aggserialfn != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.aggserialfn);
+ ctid | aggserialfn
+------+-------------
+(0 rows)
+
+SELECT ctid, aggdeserialfn
+FROM pg_catalog.pg_aggregate fk
+WHERE aggdeserialfn != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.aggdeserialfn);
+ ctid | aggdeserialfn
+------+---------------
+(0 rows)
+
SELECT ctid, aggmtransfn
FROM pg_catalog.pg_aggregate fk
WHERE aggmtransfn != 0 AND
@@ -481,6 +505,14 @@ WHERE inhparent != 0 AND
------+-----------
(0 rows)
+SELECT ctid, classoid
+FROM pg_catalog.pg_init_privs fk
+WHERE classoid != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_class pk WHERE pk.oid = fk.classoid);
+ ctid | classoid
+------+----------
+(0 rows)
+
SELECT ctid, lanowner
FROM pg_catalog.pg_language fk
WHERE lanowner != 0 AND
diff --git a/src/test/regress/sql/oidjoins.sql b/src/test/regress/sql/oidjoins.sql
index 9b7c47060b6..ef749936eb1 100644
--- a/src/test/regress/sql/oidjoins.sql
+++ b/src/test/regress/sql/oidjoins.sql
@@ -13,6 +13,18 @@ SELECT ctid, aggfinalfn
FROM pg_catalog.pg_aggregate fk
WHERE aggfinalfn != 0 AND
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.aggfinalfn);
+SELECT ctid, aggcombinefn
+FROM pg_catalog.pg_aggregate fk
+WHERE aggcombinefn != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.aggcombinefn);
+SELECT ctid, aggserialfn
+FROM pg_catalog.pg_aggregate fk
+WHERE aggserialfn != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.aggserialfn);
+SELECT ctid, aggdeserialfn
+FROM pg_catalog.pg_aggregate fk
+WHERE aggdeserialfn != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.aggdeserialfn);
SELECT ctid, aggmtransfn
FROM pg_catalog.pg_aggregate fk
WHERE aggmtransfn != 0 AND
@@ -241,6 +253,10 @@ SELECT ctid, inhparent
FROM pg_catalog.pg_inherits fk
WHERE inhparent != 0 AND
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_class pk WHERE pk.oid = fk.inhparent);
+SELECT ctid, classoid
+FROM pg_catalog.pg_init_privs fk
+WHERE classoid != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_class pk WHERE pk.oid = fk.classoid);
SELECT ctid, lanowner
FROM pg_catalog.pg_language fk
WHERE lanowner != 0 AND
diff --git a/src/tools/findoidjoins/README b/src/tools/findoidjoins/README
index f7a88227ac8..af8c99eb6a0 100644
--- a/src/tools/findoidjoins/README
+++ b/src/tools/findoidjoins/README
@@ -16,9 +16,11 @@ catalogs in interesting ways.
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 9.6devel, the *only* fields that should join to more than one target
-table are pg_description.objoid, pg_depend.objid, pg_depend.refobjid,
-pg_shdescription.objoid, pg_shdepend.objid, and pg_shdepend.refobjid.
+In 9.6, the *only* fields that should join to more than one target
+table are:
+pg_description.objoid, pg_depend.objid, pg_depend.refobjid,
+pg_shdescription.objoid, pg_shdepend.objid, pg_shdepend.refobjid,
+and pg_init_privs.objoid.
(Running make_oidjoins_check is an easy way to spot fields joining to more
than one table, BTW.)
@@ -33,7 +35,7 @@ regression test. The oidjoins test should be updated after any
revision in the patterns of cross-links between system tables.
(Typically we update it at the end of each development cycle.)
-NOTE: as of 9.6devel, make_oidjoins_check produces two bogus join checks:
+NOTE: as of 9.6, 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 regression test.
@@ -45,6 +47,9 @@ neither of which should be added to the regression test.
Join pg_catalog.pg_aggregate.aggfnoid => pg_catalog.pg_proc.oid
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.aggcombinefn => pg_catalog.pg_proc.oid
+Join pg_catalog.pg_aggregate.aggserialfn => pg_catalog.pg_proc.oid
+Join pg_catalog.pg_aggregate.aggdeserialfn => pg_catalog.pg_proc.oid
Join pg_catalog.pg_aggregate.aggmtransfn => pg_catalog.pg_proc.oid
Join pg_catalog.pg_aggregate.aggminvtransfn => pg_catalog.pg_proc.oid
Join pg_catalog.pg_aggregate.aggmfinalfn => pg_catalog.pg_proc.oid
@@ -102,6 +107,7 @@ Join pg_catalog.pg_index.indexrelid => pg_catalog.pg_class.oid
Join pg_catalog.pg_index.indrelid => pg_catalog.pg_class.oid
Join pg_catalog.pg_inherits.inhrelid => pg_catalog.pg_class.oid
Join pg_catalog.pg_inherits.inhparent => pg_catalog.pg_class.oid
+Join pg_catalog.pg_init_privs.classoid => pg_catalog.pg_class.oid
Join pg_catalog.pg_language.lanowner => pg_catalog.pg_authid.oid
Join pg_catalog.pg_language.lanplcallfoid => pg_catalog.pg_proc.oid
Join pg_catalog.pg_language.laninline => pg_catalog.pg_proc.oid