From d0c8cf2a56fadb08705433bffb301559d97b0712 Mon Sep 17 00:00:00 2001 From: Alexander Korotkov Date: Thu, 8 Aug 2024 11:48:57 +0300 Subject: [PATCH] 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 --- src/backend/utils/hash/dynahash.c | 5 +++++ 1 file changed, 5 insertions(+) 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,