AW: AW: functions returning records - Mailing list pgsql-hackers

From Zeugswetter Andreas SB
Subject AW: AW: functions returning records
Date
Msg-id 11C1E6749A55D411A9670001FA687963368350@sdexcsrv1.f000.d0188.sd.spardat.at
Whole thread Raw
Responses Re: AW: AW: functions returning records  (Alex Pilosov <alex@pilosoft.com>)
List pgsql-hackers
> >>  For the result from foo() you must somewhere define attributes (names). 
> >> Where? In CREATE FUNCTION statement? Possible must be:
> >> 
> >>  select name1, name2 from foo() where name1 > 10;
> > 
> > Yes, optimal would imho also be if the foo() somehow had access to the
> > where restriction, so it could only produce output, that the
> > higher level is interested in, very cool. This would be extremely 
> > useful for me. Very hard to implement, or even find an appropriate 
> > interface for though.
> 
> You could easily implement it *in* the function foo IMHO. Since the 
> function does some black magic to create the result set to begin with, you 
> can change it to use parameters:
> 
> select name1, name2 from foo(10, NULL, NULL) where name1 > 10;

Yes, but this is only an answer to a limited scope of the problem at hand,
and the user who types the select (or uses a warehouse tool) needs substantial 
additional knowledge on how to efficiently construct such a query.

In my setup the function would be hidden by a view.

Andreas


pgsql-hackers by date:

Previous
From: Zeugswetter Andreas SB
Date:
Subject: AW: Benchmarking
Next
From: Karel Zak
Date:
Subject: Re: AW: functions returning records