Bruce Momjian wrote: > > Interesting... declaring this: > > > > create function ispermitted(text, integer) returns boolean as $$ > > select permission & $2 = permission from forum where forum.name=$1; > > $$ Language SQL STABLE; > > > > then calling it with "ispermitted(post.forum, '4')" as one of the terms > > causes the query optimizer to treat it as a FILTER instead of a nested > > loop, and it works as expected. > > > > However, I don't think I can index that - right - since there are two > > variables involved which are not part of the table being indexed..... > > That should index fine. It is an _expression_ index so it can be pretty > complicated. Oh, you have to use the exact same syntax in there WHERE clause for the expression index to be used, then use EXPLAIN to see if the index is used. -- Bruce Momjian <bruce@xxxxxxxxxx> http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. + -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance