From e92c915842af55d899697989df3fbd320df2e3f0 Mon Sep 17 00:00:00 2001 From: Sait Talha Nisanci Date: Wed, 18 Aug 2021 15:13:57 +0300 Subject: [PATCH] Use HASH_STRINGS explicitly in hash functions Postgres expects to set the HASH_STRINGS explicitly in case of the default behaivor for string hash function. Postgres Commit b3817f5f774663d55931dd4fab9c5a94a15ae7ab --- src/backend/columnar/write_state_management.c | 2 +- src/backend/distributed/utils/listutils.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/backend/columnar/write_state_management.c b/src/backend/columnar/write_state_management.c index 69860ad57..4d815c2a0 100644 --- a/src/backend/columnar/write_state_management.c +++ b/src/backend/columnar/write_state_management.c @@ -132,7 +132,7 @@ columnar_init_write_state(Relation relation, TupleDesc tupdesc, "Column Store Write State Management Context", ALLOCSET_DEFAULT_SIZES); HASHCTL info; - uint32 hashFlags = (HASH_ELEM | HASH_CONTEXT); + uint32 hashFlags = (HASH_ELEM | HASH_STRINGS | HASH_CONTEXT); memset(&info, 0, sizeof(info)); info.keysize = sizeof(Oid); info.entrysize = sizeof(WriteStateMapEntry); diff --git a/src/backend/distributed/utils/listutils.c b/src/backend/distributed/utils/listutils.c index c58be3e46..6267663f2 100644 --- a/src/backend/distributed/utils/listutils.c +++ b/src/backend/distributed/utils/listutils.c @@ -138,6 +138,8 @@ ListToHashSet(List *itemList, Size keySize, bool isStringList) if (!isStringList) { flags |= HASH_BLOBS; + }else { + flags |= HASH_STRINGS; } HTAB *itemSet = hash_create("ListToHashSet", capacity, &info, flags);