Lars Erik Thorsplass wrote: > On Tue, 20 Jul 2004 09:45:06 -0600, Scott Marlowe <[EMAIL PROTECTED]> wrote: > > > Kinda like this: > > > > > > SELECT *, acl_check( objects.obid, <user_id> ) AS mode FROM objects > > > WHERE mode > 0; > > > > Here's the problem. In order to do the select, the query first needs to > > run the where clause. I.e.: > > > > select a as test from table where a > 50; > > > > works, but > > > > select a as test from table where test > 50; > > > > fails. The reason is that when the where clause fires first, there IS > > no test yet, as it hasn't been materialized. what you need to do is: > > > > select custom_function(a,b) from table where custom_function(a,b) > 0; > > > > > > Thanks for clearing that up. I just hoped there was some magic I could > sprinkle on my query to get away from the extra overhead of running > the procedure twice :) > > Best regards.. > > L.E.Thorsplass >
Pretty late, I know, but just for the record, AFAICS there is this magic as SELECT * FROM ( SELECT *, acl_check( objects.obid, <user_id> ) AS mode FROM objects ) AS foo WHERE mode > 0; Regards, Christoph ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend