Thread: portals vs. memory contexts

portals vs. memory contexts

From
Bruce Momjian
Date:
I notice you used portals for vacuum, rather than a separate memory
context.  Can I ask why?

I am considering creating an expression portal or memory context to
prevent the memory leaks from the utils/adt functions.

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: portals vs. memory contexts

From
Vadim Mikheev
Date:
Bruce Momjian wrote:
> 
> I notice you used portals for vacuum, rather than a separate memory
> context.  Can I ask why?

Not me really -:)   /*    * Create a portal for safe memory across transctions.  We need to

Vacuum uses separate transaction for each of relations to be
vacuumed. VACPNAME is special portal name that is not cleaned
at commit/abort.

> 
> I am considering creating an expression portal or memory context to
> prevent the memory leaks from the utils/adt functions.

Will you try to fix problems with WHERE a = lower(b) ?

Vadim


Re: [HACKERS] portals vs. memory contexts

From
Bruce Momjian
Date:
> 
> I notice you used portals for vacuum, rather than a separate memory
> context.  Can I ask why?
> 
> I am considering creating an expression portal or memory context to
> prevent the memory leaks from the utils/adt functions.
> 

I am also confused about varaible portal memory vs heap portal memory.

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: [HACKERS] portals vs. memory contexts

From
Vadim Mikheev
Date:
Bruce Momjian wrote:
> 
> >
> > I notice you used portals for vacuum, rather than a separate memory
> > context.  Can I ask why?
> >
> > I am considering creating an expression portal or memory context to
> > prevent the memory leaks from the utils/adt functions.
> >
> 
> I am also confused about varaible portal memory vs heap portal memory.

portalmem.c:
*                      Node*                      |*              MemoryContext___*              /               \*
GlobalMemory    PortalMemoryContext*                      /               \*      PortalVariableMemory
PortalHeapMemory**                     Flushed at      Flushed at      Checkpoints*                      Transaction
Portal*                      Commit          Close** GlobalMemory                 n               n               n*
PortalVariableMemory        n               y               n* PortalHeapMemory             y               y
   y *
 

Vadim


Re: portals vs. memory contexts

From
Bruce Momjian
Date:
> Bruce Momjian wrote:
> > 
> > I notice you used portals for vacuum, rather than a separate memory
> > context.  Can I ask why?
> 
> Not me really -:)
>     /*
>      * Create a portal for safe memory across transctions.  We need to
> 
> Vacuum uses separate transaction for each of relations to be
> vacuumed. VACPNAME is special portal name that is not cleaned
> at commit/abort.
> 
> > 
> > I am considering creating an expression portal or memory context to
> > prevent the memory leaks from the utils/adt functions.
> 
> Will you try to fix problems with WHERE a = lower(b) ?

Yes, this will fix that too.

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: [HACKERS] portals vs. memory contexts

From
Bruce Momjian
Date:
> portalmem.c:
> 
>  *                      Node
>  *                      |
>  *              MemoryContext___
>  *              /               \
>  *      GlobalMemory    PortalMemoryContext
>  *                      /               \
>  *      PortalVariableMemory    PortalHeapMemory
>  *
>  *                      Flushed at      Flushed at      Checkpoints
>  *                      Transaction     Portal
>  *                      Commit          Close
>  *
>  * GlobalMemory                 n               n               n
>  * PortalVariableMemory         n               y               n
>  * PortalHeapMemory             y               y               y *

Yes, I saw that.  Is that the only difference?

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026