Thread: 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, Pennsylvania19026
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
> > 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
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 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
> 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