Hi hackers,

I noticed that there is a magic number which can be replaced by CATCACHE_MAXKEYS
in struct cachedesc, I checked some other struct like CatCache, CatCTup, they
all use CATCACHE_MAXKEYS.

I did some search on pg-hackers, and found an old thread[0] that
Robert proposed to change
the maximum number of keys for a syscache from 4 to 5.

It seems to me that the *five-key syscaches* feature is not necessary
since the idea was
14 years old and we still use 4 keys without any problems(I might be wrong).

However, in that patch, there is a change that seems reasonable.

--- a/src/backend/utils/cache/syscache.c
+++ b/src/backend/utils/cache/syscache.c
@@ -95,7 +95,7 @@ struct cachedesc
        Oid                     reloid;                 /* OID of the
relation being cached */
        Oid                     indoid;                 /* OID of
index relation for this cache */
        int                     nkeys;                  /* # of keys
needed for cache lookup */
-       int                     key[4];                 /* attribute
numbers of key attrs */
+       int                     key[CATCACHE_MAXKEYS];  /* attribute
numbers of key attrs */
        int                     nbuckets;               /* number of
hash buckets for this cache */
 };


[0]: 
https://www.postgresql.org/message-id/flat/603c8f071003281532t5e6c68eex458825485d4fcd98%40mail.gmail.com

-- 
Regards
Junwang Zhao

Attachment: v1-0001-replace-magic-num-with-CATCACHE_MAXKEYS.patch
Description: Binary data

Reply via email to