set returning function with variable argument - possible? - Mailing list pgsql-general

From Frank Miles
Subject set returning function with variable argument - possible?
Date
Msg-id alpine.LRH.2.01.1106152101380.20501@homer03.u.washington.edu
Whole thread Raw
Responses Re: set returning function with variable argument - possible?  (Pavel Stehule <pavel.stehule@gmail.com>)
Re: set returning function with variable argument - possible?  ("David Johnston" <polobo@yahoo.com>)
List pgsql-general
I have a function that returns a set of a defined type, something like:

     CREATE OR REPLACE FUNCTION f(arg) RETURNS SETOF return_type AS $$
         ...
     $$ LANGUAGE 'plpgsql' STABLE with (isstrict);

Ordinarily this function is called:

     SELECT * FROM f(constant);

But what I want to do is more like:
     SELECT * FROM f(var) WHERE var IN (SELECT var FROM xtable WHERE ...);

This fails, as does
     SELECT * FROM f(var) WHERE var IN (constant);

->> Is there some syntax that will allow me to perform this operation?

Note that there are differing ways for "arg" to be determined, so I'd rather not
merge this operation into f() - I would have to have a number of f()'s, each with
its own mechanism for developing its "arg"s.

-------------
Running Postgresql 8.4.7 on Debian 'squeeze'.

Thanks for any pointers to documentation that I have overlooked in my search!

     -f


pgsql-general by date:

Previous
From: Achilleas Mantzios
Date:
Subject: PostgreSQL 9.0 or 9.1 ?
Next
From: Pavel Stehule
Date:
Subject: Re: set returning function with variable argument - possible?