Re: Do we really need to switch to per-tuple memory context inATRewriteTable() when Table Rewrite is not happening - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Do we really need to switch to per-tuple memory context inATRewriteTable() when Table Rewrite is not happening
Date
Msg-id 20180103135535.otpmygpffiwnhqdi@alvherre.pgsql
Whole thread Raw
In response to Do we really need to switch to per-tuple memory context inATRewriteTable() when Table Rewrite is not happening  (Ashutosh Sharma <ashu.coek88@gmail.com>)
Responses Re: Do we really need to switch to per-tuple memory context inATRewriteTable() when Table Rewrite is not happening
List pgsql-hackers
Ashutosh Sharma wrote:

> I am basically talking about the following lines of code in
> ATRewriteTable() function.
> 
> /*
>  * Switch to per-tuple memory context and reset it for each tuple
>  * produced, so we don't leak memory.
>  */
> oldCxt = MemoryContextSwitchTo(GetPerTupleMemoryContext(estate));

Perhaps a memory context switch is so cheap that adding a branch to
verify whether it's needed is more expensive than just doing it all the
time.  You could prove me wrong by measuring it.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


pgsql-hackers by date:

Previous
From: David Rowley
Date:
Subject: Re: [HACKERS] UPDATE of partition key
Next
From: Alvaro Herrera
Date:
Subject: Re: Deadlock in multiple CIC.