Search Postgresql Archives

Re: Result sets from functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 16, 2012 at 2:24 AM, Liam Caffrey <liam.caffrey@xxxxxxxxx> wrote:
> Hi,
>
> There is a feature that I have used in SQL Server which I find really useful
> for debugging (without using a debugger!!).
> It is this.... I can write multiple "select * from some_table" statements
> throughout my stored procedure (here read "pgsql function") and the
> individual result sets get "returned" to the results pane. This is usually
> to look into the contents of temp tables or intermediate stages. This is
> especially useful when debugging triggers.
>
> I cannot find something similar yet in Postgres. The "return query select *
> from some_table" doesn't do it for me but I have to fiddle with the RETURN
> value of the function definition which I don't want to do.
>
> Does anything like this exist? Could anybody recommend an equally effective
> strategy?

Unfortunately lack of proper stored procedures is single biggest thing
you'll miss if coming from SQL server.  Of course, functions can do
many things procedures can't but the limitations can be annoying for
certain use cases.

If your returned sets aren't too terribly huge, one possible
workaround is to return composite arrays:

create function get_sets(foos out foo[], bars out bar[]) returns record as
$$
begin
  select array(select f from foo f), array(select b from bar) into foos, bars;
end;
$$ language plpgsql;

as long as you have some means of dealing with arrays on the
client-side (what are you using to receive the data?) then you can do
things pretty efficiently that way.

merlin

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux