Call for objections: simplify stable functions during estimation

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)postgreSQL(dot)org
Subject: Call for objections: simplify stable functions during estimation
Date: 2004-11-09 16:28:38
Message-ID: 20451.1100017718@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 like
WHERE 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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2004-11-09 16:30:09 Reorganization of the translation files
Previous Message Andreas Pflug 2004-11-09 15:32:26 Re: Increasing the length of pg_stat_activity.current_query...