Re: Turning off HOT/Cleanup sometimes - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Turning off HOT/Cleanup sometimes
Date
Msg-id CA+U5nM+67-o9SxjS4_F5pWbvqCWNB8te6LXzdkEX9eNE3Pjr3g@mail.gmail.com
Whole thread Raw
In response to Re: Turning off HOT/Cleanup sometimes  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: Turning off HOT/Cleanup sometimes
Re: Turning off HOT/Cleanup sometimes
List pgsql-hackers
On 12 September 2014 14:54, Alvaro Herrera <alvherre@2ndquadrant.com> wrote:

> My idea is that we would have a new executor flag, say
> EXEC_FLAG_READ_ONLY; we would set it on nodes that are known to be
> read-only, and reset it on those that aren't, such as LockRows and
> ModifyTable (obviously we need to pass it down correctly from parent to
> children).  Then in ExecInitSeqScan and ExecInitIndexScan, if we see the
> flag set, we call heap/index_set_allow_prune(false) for the heap scan;
> same thing in index scans.  (I envisioned it as a boolean rather than
> enabling a certain number of cleanups per scan.)
>
> I tried to code this but I think it doesn't work correctly, and no time
> for debug currently.  Anyway let me know what you think of this general
> idea.

Thanks for looking at this.

My concern was to ensure that UPDATEs and DELETEs continue to call
heap_page_prune_opt while larger SELECTs do not.

This is achieved without a counter, so after some thought like it
better; simple is good. Happy to progress from here, or you can?

-- Simon Riggs                   http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services



pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: expanded mode is still broken
Next
From: Alvaro Herrera
Date:
Subject: Re: Turning off HOT/Cleanup sometimes