Обсуждение: One-time plans

Поиск
Список
Период
Сортировка

One-time plans

От
"Simon Riggs"
Дата:
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




Re: One-time plans

От
Tom Lane
Дата:
"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


Re: One-time plans

От
"Simon Riggs"
Дата:
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