isfixed_check.patch

text/x-diff

Filename: isfixed_check.patch
Type: text/x-diff
Part: 0
Message: HASH_FIXED_SIZE flag gets lost when attaching to existing hash table

Patch

Format: unified
File+
src/backend/utils/hash/dynahash.c 3 0
diff --git a/src/backend/utils/hash/dynahash.c b/src/backend/utils/hash/dynahash.c
index 1ad155d446e..f0efb4fd3b6 100644
--- a/src/backend/utils/hash/dynahash.c
+++ b/src/backend/utils/hash/dynahash.c
@@ -496,6 +496,9 @@ hash_create(const char *tabname, long nelem, const HASHCTL *info, int flags)
 			hashp->ssize = hctl->ssize;
 			hashp->sshift = hctl->sshift;
 
+			if (flags & HASH_FIXED_SIZE)
+				hashp->isfixed = true;
+
 			return hashp;
 		}
 	}