Bucky Jordan wrote:
> What about using regular expressions, plus, if you have a function
> (views, or any other statement that is stored), you can assign a rule to
> that particular function. So you get matching, plus explicit selection.
> This way it's easy to find all your hints, turn them off, manage them,
> etc. (Not to mention dynamically generated SQL is ugly enough without
> having to put hints in there).
The regular expression idea that's being floated around makes my brain
feel like somebody is screeching a blackboard nearby. I don't think
it's a sane idea. I think you could achieve something similar by using
stored plan representations, like we do for rewrite rules. So you'd
look for, say, a matching join combination in a catalog, and get a
selectivity from a function that would get the selectivities of the
conditions on the base tables. Or something like that anyway.
That gets ugly pretty fast when you have to extract selectivities for
all the possible join paths in any given query.
But please don't talk about regular expressions.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support