summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorTom Lane2020-05-09 20:28:09 +0000
committerTom Lane2020-05-09 20:28:20 +0000
commit96d175e3e2ea1bbf734f21444126a711da12108b (patch)
tree4a7754e5493dae46fda79106569e53df40e399c2 /src/test
parentebeb3dea772652887b67a7549906f5a9ec8a487f (diff)
Fix findoidjoins to recognize oidvector columns.
Somehow we'd never noticed this oversight, even though it means that such basic columns as pg_proc.proargtypes were not being validated by the oidjoins test. Correct the query and update the test script with the newly-found dependencies.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/regress/expected/oidjoins.out40
-rw-r--r--src/test/regress/sql/oidjoins.sql20
2 files changed, 60 insertions, 0 deletions
diff --git a/src/test/regress/expected/oidjoins.out b/src/test/regress/expected/oidjoins.out
index 92f9143d06f..4731dacfbf4 100644
--- a/src/test/regress/expected/oidjoins.out
+++ b/src/test/regress/expected/oidjoins.out
@@ -1401,6 +1401,46 @@ WHERE conexclop != 0 AND
------+-----------
(0 rows)
+SELECT ctid, indcollation
+FROM (SELECT ctid, unnest(indcollation) AS indcollation FROM pg_catalog.pg_index) fk
+WHERE indcollation != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_collation pk WHERE pk.oid = fk.indcollation);
+ ctid | indcollation
+------+--------------
+(0 rows)
+
+SELECT ctid, indclass
+FROM (SELECT ctid, unnest(indclass) AS indclass FROM pg_catalog.pg_index) fk
+WHERE indclass != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_opclass pk WHERE pk.oid = fk.indclass);
+ ctid | indclass
+------+----------
+(0 rows)
+
+SELECT ctid, partclass
+FROM (SELECT ctid, unnest(partclass) AS partclass FROM pg_catalog.pg_partitioned_table) fk
+WHERE partclass != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_opclass pk WHERE pk.oid = fk.partclass);
+ ctid | partclass
+------+-----------
+(0 rows)
+
+SELECT ctid, partcollation
+FROM (SELECT ctid, unnest(partcollation) AS partcollation FROM pg_catalog.pg_partitioned_table) fk
+WHERE partcollation != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_collation pk WHERE pk.oid = fk.partcollation);
+ ctid | partcollation
+------+---------------
+(0 rows)
+
+SELECT ctid, proargtypes
+FROM (SELECT ctid, unnest(proargtypes) AS proargtypes FROM pg_catalog.pg_proc) fk
+WHERE proargtypes != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.proargtypes);
+ ctid | proargtypes
+------+-------------
+(0 rows)
+
SELECT ctid, proallargtypes
FROM (SELECT ctid, unnest(proallargtypes) AS proallargtypes FROM pg_catalog.pg_proc) fk
WHERE proallargtypes != 0 AND
diff --git a/src/test/regress/sql/oidjoins.sql b/src/test/regress/sql/oidjoins.sql
index 8a833a23fda..f6d2d3c68c3 100644
--- a/src/test/regress/sql/oidjoins.sql
+++ b/src/test/regress/sql/oidjoins.sql
@@ -701,6 +701,26 @@ SELECT ctid, conexclop
FROM (SELECT ctid, unnest(conexclop) AS conexclop FROM pg_catalog.pg_constraint) fk
WHERE conexclop != 0 AND
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_operator pk WHERE pk.oid = fk.conexclop);
+SELECT ctid, indcollation
+FROM (SELECT ctid, unnest(indcollation) AS indcollation FROM pg_catalog.pg_index) fk
+WHERE indcollation != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_collation pk WHERE pk.oid = fk.indcollation);
+SELECT ctid, indclass
+FROM (SELECT ctid, unnest(indclass) AS indclass FROM pg_catalog.pg_index) fk
+WHERE indclass != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_opclass pk WHERE pk.oid = fk.indclass);
+SELECT ctid, partclass
+FROM (SELECT ctid, unnest(partclass) AS partclass FROM pg_catalog.pg_partitioned_table) fk
+WHERE partclass != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_opclass pk WHERE pk.oid = fk.partclass);
+SELECT ctid, partcollation
+FROM (SELECT ctid, unnest(partcollation) AS partcollation FROM pg_catalog.pg_partitioned_table) fk
+WHERE partcollation != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_collation pk WHERE pk.oid = fk.partcollation);
+SELECT ctid, proargtypes
+FROM (SELECT ctid, unnest(proargtypes) AS proargtypes FROM pg_catalog.pg_proc) fk
+WHERE proargtypes != 0 AND
+ NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.proargtypes);
SELECT ctid, proallargtypes
FROM (SELECT ctid, unnest(proallargtypes) AS proallargtypes FROM pg_catalog.pg_proc) fk
WHERE proallargtypes != 0 AND