Re: Stored procedures and "pseudo" fields
От | Christoph Haller |
---|---|
Тема | Re: Stored procedures and "pseudo" fields |
Дата | |
Msg-id | 4118D14C.EA49F8CB@rodos.fzk.de обсуждение исходный текст |
Ответ на | Re: [GENERAL] Stored procedures and "pseudo" fields.. (Lars Erik Thorsplass <thorsplass@gmail.com>) |
Список | pgsql-sql |
Lars Erik Thorsplass wrote: > On Tue, 20 Jul 2004 09:45:06 -0600, Scott Marlowe <smarlowe@qwest.net> 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
В списке pgsql-sql по дате отправления: