Call for objections: simplify stable functions during estimation - Mailing list pgsql-hackers

From Tom Lane
Subject Call for objections: simplify stable functions during estimation
Date
Msg-id 20451.1100017718@sss.pgh.pa.us
Whole thread Raw
Responses Re: Call for objections: simplify stable functions  (Simon Riggs <simon@2ndquadrant.com>)
Re: Call for objections: simplify stable functions during  ("Marc G. Fournier" <scrappy@postgresql.org>)
Re: Call for objections: simplify stable functions during estimation  (Robert Treat <xzilla@users.sourceforge.net>)
List pgsql-hackers
Awhile back, there was some discussion about pre-folding now() and
related functions when the planner is trying to estimate selectivities.
This would allow reasonable plans to be made for cases likeWHERE moddate >= current_date - 10;
without having to indulge in any crude hacks with mislabeled wrapper
functions, such as you can find all too often in the archives :-(

I was a bit hesitant about it at the time because I wasn't sure of all
the implications; but I've looked the idea over again, and as far as I
can see it's reasonable to pre-fold *all* stable functions when deriving
statistical estimates.  (One of the potential objections went away when
we started enforcing that stable functions don't have side-effects.)

The infrastructure for this is already there, because of Oliver Jowett's
previous work to teach eval_const_expressions() whether it's folding
the expression "for real" or just for estimation; it's basically a one
line change to treat stable functions differently in the two cases.

I know it's a bit late in the cycle, but I'd like to go ahead and make
this change for 8.0.  Objections?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Increasing the length of
Next
From: Peter Eisentraut
Date:
Subject: Reorganization of the translation files