"Hakan Kocaman" <Hakan.Kocaman@digame.de> 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