Обсуждение: portals vs. memory contexts

Поиск
Список
Период
Сортировка

portals vs. memory contexts

От
Bruce Momjian
Дата:
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

От
Vadim Mikheev
Дата:
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

От
Bruce Momjian
Дата:
> 
> 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

От
Vadim Mikheev
Дата:
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

От
Bruce Momjian
Дата:
> 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

От
Bruce Momjian
Дата:
> 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