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

Reply via email to