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 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general