From: Alexander Korotkov Date: Thu, 8 Aug 2024 08:48:57 +0000 (+0300) Subject: Add a caveat to hash_seq_init_with_hash_value() header comment X-Git-Tag: REL_18_BETA1~2179 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=d0c8cf2a56fadb08705433bffb301559d97b0712;p=postgresql.git Add a caveat to hash_seq_init_with_hash_value() header comment The typical use-case for hash_seq_init_with_hash_value() is syscache callback. Add a caveat that the default hash function doesn't match syscache hash function. So, one needs to define a custom hash function. Reported-by: Pavel Stehule Discussion: https://postgr.es/m/CAFj8pRAXmv6eyYx%3DE_BTfyK%3DO_%2ByOF8sXB%3D0bn9eOBt90EgWRA%40mail.gmail.com Reviewed-by: Pavel Stehule --- diff --git a/src/backend/utils/hash/dynahash.c b/src/backend/utils/hash/dynahash.c index 8040416a13c..5d9c62b652a 100644 --- a/src/backend/utils/hash/dynahash.c +++ b/src/backend/utils/hash/dynahash.c @@ -1395,6 +1395,11 @@ hash_seq_init(HASH_SEQ_STATUS *status, HTAB *hashp) /* * Same as above but scan by the given hash value. * See also hash_seq_search(). + * + * NOTE: the default hash function doesn't match syscache hash function. + * Thus, if you're going to use this function in syscache callback, make sure + * you're using custom hash function. See relatt_cache_syshash() + * for example. */ void hash_seq_init_with_hash_value(HASH_SEQ_STATUS *status, HTAB *hashp,