On Wed, Jul 28, 2010 at 12:06 PM, Jerry Richards <jerry.richards@xxxxxxxxxxx> wrote: > Hello, > > I am using postgres-odbc and I created the following function which is > called from a C-application. This function returns a single argv[0] of the > form "(a,b,c,d,e,f,g)". > > CREATE OR REPLACE FUNCTION PresRoute(int, int) RETURNS > TABLE(d1 text, d2 text, d3 text, d4 text, r1 bigint, r2 bigint, r3 bigint) > AS $$ > SELECT PresDest1(PresNode($1,$2)), PresDest2(PresNode($1,$2)), > PresDest3(PresNode($1,$2)), > PresDest4(PresNode($1,$2)), PresRing1(PresNode($1,$2)), > PresRing2(PresNode($1,$2)), > PresRing3(PresNode($1,$2)) $$ LANGUAGE SQL; > > But I would like it to return data as argv[0] thru argv[6] as shown: > > d1 | d2 | d3| d4 | r1 | r2 | r3 > ------------------------------- > a b c d e f g > > How should I change my function definition to achieve this? I think it's just a matter of how you're calling it. Are you doing this: SELECT PresRoute(... or this: SELECT * FROM PresRoute(... if you don't want the rowtype, do the latter. The former is roughly same as doing 'select foo from foo' vs 'select * from foo'. merlin -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general