Modern Mexican wrote:
Is there a technical reason why an untyped result (setof / rowset) from a
function (sql or plpgsql) is not implemented ?

Something Simple:

CREATE FUNCTION foo(x int) RETURNS SETOF records AS
'SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ON t1.a=t2a
WHERE WHERE t1.id=$1'
LANGUAGE SQL

So I will not have to create a TYPE every time I return a SETOF JOINED
tables or a sub-set of the columns of a table.

You can do this, but you have to specify what the type is when you call it. There needs to be *some* type defined somewhere.

See the manuals - section 7.2.1.4 which gives the following example of specifying what results you expect from a dblink() call.

SELECT *
    FROM dblink('dbname=mydb', 'select proname, prosrc from pg_proc')
      AS t1(proname name, prosrc text)
    WHERE proname LIKE 'bytea%';

--
  Richard Huxton
  Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to