From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
Cc: | Chris Mungall <cjm(at)fruitfly(dot)org>, pgsql-admin(at)postgresql(dot)org |
Subject: | Re: Using functions as filters in queries |
Date: | 2003-03-14 00:58:14 |
Message-ID: | 13991.1047603494@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)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. :(
As of a few moments ago, CVS tip reduces that to t.n=5 which is
indexable.
regression=# EXPLAIN select * from t where f(t, 5) AND x like 'a%';
QUERY PLAN
--------------------------------------------------------------
Index Scan using ti on t (cost=0.00..17.08 rows=1 width=38)
Index Cond: (n = 5)
Filter: (x ~~ 'a%'::text)
(3 rows)
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Partho Bhowmick | 2003-03-14 01:27:54 | Regular expressions in PostgreSQL |
Previous Message | postgres | 2003-03-13 21:53:33 | could not create large object cross-reference entry |