Re: Stored Procedures - Mailing list pgsql-sql

From Joe Conway
Subject Re: Stored Procedures
Date
Msg-id 3D9B3650.3040000@joeconway.com
Whole thread Raw
In response to Re: Stored Procedures  (bcschnei@attbi.com)
Responses Complex SQL query and performance strategy
List pgsql-sql
bcschnei@attbi.com wrote:
> Ok, if this does not apply to versions prior to 7.3beta 
> then what do I need to do if I am running 7.2.1? When I 
> try to use the SETOF to retrun a row set, I only get 
> one column.

First, prior to 7.3 there is no SCHEMA support in Postgres. Everything lives 
in essentially one and the same schema.

In 7.2.x and before, returning a composite type (i.e. multiple columns) gives 
you back one column of pointers (large integer values) to the actual row of 
data. You can access the individual columns, but it's ugly:

test=# CREATE TABLE foo (fooid int, foosubid int, fooname text);
CREATE
test=# INSERT INTO foo VALUES(1,1,'Joe');
INSERT 304822 1
test=# CREATE FUNCTION getfoo(int) RETURNS foo AS '
test'#   SELECT * FROM foo WHERE fooid = $1;
test'# ' LANGUAGE SQL;
CREATE
test=# select fooid(getfoo(1)), foosubid(getfoo(1)), fooname(getfoo(1)); fooid | foosubid | fooname
-------+----------+---------     1 |        1 | Joe
(1 row)

Joe



pgsql-sql by date:

Previous
From: "Beth Gatewood"
Date:
Subject: Re: indexing on char vs varchar
Next
From: Jie Liang
Date:
Subject: schedule of v7.3