This is a discussion on Re: procedure properties problem within the pgsql Interfaces Pgadmin Support forums, part of the PostgreSQL category; --> > -----Original Message----- > From: pgadmin-support-owner@postgresql.org > [mailto gadmin-support-owner@postgresql.org] On Behalf Of > Rikard Pavelic > Sent: 16 January ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| > -----Original Message----- > From: pgadmin-support-owner@postgresql.org > [mailto > Rikard Pavelic > Sent: 16 January 2006 15:02 > To: pgadmin-support@postgresql.org > Subject: [pgadmin-support] procedure properties problem > > Hi! > I don't know if this is missing feature or bug, but just to > report this. > > If I create functions like > create or replace function example(out data varchar) returns > setof record as > $$ > select data from table > $$ language sql; > > pgAdmin displays it without 'returns setof record'. The function written above will never work as you have a mismatch of parameter and return types, but in answer to your query, the PostgreSQL docs say: "When there are OUT or INOUT parameters, the RETURNS clause may be omitted." (http://www.postgresql.org/docs/8.1/i...efunction.html) If you remove the OUT/INOUT parameters, pgAdmin will display the definition with the RETURNS SETOF clause. Regards, Dave. ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend |
| ||||
| Dave Page wrote: > The function written above will never work as you have a mismatch of > parameter and return types, but in answer to your query, the PostgreSQL > docs say: > > "When there are OUT or INOUT parameters, the RETURNS clause may be > omitted." > > (http://www.postgresql.org/docs/8.1/i...efunction.html) > > If you remove the OUT/INOUT parameters, pgAdmin will display the > definition with the RETURNS SETOF clause. > > Regards, Dave. > > Well, look at this example then create table tabla ( id integer primary key, data varchar ); create or replace function example(out data varchar) --returns setof varchar as $$ select data from tabla $$ language sql; insert into tabla values(1,'first example'); insert into tabla values(2,'second example'); select * from example(); If I omit the 'returns setof varchar' I will get only one result from select If I add 'returns setof varchar' I will get two results. Best regards, Rikard ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match |