From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Damir Simunic <damir(dot)simunic(at)wa-research(dot)ch>, Vladimir Sitnikov <sitnikov(dot)vladimir(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Proposal: http2 wire format |
Date: | 2018-03-29 22:19:37 |
Message-ID: | 20180329221937.trujpan7n3akpqc3@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Tomas Vondra | 2018-03-29 22:23:00 | Re: [HACKERS] logical decoding of two-phase transactions |
Previous Message | Tomas Vondra | 2018-03-29 22:16:55 | Re: Changing WAL Header to reduce contention during ReserveXLogInsertLocation() |