Re: Returning multiple result sets

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Returning multiple result sets
Дата
Msg-id 28702.1132504179@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Returning multiple result sets  (Martijn van Oosterhout <kleptog@svana.org>)
Ответы Re: Returning multiple result sets  (Martijn van Oosterhout <kleptog@svana.org>)
Re: Returning multiple result sets  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-hackers
Martijn van Oosterhout <kleptog@svana.org> writes:
> libpq supports it just fine. You do a PQsendQuery() and then as many
> PQgetResult()s as it takes to get back the results. This worked for a
> while AFAIK.

That only works if the caller is prepared to read each result serially,
and not (say) a row at a time in parallel.  There are a bunch of
ease-of-use problems as well, such as knowing which resultset is which,
coping with errors detected after the first resultset(s) are sent, etc.

A more realistic way of dealing with multiple resultsets is to deliver
them as named cursor references and allow the client to FETCH
reasonable-sized chunks.  We can sort of handle this today, but it's
notationally painful at both the stored-procedure and client ends.
        regards, tom lane


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Virtual tuple slots versus TOAST: big problem
Следующее
От: Jan Wieck
Дата:
Сообщение: Re: Virtual tuple slots versus TOAST: big problem