Re: [BUGS] BUG #14465: cursor for insert into select ... returningcann't streaming fetch? - Mailing list pgsql-bugs

From David G. Johnston
Subject Re: [BUGS] BUG #14465: cursor for insert into select ... returningcann't streaming fetch?
Date
Msg-id CAKFQuwaRoOGEYQAwP9nxCSaCeLb5uJ1-OuH5GEoGPf=ayzeoBA@mail.gmail.com
Whole thread Raw
In response to [BUGS] BUG #14465: cursor for insert into select ... returning cann'tstreaming fetch?  (digoal@126.com)
Responses Re: [BUGS] BUG #14465: cursor for insert into select ...returning cann't streaming fetch?
List pgsql-bugs
On Tuesday, December 13, 2016, <digoal@126.com> wrote:
The following bug has been logged on the website:

Bug reference:      14465
Logged by:          Zhou Digoal
Email address:      digoal@126.com
PostgreSQL version: 9.6.1
Operating system:   CentOS 6.x x64
Description:

HI,
   when i write a plpgsql return refcursor.
   the refcursor is a ```insert into .. select .. from .. returning *;```
query.
   but when i use auto_explain DEBUG it, i found the fetch after insert end,
not stream , insert and fetch the same time coordinat.
   can PostgreSQL improve it?


This isn't a bug.

Opening a cursor causes it to execute, which in this case means performing the insert.  You can only return opened cursors from a function.  The act of fetching from the cursor simply gives access to the underlying rows.

Not sure what improvement you are wanting here but a posting to -general would be more appropriate.  Describing your use case would help others understand why this might be useful.

David J. 

pgsql-bugs by date:

Previous
From: digoal@126.com
Date:
Subject: [BUGS] BUG #14465: cursor for insert into select ... returning cann'tstreaming fetch?
Next
From: Kaijiang Chen
Date:
Subject: Re: [BUGS] pg_dump's results have quite different size