Search Postgresql Archives

Re: function returning a merge of the same query executed X time

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

 



Thanks Geoff for your idea but my query return something different each time I call it. This way, 

select row_number()over() as id,q.* 
	from (select sum(cost) as total_cost,sum(length) as total_length,json_agg(row_to_json(r)) as data 
		from (select * from cm_get_loop_route_4(2, 10, -73.597070, 45.544083))r)q CROSS JOIN generate_series(1, 3)

the quey is executed only 1 time.

Thanks

Marc

De : gwinkless@xxxxxxxxx [mailto:gwinkless@xxxxxxxxx] De la part de Geoff Winkless
Envoyé : 22 avril 2015 11:22
À : Marc-André Goderre
Cc : 'pgsql-general@xxxxxxxxxxxxxx' (pgsql-general@xxxxxxxxxxxxxx)
Objet : Re:  function returning a merge of the same query executed X time

Can you not just CROSS JOIN it to generate_series(1, 8)?

On 22 April 2015 at 14:14, Marc-André Goderre <magoderre@xxxxxxxxx> wrote:
Hi all,
I'm having difficulties to  create a function that should execute X time the same query and return  their results as a single table.
I tried this way but it don't work :
Thanks to help.

create function cm_get_json_loop_info(
    IN profile integer,
    IN distance double precision DEFAULT 10,
    IN x_start double precision DEFAULT 0,
    IN y_start double precision DEFAULT 0,
    IN nbr integer default 1)

    returns setof json as
    $BODY$
    declare jsona json;
    BEGIN
    for json a i in 1.. nbr loop

    select row_to_json(q)
        from (select row_number() over() as id, sum(cost) as total_cost,sum(length) as total_length,json_agg(row_to_json(r)) as data
                from (select * from cm_get_loop_route_4(2, 10, -73.597070, 45.544083))r)q
        return next jsona
    end loop;
    return jsona;

Marc



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


-- 
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