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