From: | Dave Cramer <davecramer(at)gmail(dot)com> |
---|---|
To: | chap(at)anastigmatix(dot)net |
Cc: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: CommandStatus from insert returning when using a portal. |
Date: | 2023-07-14 19:49:33 |
Message-ID: | CADK3HH+6XcORTMLp=a+AnHkc6MoaEjXXau4XNK4mBMOKtQTLag@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, 14 Jul 2023 at 15:40, <chap(at)anastigmatix(dot)net> wrote:
> On 2023-07-14 14:19, David G. Johnston wrote:
> > Because of the returning they all need a portal so far as the server is
> > concerned and the server will obligingly send the contents of the
> > portal
> > back to the client.
>
> Dave's pcap file, for the fetch count 0 case, does not show any
> portal name used in the bind, describe, or execute messages, or
> any portal close message issued by the client afterward. The server
> may be using a portal in that case, but it seems more transparent
> to the client when fetch count is zero.
>
>
There is no portal for fetch count 0.
> Perhaps an easy rule would be, if the driver itself adds RETURNING
> because of a RETURN_GENERATED_KEYS option, it should also force the
> fetch count to zero and collect all the returned rows before
> executeUpdate returns, and then it will have the right count
> to return?
>
> Well that kind of negates the whole point of using a cursor in the case
where you have a large result set.
The rows are subsequently fetched in rs.next()
Solves one problem, but creates another.
Dave
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2023-07-14 19:50:59 | Re: CommandStatus from insert returning when using a portal. |
Previous Message | Farias de Oliveira | 2023-07-14 19:43:01 | Re: In Postgres 16 BETA, should the ParseNamespaceItem have the same index as it's RangeTableEntry? |