portals vs. memory contexts
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, Pennsylvania 19026
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, Pennsylvania 19026
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
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
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 toVacuum 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, Pennsylvania 19026
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, Pennsylvania 19026