Your e-mail did not arrive at its intended destination. You need to
send it to Michael J. Davis, not Michael Davis.
From: Vadim Mikheev <vadim @ krs.ru> on 05/04/99 09:18 PMTo: Tom Lane <tgl @ sss.pgh.pa.us>@SMTP@EXCHANGEcc:
pgsql-hackers@ postgreSQL.org@SMTP@EXCHANGE Subject: Re: [HACKERS] Advice wanted on backend memory
management
Tom Lane wrote:> > I want to change hashjoin's use of a fixed-size overflow area for
tuples> that don't fit into the hashbucket they ought to go in. Since
it's> always possible for an improbably large number of tuples to hash
into the> same hashbucket, the overflow area itself can overflow; without
the> ability to recover from that, hashjoin is inherently unreliable.> So I think this is an important thing to fix.> >
Todo this, I need to be able to allocate chunks of space that I
will> later want to give back all at once (at the end of a hash pass).> Seems to me like a job for palloc and a special
memorycontext ---> but I see no way in mcxt.h to create a new memory context. How do> I do that? Also, I'd want the
newcontext to be a "sub-context"
of
No way :(StartPortalAllocMode could help but - portalmem.c:/* * StartPortalAllocMode * Starts a new block of
portalheap allocation using mode and
limit; * the current block is disabled until EndPortalAllocMode is
called.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^I'm unhappy with this allocation block stacking for
quitelong time
:(
Try to pfree chunks "by hand".
Vadim