Re: Using functions as filters in queries - Mailing list pgsql-admin

From Tom Lane
Subject Re: Using functions as filters in queries
Date
Msg-id 29952.1047509029@sss.pgh.pa.us
Whole thread Raw
In response to Re: Using functions as filters in queries  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Responses Re: Using functions as filters in queries
List pgsql-admin
Stephan Szabo <sszabo@megazone23.bigpanda.com> writes:
> Of course, I misread what explain did (without trying the
> enable_seqscan=off case) and this is still not indexable because even
> after that, you'll not get a clause on the outside that it considers
> indexable.  It is smart enough (7.4 anyway) to make the filter ((t.*).n)=5
> which I thought it'd index, but doesn't. :(

Note that inline-expansion of SQL functions like this is new for 7.4;
it's not done in any current release.

I think the extra step to make this expression indexable is probably not
too hard: the constant-expression folder needs to be taught that
extracting a field from a whole-row Var can be replaced by a Var
reference to the field, ie, fold "(t.*).n" into "t.n".

            regards, tom lane

pgsql-admin by date:

Previous
From: "Carla Moema Hartstein"
Date:
Subject: Cancel
Next
From: Robert Treat
Date:
Subject: Re: Help with determining a database's size