Re: Fetching from psql procedures

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Fetching from psql procedures
Дата
Msg-id CAFj8pRB=Hrn1MT4E9UnOxOTJpqUjr8iOGw0+ib5DBaqfZ6J-wA@mail.gmail.com
обсуждение исходный текст
Ответ на Fetching from psql procedures  (Marc Mamin <M.Mamin@intershop.de>)
Ответы Re: Fetching from psql procedures  (Marc Mamin <M.Mamin@intershop.de>)
Список pgsql-general
Hi

2015-11-19 14:51 GMT+01:00 Marc Mamin <M.Mamin@intershop.de>:
Hi,

I'm looking for a way to build large xml documents based on a set of tables, hence using recursive queries.


something like:

  FOR rec1 IN ...
    FOR rec2 IN  ...

      RETURN QUERY select '<foo>
      FOR  rec3 IN  ...

        RETURN QUERY select (XMLELEMENT (...))::text

      END LOOP;
      RETURN QUERY select '</foo>

    END LOOP;
  END LOOP;



 but if I wrap this in a function, it seems that I won't get a result before the whole document is prepared.

 Is there any way to stream the result as it get produced ?
 or does anybody knows of a good tutotial for a task like this ?

you can try CTE Common Table Expression. It isn't possible with plpgsql :(

Theoretically you can write C extension where SRF function can returns data continually.But plpgsql function using local stack and returns data as block.

Regards

Pavel
 


 thanks and best regards,

 Marc Mamin


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

В списке pgsql-general по дате отправления:

Предыдущее
От: Karsten Hilbert
Дата:
Сообщение: Re: postgres zeroization of dead tuples ? i.e scrubbing dead tuples with sensitive data.
Следующее
От: Bill Moran
Дата:
Сообщение: Re: controlling memory management with regard to a specific query (or groups of connections)