aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/utils/cache/catcache.c3
-rw-r--r--src/backend/utils/cache/syscache.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/src/backend/utils/cache/catcache.c b/src/backend/utils/cache/catcache.c
index 4510031fe69..1aacb736c22 100644
--- a/src/backend/utils/cache/catcache.c
+++ b/src/backend/utils/cache/catcache.c
@@ -825,7 +825,10 @@ InitCatCache(int id,
cp->cc_nbuckets = nbuckets;
cp->cc_nkeys = nkeys;
for (i = 0; i < nkeys; ++i)
+ {
+ Assert(AttributeNumberIsValid(key[i]));
cp->cc_keyno[i] = key[i];
+ }
/*
* new cache is initialized as far as we can go for now. print some
diff --git a/src/backend/utils/cache/syscache.c b/src/backend/utils/cache/syscache.c
index 4e4a34bde80..8dbda0024f9 100644
--- a/src/backend/utils/cache/syscache.c
+++ b/src/backend/utils/cache/syscache.c
@@ -720,7 +720,9 @@ InitCatalogCache(void)
* Assert that every enumeration value defined in syscache.h has been
* populated in the cacheinfo array.
*/
- Assert(cacheinfo[cacheId].reloid != 0);
+ Assert(OidIsValid(cacheinfo[cacheId].reloid));
+ Assert(OidIsValid(cacheinfo[cacheId].indoid));
+ /* .nbuckets and .key[] are checked by InitCatCache() */
SysCache[cacheId] = InitCatCache(cacheId,
cacheinfo[cacheId].reloid,