9.7. Table Functions - Mailing list pgsql-docs

From Elisha Allen
Subject 9.7. Table Functions
Date
Msg-id 009101c373ed$35b7b0a0$57481881@maelstrom
Whole thread Raw
Responses Re: 9.7. Table Functions
List pgsql-docs
Hello,
 
I hope I am posting this to the approprate list. I am somewhat new to postgres, and have been extensively reading the documentation over the last few days. As a whole, it is very helpful and informative. Great work!
 
Today I came across the following issue with table functions:
 
I'm trying to write a table function that returns a recordset. I'm running postgres 7.3.3 on redhat Following postgres Documentation Chapter 9.7,  I used the following commands to test this:
 
CREATE TABLE foo (fooid int, foosubid int, fooname text);

CREATE FUNCTION getfoo(int) RETURNS setof foo AS '
     SELECT * FROM foo WHERE fooid = $1;
' LANGUAGE SQL;

SELECT * FROM getfoo(1) AS t1;
 
Unfortunately, the command:
 
 SELECT * FROM getfoo(1) AS t1;
 
returns a:
 
server parse error at or near "("
 
Is there something I'm missing here? As a workaround I tried:
 
 SELECT getfoo(1) AS t1;
 
This command ran, but returned a row t1 with a series of numbers in it, rather than a recordset of columns and values as the documentation suggests when it says:
 
"If the function returns a composite type, the result columns get the same names as the individual attributes of the type."
 
Thank you very much for your help, and please let me know if I can be of any assistance in trouble shooting this issue/ updating the documentation on this issue.
 
Elisha

pgsql-docs by date:

Previous
From: Bruno Wolff III
Date:
Subject: Re: Time input documentation error
Next
From: Tom Lane
Date:
Subject: Re: 9.7. Table Functions