One-time plans

Started by Simon Riggsalmost 19 years ago3 messages
#1Simon Riggs
simon@2ndquadrant.com

ISTM we've just invented the concept of one-time plans to allow CREATE
INDEX to work effectively with HOT.

I'd like to extend that thought back over towards constraint exclusion.
Currently we don't allow STABLE functions to be used for constraint
exclusion because that mean plans were valid only if they are
immediately executed.

It seems like a very small act to force the plan to be one-time only
when we have successfully used a STABLE function to exclude a table.

--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Simon Riggs (#1)
Re: One-time plans

"Simon Riggs" <simon@2ndquadrant.com> writes:

ISTM we've just invented the concept of one-time plans to allow CREATE
INDEX to work effectively with HOT.

I'd like to extend that thought back over towards constraint exclusion.
Currently we don't allow STABLE functions to be used for constraint
exclusion because that mean plans were valid only if they are
immediately executed.

It seems like a very small act to force the plan to be one-time only
when we have successfully used a STABLE function to exclude a table.

No. STABLE functions are not stable enough for that --- you'd have to
assume they are unchanging across the whole transaction.

regards, tom lane

#3Simon Riggs
simon@2ndquadrant.com
In reply to: Tom Lane (#2)
Re: One-time plans

On Mon, 2007-04-02 at 12:20 -0400, Tom Lane wrote:

"Simon Riggs" <simon@2ndquadrant.com> writes:

ISTM we've just invented the concept of one-time plans to allow CREATE
INDEX to work effectively with HOT.

I'd like to extend that thought back over towards constraint exclusion.
Currently we don't allow STABLE functions to be used for constraint
exclusion because that mean plans were valid only if they are
immediately executed.

It seems like a very small act to force the plan to be one-time only
when we have successfully used a STABLE function to exclude a table.

No. STABLE functions are not stable enough for that --- you'd have to
assume they are unchanging across the whole transaction.

Yep. I was mainly thinking about single statement transactions, which
are the norm for decision support.

--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com