Thanks Tom. That did it. Theirs always something to learn, when i read you. Best regards Hakan > -----Original Message----- > From: Tom Lane [mailto:tgl@xxxxxxxxxxxxx] > Sent: Friday, February 02, 2007 4:04 PM > To: Hakan Kocaman > Cc: pgsql-general@xxxxxxxxxxxxxx > Subject: Re: [GENERAL] Functions, composite types and Notice > > > "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 >