diff --git a/src/backend/utils/resowner/resowner.c b/src/backend/utils/resowner/resowner.c index 6189d05107..e6b136ca04 100644 --- a/src/backend/utils/resowner/resowner.c +++ b/src/backend/utils/resowner/resowner.c @@ -37,7 +37,7 @@ typedef struct ResourceElem { Datum item; - ResourceOwnerFuncs *kind; + ResourceOwnerFuncs *kind; /* kind == NULL indicates a free hash table slot */ } ResourceElem; /* @@ -186,9 +186,14 @@ hash_resource_elem(Datum value, ResourceOwnerFuncs *kind) #endif } +/* + * Adds 'value' of given 'kind' to the ResourceOwner's hash table + */ static void ResourceOwnerAddToHash(ResourceOwner owner, Datum value, ResourceOwnerFuncs *kind) { + Assert(kind != NULL); + /* Insert into first free slot at or after hash location. */ uint32 mask = owner->capacity - 1; uint32 idx; @@ -197,7 +202,7 @@ ResourceOwnerAddToHash(ResourceOwner owner, Datum value, ResourceOwnerFuncs *kin for (;;) { if (owner->hash[idx].kind == NULL) - break; + break; /* free slot found */ idx = (idx + 1) & mask; } owner->hash[idx].item = value; @@ -408,9 +413,6 @@ ResourceOwnerRemember(ResourceOwner owner, Datum value, ResourceOwnerFuncs *kind /* * Forget that an object is owned by a ResourceOwner * - * Returns true on success. If the resource was not found, returns false, - * and calls kind->ForgetError callback. - * * Note: if same resource ID is associated with the ResourceOwner more than once, * one instance is removed. */