]> granicus.if.org Git - postgresql/commitdiff
Fix over-aggressive sanity check in misc_sanity.sql.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 28 Aug 2017 14:14:20 +0000 (10:14 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 28 Aug 2017 14:14:47 +0000 (10:14 -0400)
Fix thinko in commit 8be8510cf: it's okay to have dbid == 0 in normal
(non-pin) entries in pg_shdepend, because global objects such as
databases are entered that way.  The test would pass so long as it
was run in a cluster containing no databases/tablespaces owned by,
or granted to, roles other than the bootstrap superuser.  That's the
expected situation for "make check", but for "make installcheck", not
so much.

Reported by Ryan Murphy.

Discussion: https://postgr.es/m/CAHeEsBc6EQe0mxGBKDXAwJbntgfvoAd5MQC-5362SmC3Tng_6g@mail.gmail.com

src/test/regress/expected/misc_sanity.out
src/test/regress/sql/misc_sanity.sql

index f02689660bd3170a4b4c6d44081c47668eddd2f2..5aaae6c39fc1573728b464bf555050803ad89855 100644 (file)
@@ -29,7 +29,7 @@ SELECT *
 FROM pg_shdepend as d1
 WHERE refclassid = 0 OR refobjid = 0 OR
       deptype NOT IN ('a', 'o', 'p', 'r') OR
-      (deptype != 'p' AND (dbid = 0 OR classid = 0 OR objid = 0)) OR
+      (deptype != 'p' AND (classid = 0 OR objid = 0)) OR
       (deptype = 'p' AND (dbid != 0 OR classid != 0 OR objid != 0 OR objsubid != 0));
  dbid | classid | objid | objsubid | refclassid | refobjid | deptype 
 ------+---------+-------+----------+------------+----------+---------
index 5130a4ab794afd53db059ca4094dfcec3cf02458..b921117fa52c74f1d5ede57e0d1bd1f8d5659ab6 100644 (file)
@@ -32,7 +32,7 @@ SELECT *
 FROM pg_shdepend as d1
 WHERE refclassid = 0 OR refobjid = 0 OR
       deptype NOT IN ('a', 'o', 'p', 'r') OR
-      (deptype != 'p' AND (dbid = 0 OR classid = 0 OR objid = 0)) OR
+      (deptype != 'p' AND (classid = 0 OR objid = 0)) OR
       (deptype = 'p' AND (dbid != 0 OR classid != 0 OR objid != 0 OR objsubid != 0));