"Hakan Kocaman" <Hakan.Kocaman@xxxxxxxxx> writes: >> Try this way instead: >> select * from public.check_notice(2,'hello'); > so i call the function now like this (obfuscated): > select > public.check_notice(t1.a,t1.b,t2.c) > from > public.tab1 t1, > public.tab2 t2 > I'm not clear how i can use the mentioned syntax with this kind of > query. No, you can't at the moment; you have to use the way you're doing it. There's been some speculation that SQL2003's LATERAL syntax might fix this problem, but no one's dug into it deeply enough to even be sure of that, let alone figure out what it'll take to implement it. If you're trying to avoid multiple evaluation of the function, the best way is to use "OFFSET 0" as an optimization fence to prevent flattening of a subquery. I get what seems to be the right thing from select (x).* from (select sumprod(f1,f2) as x from foo offset 0) ss; regards, tom lane