Skip to content

Commit 970d8a3

Browse files
committed
Update oidjoins regression test for 9.1 catalog schema additions.
1 parent a0b75a4 commit 970d8a3

File tree

4 files changed

+124
-7
lines changed

4 files changed

+124
-7
lines changed

src/test/regress/expected/oidjoins.out

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,14 @@ WHERE ambuild != 0 AND
121121
------+---------
122122
(0 rows)
123123

124+
SELECT ctid, ambuildempty
125+
FROM pg_catalog.pg_am fk
126+
WHERE ambuildempty != 0 AND
127+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.ambuildempty);
128+
ctid | ambuildempty
129+
------+--------------
130+
(0 rows)
131+
124132
SELECT ctid, ambulkdelete
125133
FROM pg_catalog.pg_am fk
126134
WHERE ambulkdelete != 0 AND
@@ -193,6 +201,14 @@ WHERE amopmethod != 0 AND
193201
------+------------
194202
(0 rows)
195203

204+
SELECT ctid, amopsortfamily
205+
FROM pg_catalog.pg_amop fk
206+
WHERE amopsortfamily != 0 AND
207+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_opfamily pk WHERE pk.oid = fk.amopsortfamily);
208+
ctid | amopsortfamily
209+
------+----------------
210+
(0 rows)
211+
196212
SELECT ctid, amprocfamily
197213
FROM pg_catalog.pg_amproc fk
198214
WHERE amprocfamily != 0 AND
@@ -241,6 +257,14 @@ WHERE atttypid != 0 AND
241257
------+----------
242258
(0 rows)
243259

260+
SELECT ctid, attcollation
261+
FROM pg_catalog.pg_attribute fk
262+
WHERE attcollation != 0 AND
263+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_collation pk WHERE pk.oid = fk.attcollation);
264+
ctid | attcollation
265+
------+--------------
266+
(0 rows)
267+
244268
SELECT ctid, castsource
245269
FROM pg_catalog.pg_cast fk
246270
WHERE castsource != 0 AND
@@ -321,6 +345,22 @@ WHERE reltoastidxid != 0 AND
321345
------+---------------
322346
(0 rows)
323347

348+
SELECT ctid, collnamespace
349+
FROM pg_catalog.pg_collation fk
350+
WHERE collnamespace != 0 AND
351+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_namespace pk WHERE pk.oid = fk.collnamespace);
352+
ctid | collnamespace
353+
------+---------------
354+
(0 rows)
355+
356+
SELECT ctid, collowner
357+
FROM pg_catalog.pg_collation fk
358+
WHERE collowner != 0 AND
359+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_authid pk WHERE pk.oid = fk.collowner);
360+
ctid | collowner
361+
------+-----------
362+
(0 rows)
363+
324364
SELECT ctid, connamespace
325365
FROM pg_catalog.pg_constraint fk
326366
WHERE connamespace != 0 AND
@@ -409,6 +449,22 @@ WHERE classoid != 0 AND
409449
------+----------
410450
(0 rows)
411451

452+
SELECT ctid, extowner
453+
FROM pg_catalog.pg_extension fk
454+
WHERE extowner != 0 AND
455+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_authid pk WHERE pk.oid = fk.extowner);
456+
ctid | extowner
457+
------+----------
458+
(0 rows)
459+
460+
SELECT ctid, extnamespace
461+
FROM pg_catalog.pg_extension fk
462+
WHERE extnamespace != 0 AND
463+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_namespace pk WHERE pk.oid = fk.extnamespace);
464+
ctid | extnamespace
465+
------+--------------
466+
(0 rows)
467+
412468
SELECT ctid, indexrelid
413469
FROM pg_catalog.pg_index fk
414470
WHERE indexrelid != 0 AND
@@ -641,6 +697,14 @@ WHERE prolang != 0 AND
641697
------+---------
642698
(0 rows)
643699

700+
SELECT ctid, provariadic
701+
FROM pg_catalog.pg_proc fk
702+
WHERE provariadic != 0 AND
703+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.provariadic);
704+
ctid | provariadic
705+
------+-------------
706+
(0 rows)
707+
644708
SELECT ctid, prorettype
645709
FROM pg_catalog.pg_proc fk
646710
WHERE prorettype != 0 AND
@@ -953,3 +1017,11 @@ WHERE typbasetype != 0 AND
9531017
------+-------------
9541018
(0 rows)
9551019

1020+
SELECT ctid, typcollation
1021+
FROM pg_catalog.pg_type fk
1022+
WHERE typcollation != 0 AND
1023+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_collation pk WHERE pk.oid = fk.typcollation);
1024+
ctid | typcollation
1025+
------+--------------
1026+
(0 rows)
1027+

src/test/regress/sql/oidjoins.sql

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ SELECT ctid, ambuild
6161
FROM pg_catalog.pg_am fk
6262
WHERE ambuild != 0 AND
6363
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.ambuild);
64+
SELECT ctid, ambuildempty
65+
FROM pg_catalog.pg_am fk
66+
WHERE ambuildempty != 0 AND
67+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_proc pk WHERE pk.oid = fk.ambuildempty);
6468
SELECT ctid, ambulkdelete
6569
FROM pg_catalog.pg_am fk
6670
WHERE ambulkdelete != 0 AND
@@ -97,6 +101,10 @@ SELECT ctid, amopmethod
97101
FROM pg_catalog.pg_amop fk
98102
WHERE amopmethod != 0 AND
99103
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_am pk WHERE pk.oid = fk.amopmethod);
104+
SELECT ctid, amopsortfamily
105+
FROM pg_catalog.pg_amop fk
106+
WHERE amopsortfamily != 0 AND
107+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_opfamily pk WHERE pk.oid = fk.amopsortfamily);
100108
SELECT ctid, amprocfamily
101109
FROM pg_catalog.pg_amproc fk
102110
WHERE amprocfamily != 0 AND
@@ -121,6 +129,10 @@ SELECT ctid, atttypid
121129
FROM pg_catalog.pg_attribute fk
122130
WHERE atttypid != 0 AND
123131
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.atttypid);
132+
SELECT ctid, attcollation
133+
FROM pg_catalog.pg_attribute fk
134+
WHERE attcollation != 0 AND
135+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_collation pk WHERE pk.oid = fk.attcollation);
124136
SELECT ctid, castsource
125137
FROM pg_catalog.pg_cast fk
126138
WHERE castsource != 0 AND
@@ -161,6 +173,14 @@ SELECT ctid, reltoastidxid
161173
FROM pg_catalog.pg_class fk
162174
WHERE reltoastidxid != 0 AND
163175
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_class pk WHERE pk.oid = fk.reltoastidxid);
176+
SELECT ctid, collnamespace
177+
FROM pg_catalog.pg_collation fk
178+
WHERE collnamespace != 0 AND
179+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_namespace pk WHERE pk.oid = fk.collnamespace);
180+
SELECT ctid, collowner
181+
FROM pg_catalog.pg_collation fk
182+
WHERE collowner != 0 AND
183+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_authid pk WHERE pk.oid = fk.collowner);
164184
SELECT ctid, connamespace
165185
FROM pg_catalog.pg_constraint fk
166186
WHERE connamespace != 0 AND
@@ -205,6 +225,14 @@ SELECT ctid, classoid
205225
FROM pg_catalog.pg_description fk
206226
WHERE classoid != 0 AND
207227
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_class pk WHERE pk.oid = fk.classoid);
228+
SELECT ctid, extowner
229+
FROM pg_catalog.pg_extension fk
230+
WHERE extowner != 0 AND
231+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_authid pk WHERE pk.oid = fk.extowner);
232+
SELECT ctid, extnamespace
233+
FROM pg_catalog.pg_extension fk
234+
WHERE extnamespace != 0 AND
235+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_namespace pk WHERE pk.oid = fk.extnamespace);
208236
SELECT ctid, indexrelid
209237
FROM pg_catalog.pg_index fk
210238
WHERE indexrelid != 0 AND
@@ -321,6 +349,10 @@ SELECT ctid, prolang
321349
FROM pg_catalog.pg_proc fk
322350
WHERE prolang != 0 AND
323351
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_language pk WHERE pk.oid = fk.prolang);
352+
SELECT ctid, provariadic
353+
FROM pg_catalog.pg_proc fk
354+
WHERE provariadic != 0 AND
355+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.provariadic);
324356
SELECT ctid, prorettype
325357
FROM pg_catalog.pg_proc fk
326358
WHERE prorettype != 0 AND
@@ -477,3 +509,7 @@ SELECT ctid, typbasetype
477509
FROM pg_catalog.pg_type fk
478510
WHERE typbasetype != 0 AND
479511
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.typbasetype);
512+
SELECT ctid, typcollation
513+
FROM pg_catalog.pg_type fk
514+
WHERE typcollation != 0 AND
515+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_collation pk WHERE pk.oid = fk.typcollation);

src/tools/findoidjoins/README

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ anything but an empty database, such as template1; else it's likely to
99
be very slow.
1010

1111
Run on an empty database, it returns the system join relationships (shown
12-
below for 9.0devel). Note that unexpected matches may indicate bogus entries
12+
below for 9.1devel). Note that unexpected matches may indicate bogus entries
1313
in system tables --- don't accept a peculiar match without question.
1414
In particular, a field shown as joining to more than one target table is
15-
probably messed up. In 9.0devel, the *only* fields that should join to more
15+
probably messed up. In 9.1devel, the *only* fields that should join to more
1616
than one target are pg_description.objoid, pg_depend.objid,
1717
pg_depend.refobjid, pg_shdescription.objoid, pg_shdepend.objid, and
1818
pg_shdepend.refobjid. (Running make_oidjoins_check is an easy way to spot
@@ -31,7 +31,7 @@ revision in the patterns of cross-links between system tables.
3131
(Ideally we'd just regenerate the script as part of the regression
3232
tests themselves, but that seems too slow...)
3333

34-
NOTE: in 9.0devel, make_oidjoins_check produces two bogus join checks:
34+
NOTE: in 9.1devel, make_oidjoins_check produces two bogus join checks:
3535
Join pg_catalog.pg_class.relfilenode => pg_catalog.pg_class.oid
3636
Join pg_catalog.pg_database.datlastsysoid => pg_catalog.pg_database.oid
3737
These are artifacts and should not be added to the oidjoins regress test.
@@ -55,6 +55,7 @@ Join pg_catalog.pg_am.amendscan => pg_catalog.pg_proc.oid
5555
Join pg_catalog.pg_am.ammarkpos => pg_catalog.pg_proc.oid
5656
Join pg_catalog.pg_am.amrestrpos => pg_catalog.pg_proc.oid
5757
Join pg_catalog.pg_am.ambuild => pg_catalog.pg_proc.oid
58+
Join pg_catalog.pg_am.ambuildempty => pg_catalog.pg_proc.oid
5859
Join pg_catalog.pg_am.ambulkdelete => pg_catalog.pg_proc.oid
5960
Join pg_catalog.pg_am.amvacuumcleanup => pg_catalog.pg_proc.oid
6061
Join pg_catalog.pg_am.amcostestimate => pg_catalog.pg_proc.oid
@@ -64,12 +65,14 @@ Join pg_catalog.pg_amop.amoplefttype => pg_catalog.pg_type.oid
6465
Join pg_catalog.pg_amop.amoprighttype => pg_catalog.pg_type.oid
6566
Join pg_catalog.pg_amop.amopopr => pg_catalog.pg_operator.oid
6667
Join pg_catalog.pg_amop.amopmethod => pg_catalog.pg_am.oid
68+
Join pg_catalog.pg_amop.amopsortfamily => pg_catalog.pg_opfamily.oid
6769
Join pg_catalog.pg_amproc.amprocfamily => pg_catalog.pg_opfamily.oid
6870
Join pg_catalog.pg_amproc.amproclefttype => pg_catalog.pg_type.oid
6971
Join pg_catalog.pg_amproc.amprocrighttype => pg_catalog.pg_type.oid
7072
Join pg_catalog.pg_amproc.amproc => pg_catalog.pg_proc.oid
7173
Join pg_catalog.pg_attribute.attrelid => pg_catalog.pg_class.oid
7274
Join pg_catalog.pg_attribute.atttypid => pg_catalog.pg_type.oid
75+
Join pg_catalog.pg_attribute.attcollation => pg_catalog.pg_collation.oid
7376
Join pg_catalog.pg_cast.castsource => pg_catalog.pg_type.oid
7477
Join pg_catalog.pg_cast.casttarget => pg_catalog.pg_type.oid
7578
Join pg_catalog.pg_cast.castfunc => pg_catalog.pg_proc.oid
@@ -80,6 +83,8 @@ Join pg_catalog.pg_class.relam => pg_catalog.pg_am.oid
8083
Join pg_catalog.pg_class.reltablespace => pg_catalog.pg_tablespace.oid
8184
Join pg_catalog.pg_class.reltoastrelid => pg_catalog.pg_class.oid
8285
Join pg_catalog.pg_class.reltoastidxid => pg_catalog.pg_class.oid
86+
Join pg_catalog.pg_collation.collnamespace => pg_catalog.pg_namespace.oid
87+
Join pg_catalog.pg_collation.collowner => pg_catalog.pg_authid.oid
8388
Join pg_catalog.pg_constraint.connamespace => pg_catalog.pg_namespace.oid
8489
Join pg_catalog.pg_constraint.contypid => pg_catalog.pg_type.oid
8590
Join pg_catalog.pg_conversion.connamespace => pg_catalog.pg_namespace.oid
@@ -91,6 +96,8 @@ Join pg_catalog.pg_db_role_setting.setdatabase => pg_catalog.pg_database.oid
9196
Join pg_catalog.pg_depend.classid => pg_catalog.pg_class.oid
9297
Join pg_catalog.pg_depend.refclassid => pg_catalog.pg_class.oid
9398
Join pg_catalog.pg_description.classoid => pg_catalog.pg_class.oid
99+
Join pg_catalog.pg_extension.extowner => pg_catalog.pg_authid.oid
100+
Join pg_catalog.pg_extension.extnamespace => pg_catalog.pg_namespace.oid
94101
Join pg_catalog.pg_index.indexrelid => pg_catalog.pg_class.oid
95102
Join pg_catalog.pg_index.indrelid => pg_catalog.pg_class.oid
96103
Join pg_catalog.pg_language.lanowner => pg_catalog.pg_authid.oid
@@ -120,6 +127,7 @@ Join pg_catalog.pg_opfamily.opfowner => pg_catalog.pg_authid.oid
120127
Join pg_catalog.pg_proc.pronamespace => pg_catalog.pg_namespace.oid
121128
Join pg_catalog.pg_proc.proowner => pg_catalog.pg_authid.oid
122129
Join pg_catalog.pg_proc.prolang => pg_catalog.pg_language.oid
130+
Join pg_catalog.pg_proc.provariadic => pg_catalog.pg_type.oid
123131
Join pg_catalog.pg_proc.prorettype => pg_catalog.pg_type.oid
124132
Join pg_catalog.pg_rewrite.ev_class => pg_catalog.pg_class.oid
125133
Join pg_catalog.pg_shdepend.refclassid => pg_catalog.pg_class.oid
@@ -159,8 +167,9 @@ Join pg_catalog.pg_type.typmodin => pg_catalog.pg_proc.oid
159167
Join pg_catalog.pg_type.typmodout => pg_catalog.pg_proc.oid
160168
Join pg_catalog.pg_type.typanalyze => pg_catalog.pg_proc.oid
161169
Join pg_catalog.pg_type.typbasetype => pg_catalog.pg_type.oid
170+
Join pg_catalog.pg_type.typcollation => pg_catalog.pg_collation.oid
162171

163172
---------------------------------------------------------------------------
164173

165-
Bruce Momjian (root@candle.pha.pa.us)
174+
Bruce Momjian (bruce@momjian.us)
166175
Updated for 7.3 by Joe Conway (mail@joeconway.com)

src/tools/findoidjoins/make_oidjoins_check

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ $AWK -F'[ \.]' '\
5959
}
6060
{
6161
printf "\
62-
SELECT ctid, %s \n\
63-
FROM %s.%s fk \n\
64-
WHERE %s != 0 AND \n\
62+
SELECT ctid, %s\n\
63+
FROM %s.%s fk\n\
64+
WHERE %s != 0 AND\n\
6565
NOT EXISTS(SELECT 1 FROM %s.%s pk WHERE pk.oid = fk.%s);\n",
6666
$4, $2, $3, $4,
6767
$6, $7, $4;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy