On 2018-03-29 17:52:07 -0400, Peter Eisentraut wrote:
> On 3/29/18 14:20, Andres Freund wrote:
> > On 2018-03-28 20:34:13 -0400, Peter Eisentraut wrote:
> >> On 3/28/18 12:09, Andres Freund wrote:
> >>> Yea, not the most descriptive... Returning multiple different resultsets
> >>> from a function / procedure. Inability to do so is a serious limitation
> >>> of postgres in comparison to some other language with procedures.
> >>
> >> This is already possible as far as the protocol is concerned.
> >
> > Huh, I don't see how?
>
> See example here:
> https://www.postgresql.org/message-id/4580ff7b-d610-eaeb-e06f-4d686896b93b%402ndquadrant.com
>
> More simply, you can already do this with psql like this:
>
> => SELECT * FROM tbl1\; SELECT * FROM tbl2;
>
> This will ship multiple result sets. psql chooses to only display the
> last one. This is also discussed in the above thread.
I don't think this is the real deal. For one, it really isn't
transparent to the client where statement boundaries are. That matters a
great deal when using pipelining. I think you really need framing that's
separate for client initiated statement than from multiple results sets
originating from the same statement.
Greetings,
Andres Freund