Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4165d5b

Browse files
committed
Update oidjoins regression test to match git HEAD.
This is mostly to add some sanity checking for the pg_range catalog.
1 parent 4f9e330 commit 4165d5b

File tree

3 files changed

+107
-3
lines changed

3 files changed

+107
-3
lines changed

src/test/regress/expected/oidjoins.out

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -769,6 +769,14 @@ WHERE provariadic != 0 AND
769769
------+-------------
770770
(0 rows)
771771

772+
SELECT ctid, protransform
773+
FROM pg_catalog.pg_proc fk
774+
WHERE protransform != 0 AND
775+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.protransform);
776+
ctid | protransform
777+
------+--------------
778+
(0 rows)
779+
772780
SELECT ctid, prorettype
773781
FROM pg_catalog.pg_proc fk
774782
WHERE prorettype != 0 AND
@@ -777,6 +785,54 @@ WHERE prorettype != 0 AND
777785
------+------------
778786
(0 rows)
779787

788+
SELECT ctid, rngtypid
789+
FROM pg_catalog.pg_range fk
790+
WHERE rngtypid != 0 AND
791+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.rngtypid);
792+
ctid | rngtypid
793+
------+----------
794+
(0 rows)
795+
796+
SELECT ctid, rngsubtype
797+
FROM pg_catalog.pg_range fk
798+
WHERE rngsubtype != 0 AND
799+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.rngsubtype);
800+
ctid | rngsubtype
801+
------+------------
802+
(0 rows)
803+
804+
SELECT ctid, rngcollation
805+
FROM pg_catalog.pg_range fk
806+
WHERE rngcollation != 0 AND
807+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_collation pk WHERE pk.oid = fk.rngcollation);
808+
ctid | rngcollation
809+
------+--------------
810+
(0 rows)
811+
812+
SELECT ctid, rngsubopc
813+
FROM pg_catalog.pg_range fk
814+
WHERE rngsubopc != 0 AND
815+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_opclass pk WHERE pk.oid = fk.rngsubopc);
816+
ctid | rngsubopc
817+
------+-----------
818+
(0 rows)
819+
820+
SELECT ctid, rngcanonical
821+
FROM pg_catalog.pg_range fk
822+
WHERE rngcanonical != 0 AND
823+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.rngcanonical);
824+
ctid | rngcanonical
825+
------+--------------
826+
(0 rows)
827+
828+
SELECT ctid, rngsubdiff
829+
FROM pg_catalog.pg_range fk
830+
WHERE rngsubdiff != 0 AND
831+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.rngsubdiff);
832+
ctid | rngsubdiff
833+
------+------------
834+
(0 rows)
835+
780836
SELECT ctid, ev_class
781837
FROM pg_catalog.pg_rewrite fk
782838
WHERE ev_class != 0 AND
@@ -1153,6 +1209,14 @@ WHERE conffeqop != 0 AND
11531209
------+-----------
11541210
(0 rows)
11551211

1212+
SELECT ctid, conexclop
1213+
FROM (SELECT ctid, unnest(conexclop) AS conexclop FROM pg_catalog.pg_constraint) fk
1214+
WHERE conexclop != 0 AND
1215+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_operator pk WHERE pk.oid = fk.conexclop);
1216+
ctid | conexclop
1217+
------+-----------
1218+
(0 rows)
1219+
11561220
SELECT ctid, proallargtypes
11571221
FROM (SELECT ctid, unnest(proallargtypes) AS proallargtypes FROM pg_catalog.pg_proc) fk
11581222
WHERE proallargtypes != 0 AND

src/test/regress/sql/oidjoins.sql

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,10 +385,38 @@ SELECT ctid, provariadic
385385
FROM pg_catalog.pg_proc fk
386386
WHERE provariadic != 0 AND
387387
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.provariadic);
388+
SELECT ctid, protransform
389+
FROM pg_catalog.pg_proc fk
390+
WHERE protransform != 0 AND
391+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.protransform);
388392
SELECT ctid, prorettype
389393
FROM pg_catalog.pg_proc fk
390394
WHERE prorettype != 0 AND
391395
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.prorettype);
396+
SELECT ctid, rngtypid
397+
FROM pg_catalog.pg_range fk
398+
WHERE rngtypid != 0 AND
399+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.rngtypid);
400+
SELECT ctid, rngsubtype
401+
FROM pg_catalog.pg_range fk
402+
WHERE rngsubtype != 0 AND
403+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.rngsubtype);
404+
SELECT ctid, rngcollation
405+
FROM pg_catalog.pg_range fk
406+
WHERE rngcollation != 0 AND
407+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_collation pk WHERE pk.oid = fk.rngcollation);
408+
SELECT ctid, rngsubopc
409+
FROM pg_catalog.pg_range fk
410+
WHERE rngsubopc != 0 AND
411+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_opclass pk WHERE pk.oid = fk.rngsubopc);
412+
SELECT ctid, rngcanonical
413+
FROM pg_catalog.pg_range fk
414+
WHERE rngcanonical != 0 AND
415+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.rngcanonical);
416+
SELECT ctid, rngsubdiff
417+
FROM pg_catalog.pg_range fk
418+
WHERE rngsubdiff != 0 AND
419+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.rngsubdiff);
392420
SELECT ctid, ev_class
393421
FROM pg_catalog.pg_rewrite fk
394422
WHERE ev_class != 0 AND
@@ -577,6 +605,10 @@ SELECT ctid, conffeqop
577605
FROM (SELECT ctid, unnest(conffeqop) AS conffeqop FROM pg_catalog.pg_constraint) fk
578606
WHERE conffeqop != 0 AND
579607
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_operator pk WHERE pk.oid = fk.conffeqop);
608+
SELECT ctid, conexclop
609+
FROM (SELECT ctid, unnest(conexclop) AS conexclop FROM pg_catalog.pg_constraint) fk
610+
WHERE conexclop != 0 AND
611+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_operator pk WHERE pk.oid = fk.conexclop);
580612
SELECT ctid, proallargtypes
581613
FROM (SELECT ctid, unnest(proallargtypes) AS proallargtypes FROM pg_catalog.pg_proc) fk
582614
WHERE proallargtypes != 0 AND

src/tools/findoidjoins/README

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ findoidjoins
55

66
This program scans a database and prints oid fields (also reg* fields)
77
and the tables they join to. It is normally used to check the system
8-
catalog join relationships (shown below for 9.1devel).
8+
catalog join relationships (shown below for 9.2devel as of 2011-11-14).
99

1010
Historically this has been run against an empty database such as template1,
1111
but there's a problem with that approach: some of the catalogs are empty
@@ -16,7 +16,7 @@ catalogs in interesting ways.
1616
Note that unexpected matches may indicate bogus entries in system tables;
1717
don't accept a peculiar match without question. In particular, a field
1818
shown as joining to more than one target table is probably messed up.
19-
In 9.1devel, the *only* fields that should join to more than one target
19+
In 9.2devel, the *only* fields that should join to more than one target
2020
table are pg_description.objoid, pg_depend.objid, pg_depend.refobjid,
2121
pg_shdescription.objoid, pg_shdepend.objid, and pg_shdepend.refobjid.
2222
(Running make_oidjoins_check is an easy way to spot fields joining to more
@@ -33,7 +33,7 @@ regression test. The oidjoins test should be updated after any
3333
revision in the patterns of cross-links between system tables.
3434
(Typically we update it at the end of each development cycle.)
3535

36-
NOTE: as of 9.1devel, make_oidjoins_check produces two bogus join checks:
36+
NOTE: as of 9.2devel, make_oidjoins_check produces two bogus join checks:
3737
Join pg_catalog.pg_class.relfilenode => pg_catalog.pg_class.oid
3838
Join pg_catalog.pg_database.datlastsysoid => pg_catalog.pg_database.oid
3939
These are artifacts and should not be added to the oidjoins regress test.
@@ -138,7 +138,14 @@ Join pg_catalog.pg_proc.pronamespace => pg_catalog.pg_namespace.oid
138138
Join pg_catalog.pg_proc.proowner => pg_catalog.pg_authid.oid
139139
Join pg_catalog.pg_proc.prolang => pg_catalog.pg_language.oid
140140
Join pg_catalog.pg_proc.provariadic => pg_catalog.pg_type.oid
141+
Join pg_catalog.pg_proc.protransform => pg_catalog.pg_proc.oid
141142
Join pg_catalog.pg_proc.prorettype => pg_catalog.pg_type.oid
143+
Join pg_catalog.pg_range.rngtypid => pg_catalog.pg_type.oid
144+
Join pg_catalog.pg_range.rngsubtype => pg_catalog.pg_type.oid
145+
Join pg_catalog.pg_range.rngcollation => pg_catalog.pg_collation.oid
146+
Join pg_catalog.pg_range.rngsubopc => pg_catalog.pg_opclass.oid
147+
Join pg_catalog.pg_range.rngcanonical => pg_catalog.pg_proc.oid
148+
Join pg_catalog.pg_range.rngsubdiff => pg_catalog.pg_proc.oid
142149
Join pg_catalog.pg_rewrite.ev_class => pg_catalog.pg_class.oid
143150
Join pg_catalog.pg_shdepend.refclassid => pg_catalog.pg_class.oid
144151
Join pg_catalog.pg_shdescription.classoid => pg_catalog.pg_class.oid
@@ -186,6 +193,7 @@ Join pg_catalog.pg_type.typcollation => pg_catalog.pg_collation.oid
186193
Join pg_catalog.pg_constraint.conpfeqop []=> pg_catalog.pg_operator.oid
187194
Join pg_catalog.pg_constraint.conppeqop []=> pg_catalog.pg_operator.oid
188195
Join pg_catalog.pg_constraint.conffeqop []=> pg_catalog.pg_operator.oid
196+
Join pg_catalog.pg_constraint.conexclop []=> pg_catalog.pg_operator.oid
189197
Join pg_catalog.pg_proc.proallargtypes []=> pg_catalog.pg_type.oid
190198

191199
---------------------------------------------------------------------------

0 commit comments

Comments
 (0)