On Tue, Aug 30, 2005 at 01:59:04PM -0400, Postgres Admin wrote: > ERROR: set-valued function called in context that cannot accept a set > CONTEXT: PL/pgSQL function "article_sample" line 10 at return next You don't show what you did to get this error, but I'd guess you called the function like this: SELECT article_display(10, 0); -- wrong You should have called it like this: SELECT * FROM article_display(10, 0); The function as posted has a few other problems, like returning the wrong type (you return a RECORD variable instead of an article_output variable) and not selecting enough columns for the declared return type. The return type also doesn't match the type shown in the CREATE TYPE statement, and the CREATE TYPE statement fails with a syntax error due to a missing comma. As I mentioned previously, please post the *exact* code you're running so typographic errors in the message don't distract from the real problem. Those typos prevent people from loading the code into their own database so they can test it unless they correct the mistakes, and then they can't be sure they're running the same thing you are. -- Michael Fuhr