hash_destroy on the hash table allocated with TopMemoryContext

Started by Sharique Muhammedover 1 year ago2 messages
#1Sharique Muhammed
shq78758@gmail.com

Hi,

I was looking for a pattern to destroy a hashtable (dynahash).allocated
in TopMemoryContext
I found one pattern : create_seq_hashtable uses TopMemoryContext
memory context to create hash table. It calls hash_destroy in
ResetSequenceCaches. hash_destroy will destroy the memory
context(TopMemoryContext). Is it the right way to use hash_destroy ?

I have allocated a hash table in TopMemoryContext context and I want
to destroy it. It seems to me that there is no function to destroy hash
table allocated in TopMemoryContext context.

-- Sharique

#2Ashutosh Bapat
ashutosh.bapat.oss@gmail.com
In reply to: Sharique Muhammed (#1)
Re: hash_destroy on the hash table allocated with TopMemoryContext

On Wed, Apr 17, 2024 at 1:04 PM Sharique Muhammed <shq78758@gmail.com>
wrote:

Hi,

I was looking for a pattern to destroy a hashtable (dynahash).allocated
in TopMemoryContext
I found one pattern : create_seq_hashtable uses TopMemoryContext
memory context to create hash table. It calls hash_destroy in
ResetSequenceCaches. hash_destroy will destroy the memory
context(TopMemoryContext). Is it the right way to use hash_destroy ?

The context used to pass hash_create() is used to create a child memory
context. The hash table is allocated in the child memory context and it's
that context which is destoryed by hash_destory(). Isn't it?

I have allocated a hash table in TopMemoryContext context and I want
to destroy it. It seems to me that there is no function to destroy hash
table allocated in TopMemoryContext context.

How did you create hash table in TopMemoryContext?

--
Best Wishes,
Ashutosh Bapat