Re: Rewrite, normal execution vs. EXPLAIN ANALYZE - Mailing list pgsql-hackers

From Marko Tiikkaja
Subject Re: Rewrite, normal execution vs. EXPLAIN ANALYZE
Date
Msg-id 4C7C1D93.8040907@cs.helsinki.fi
Whole thread Raw
In response to Re: Rewrite, normal execution vs. EXPLAIN ANALYZE  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Rewrite, normal execution vs. EXPLAIN ANALYZE  (Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>)
Re: Rewrite, normal execution vs. EXPLAIN ANALYZE  (Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>)
List pgsql-hackers
Hi,

I looked at fixing this inconsistency by making all query list snapshot
handling work like EXPLAIN ANALYZE's code does.  The only reason I went
this way was that implementing wCTEs on top of this behaviour is a lot
easier.

There were three places that needed fixing.  The SPI and portal logic
changes were quite straightforward, but the SQL language function code
previously didn't know what query trees of the execution_state list
belonged to which query so there was no way to tell when we actually
needed to take a new snapshot.  The approach I took was to change the
representation of the SQL function cache to a list of execution_state
lists, and grab a new snapshot between the lists.

The patch needs a bit more comments and some cleaning up, but I thought
I'd get your input first.  Thoughts?


Regards,
Marko Tiikkaja

Attachment

pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: How to construct an exact plan
Next
From: Marko Tiikkaja
Date:
Subject: Re: Rewrite, normal execution vs. EXPLAIN ANALYZE