Re: Rewrite, normal execution vs. EXPLAIN ANALYZE

Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>

From: Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>
To: Robert Haas <robertmhaas@gmail.com>
Cc: David Fetter <david@fetter.org>, pgsql-hackers@postgresql.org
Date: 2010-07-23T19:06:09Z
Lists: pgsql-hackers
On 7/23/2010 10:00 PM, Robert Haas wrote:
> On Fri, Jul 23, 2010 at 2:13 PM, Marko Tiikkaja
> <marko.tiikkaja@cs.helsinki.fi>  wrote:
>> Currently, I'm trying to make wCTEs behave a bit like RULEs do.  But if
>> every rewrite product takes a new snapshot, wCTEs will behave very
>> unpredictably.
>>
>> But because EXPLAIN ANALYZE does *not* take a new snapshot for every rewrite
>> product, I'm starting to think that maybe this isn't the behaviour we wanted
>> to begin with?
>
> Where should I be looking in the code for this?

ProcessQuery() and ExplainOnePlan().  ProcessQuery calls 
PushActiveSnapshot(GetTransactionSnapshot()) for every statement while 
ExplainOnePlan calls PushUpdatedSnapshot(GetActiveSnapshot()).


Regards,
Marko Tiikkaja