Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite3f67a5

Browse files
committed
Update oidjoins regression test for v10.
1 parentb1ff33f commite3f67a5

File tree

3 files changed

+136
-3
lines changed

3 files changed

+136
-3
lines changed

‎src/test/regress/expected/oidjoins.out

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,30 @@ WHEREattcollation != 0 AND
217217
------+--------------
218218
(0 rows)
219219

220+
SELECTctid, roleid
221+
FROMpg_catalog.pg_auth_members fk
222+
WHEREroleid != 0 AND
223+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_authid pk WHERE pk.oid = fk.roleid);
224+
ctid | roleid
225+
------+--------
226+
(0 rows)
227+
228+
SELECTctid, member
229+
FROMpg_catalog.pg_auth_members fk
230+
WHEREmember != 0 AND
231+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_authid pk WHERE pk.oid = fk.member);
232+
ctid | member
233+
------+--------
234+
(0 rows)
235+
236+
SELECTctid, grantor
237+
FROMpg_catalog.pg_auth_members fk
238+
WHEREgrantor != 0 AND
239+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_authid pk WHERE pk.oid = fk.grantor);
240+
ctid | grantor
241+
------+---------
242+
(0 rows)
243+
220244
SELECTctid, castsource
221245
FROMpg_catalog.pg_cast fk
222246
WHEREcastsource != 0 AND
@@ -721,6 +745,14 @@ WHEREopfowner != 0 AND
721745
------+----------
722746
(0 rows)
723747

748+
SELECTctid, partrelid
749+
FROMpg_catalog.pg_partitioned_table fk
750+
WHEREpartrelid != 0 AND
751+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_class pk WHERE pk.oid = fk.partrelid);
752+
ctid | partrelid
753+
------+-----------
754+
(0 rows)
755+
724756
SELECTctid, polrelid
725757
FROMpg_catalog.pg_policy fk
726758
WHEREpolrelid != 0 AND
@@ -833,6 +865,22 @@ WHEREev_class != 0 AND
833865
------+----------
834866
(0 rows)
835867

868+
SELECTctid, seqrelid
869+
FROMpg_catalog.pg_sequence fk
870+
WHEREseqrelid != 0 AND
871+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_class pk WHERE pk.oid = fk.seqrelid);
872+
ctid | seqrelid
873+
------+----------
874+
(0 rows)
875+
876+
SELECTctid, seqtypid
877+
FROMpg_catalog.pg_sequence fk
878+
WHEREseqtypid != 0 AND
879+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type pk WHERE pk.oid = fk.seqtypid);
880+
ctid | seqtypid
881+
------+----------
882+
(0 rows)
883+
836884
SELECTctid, refclassid
837885
FROMpg_catalog.pg_shdepend fk
838886
WHERErefclassid != 0 AND
@@ -897,6 +945,30 @@ WHEREstaop5 != 0 AND
897945
------+--------
898946
(0 rows)
899947

948+
SELECTctid, stxrelid
949+
FROMpg_catalog.pg_statistic_ext fk
950+
WHEREstxrelid != 0 AND
951+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_class pk WHERE pk.oid = fk.stxrelid);
952+
ctid | stxrelid
953+
------+----------
954+
(0 rows)
955+
956+
SELECTctid, stxnamespace
957+
FROMpg_catalog.pg_statistic_ext fk
958+
WHEREstxnamespace != 0 AND
959+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_namespace pk WHERE pk.oid = fk.stxnamespace);
960+
ctid | stxnamespace
961+
------+--------------
962+
(0 rows)
963+
964+
SELECTctid, stxowner
965+
FROMpg_catalog.pg_statistic_ext fk
966+
WHEREstxowner != 0 AND
967+
NOT EXISTS(SELECT 1 FROM pg_catalog.pg_authid pk WHERE pk.oid = fk.stxowner);
968+
ctid | stxowner
969+
------+----------
970+
(0 rows)
971+
900972
SELECTctid, spcowner
901973
FROMpg_catalog.pg_tablespace fk
902974
WHEREspcowner != 0 AND

‎src/test/regress/sql/oidjoins.sql

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,18 @@ SELECTctid, attcollation
109109
FROMpg_catalog.pg_attribute fk
110110
WHEREattcollation!=0AND
111111
NOT EXISTS(SELECT1FROMpg_catalog.pg_collation pkWHEREpk.oid=fk.attcollation);
112+
SELECTctid, roleid
113+
FROMpg_catalog.pg_auth_members fk
114+
WHEREroleid!=0AND
115+
NOT EXISTS(SELECT1FROMpg_catalog.pg_authid pkWHEREpk.oid=fk.roleid);
116+
SELECTctid, member
117+
FROMpg_catalog.pg_auth_members fk
118+
WHEREmember!=0AND
119+
NOT EXISTS(SELECT1FROMpg_catalog.pg_authid pkWHEREpk.oid=fk.member);
120+
SELECTctid, grantor
121+
FROMpg_catalog.pg_auth_members fk
122+
WHEREgrantor!=0AND
123+
NOT EXISTS(SELECT1FROMpg_catalog.pg_authid pkWHEREpk.oid=fk.grantor);
112124
SELECTctid, castsource
113125
FROMpg_catalog.pg_cast fk
114126
WHEREcastsource!=0AND
@@ -361,6 +373,10 @@ SELECTctid, opfowner
361373
FROMpg_catalog.pg_opfamily fk
362374
WHEREopfowner!=0AND
363375
NOT EXISTS(SELECT1FROMpg_catalog.pg_authid pkWHEREpk.oid=fk.opfowner);
376+
SELECTctid, partrelid
377+
FROMpg_catalog.pg_partitioned_table fk
378+
WHEREpartrelid!=0AND
379+
NOT EXISTS(SELECT1FROMpg_catalog.pg_class pkWHEREpk.oid=fk.partrelid);
364380
SELECTctid, polrelid
365381
FROMpg_catalog.pg_policy fk
366382
WHEREpolrelid!=0AND
@@ -417,6 +433,14 @@ SELECTctid, ev_class
417433
FROMpg_catalog.pg_rewrite fk
418434
WHEREev_class!=0AND
419435
NOT EXISTS(SELECT1FROMpg_catalog.pg_class pkWHEREpk.oid=fk.ev_class);
436+
SELECTctid, seqrelid
437+
FROMpg_catalog.pg_sequence fk
438+
WHEREseqrelid!=0AND
439+
NOT EXISTS(SELECT1FROMpg_catalog.pg_class pkWHEREpk.oid=fk.seqrelid);
440+
SELECTctid, seqtypid
441+
FROMpg_catalog.pg_sequence fk
442+
WHEREseqtypid!=0AND
443+
NOT EXISTS(SELECT1FROMpg_catalog.pg_type pkWHEREpk.oid=fk.seqtypid);
420444
SELECTctid, refclassid
421445
FROMpg_catalog.pg_shdepend fk
422446
WHERErefclassid!=0AND
@@ -449,6 +473,18 @@ SELECTctid, staop5
449473
FROMpg_catalog.pg_statistic fk
450474
WHEREstaop5!=0AND
451475
NOT EXISTS(SELECT1FROMpg_catalog.pg_operator pkWHEREpk.oid=fk.staop5);
476+
SELECTctid, stxrelid
477+
FROMpg_catalog.pg_statistic_ext fk
478+
WHEREstxrelid!=0AND
479+
NOT EXISTS(SELECT1FROMpg_catalog.pg_class pkWHEREpk.oid=fk.stxrelid);
480+
SELECTctid, stxnamespace
481+
FROMpg_catalog.pg_statistic_ext fk
482+
WHEREstxnamespace!=0AND
483+
NOT EXISTS(SELECT1FROMpg_catalog.pg_namespace pkWHEREpk.oid=fk.stxnamespace);
484+
SELECTctid, stxowner
485+
FROMpg_catalog.pg_statistic_ext fk
486+
WHEREstxowner!=0AND
487+
NOT EXISTS(SELECT1FROMpg_catalog.pg_authid pkWHEREpk.oid=fk.stxowner);
452488
SELECTctid, spcowner
453489
FROMpg_catalog.pg_tablespace fk
454490
WHEREspcowner!=0AND

‎src/tools/findoidjoins/README

Lines changed: 28 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 for9.6devel as of2016-01-16).
8+
catalog join relationships (shown below for10devel as of2017-05-15).
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-
In9.6, the *only* fields that should join to more than one target
19+
Inv10, the *only* fields that should join to more than one target
2020
table are:
2121
pg_description.objoid, pg_depend.objid, pg_depend.refobjid,
2222
pg_shdescription.objoid, pg_shdepend.objid, pg_shdepend.refobjid,
@@ -35,13 +35,29 @@ regression test. The oidjoins test should be updated after any
3535
revision in the patterns of cross-links between system tables.
3636
(Typically we update it at the end of each development cycle.)
3737

38-
NOTE: as of9.6, make_oidjoins_check produces two bogus join checks:
38+
NOTE: as ofv10, make_oidjoins_check produces two bogus join checks:
3939
Join pg_catalog.pg_class.relfilenode => pg_catalog.pg_class.oid
4040
Join pg_catalog.pg_database.datlastsysoid => pg_catalog.pg_database.oid
4141
These are artifacts and should not be added to the oidjoins regression test.
4242
You might also get output for pg_shdepend.refobjid and pg_shdescription.objoid,
4343
neither of which should be added to the regression test.
4444

45+
In short, the procedure is:
46+
47+
1. make installcheck in src/test/regress
48+
2. cd here, make
49+
3. ./findoidjoins regression >foj.out
50+
4. ./make_oidjoins_check foj.out >oidjoins.sql
51+
5. paste foj.out below, removing the entries reported as duplicative
52+
by make_oidjoins_check or described as bogus above
53+
6. remove bogus tests in oidjoins.sql as per above
54+
7. copy oidjoins.sql to src/test/regress/sql/,
55+
and update oidjoins.out to match.
56+
8. Review diffs to ensure they correspond to new catalog relationships,
57+
then commit. (Sometimes, a pre-existing catalog relationship might
58+
become newly visible here as a result of the regression tests populating
59+
a catalog they didn't before. That's OK too.)
60+
4561
---------------------------------------------------------------------------
4662

4763
Join pg_catalog.pg_aggregate.aggfnoid => pg_catalog.pg_proc.oid
@@ -71,6 +87,9 @@ Join pg_catalog.pg_attrdef.adrelid => pg_catalog.pg_class.oid
7187
Join pg_catalog.pg_attribute.attrelid => pg_catalog.pg_class.oid
7288
Join pg_catalog.pg_attribute.atttypid => pg_catalog.pg_type.oid
7389
Join pg_catalog.pg_attribute.attcollation => pg_catalog.pg_collation.oid
90+
Join pg_catalog.pg_auth_members.roleid => pg_catalog.pg_authid.oid
91+
Join pg_catalog.pg_auth_members.member => pg_catalog.pg_authid.oid
92+
Join pg_catalog.pg_auth_members.grantor => pg_catalog.pg_authid.oid
7493
Join pg_catalog.pg_cast.castsource => pg_catalog.pg_type.oid
7594
Join pg_catalog.pg_cast.casttarget => pg_catalog.pg_type.oid
7695
Join pg_catalog.pg_cast.castfunc => pg_catalog.pg_proc.oid
@@ -134,6 +153,7 @@ Join pg_catalog.pg_operator.oprjoin => pg_catalog.pg_proc.oid
134153
Join pg_catalog.pg_opfamily.opfmethod => pg_catalog.pg_am.oid
135154
Join pg_catalog.pg_opfamily.opfnamespace => pg_catalog.pg_namespace.oid
136155
Join pg_catalog.pg_opfamily.opfowner => pg_catalog.pg_authid.oid
156+
Join pg_catalog.pg_partitioned_table.partrelid => pg_catalog.pg_class.oid
137157
Join pg_catalog.pg_policy.polrelid => pg_catalog.pg_class.oid
138158
Join pg_catalog.pg_proc.pronamespace => pg_catalog.pg_namespace.oid
139159
Join pg_catalog.pg_proc.proowner => pg_catalog.pg_authid.oid
@@ -148,6 +168,8 @@ Join pg_catalog.pg_range.rngsubopc => pg_catalog.pg_opclass.oid
148168
Join pg_catalog.pg_range.rngcanonical => pg_catalog.pg_proc.oid
149169
Join pg_catalog.pg_range.rngsubdiff => pg_catalog.pg_proc.oid
150170
Join pg_catalog.pg_rewrite.ev_class => pg_catalog.pg_class.oid
171+
Join pg_catalog.pg_sequence.seqrelid => pg_catalog.pg_class.oid
172+
Join pg_catalog.pg_sequence.seqtypid => pg_catalog.pg_type.oid
151173
Join pg_catalog.pg_shdepend.refclassid => pg_catalog.pg_class.oid
152174
Join pg_catalog.pg_shdescription.classoid => pg_catalog.pg_class.oid
153175
Join pg_catalog.pg_statistic.starelid => pg_catalog.pg_class.oid
@@ -156,6 +178,9 @@ Join pg_catalog.pg_statistic.staop2 => pg_catalog.pg_operator.oid
156178
Join pg_catalog.pg_statistic.staop3 => pg_catalog.pg_operator.oid
157179
Join pg_catalog.pg_statistic.staop4 => pg_catalog.pg_operator.oid
158180
Join pg_catalog.pg_statistic.staop5 => pg_catalog.pg_operator.oid
181+
Join pg_catalog.pg_statistic_ext.stxrelid => pg_catalog.pg_class.oid
182+
Join pg_catalog.pg_statistic_ext.stxnamespace => pg_catalog.pg_namespace.oid
183+
Join pg_catalog.pg_statistic_ext.stxowner => pg_catalog.pg_authid.oid
159184
Join pg_catalog.pg_tablespace.spcowner => pg_catalog.pg_authid.oid
160185
Join pg_catalog.pg_transform.trftype => pg_catalog.pg_type.oid
161186
Join pg_catalog.pg_transform.trflang => pg_catalog.pg_language.oid

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp