From: | Craig Ringer <ringerc(at)ringerc(dot)id(dot)au> |
---|---|
To: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>, Jeff Davis <pgsql(at)j-davis(dot)com> |
Subject: | Re: FETCH in subqueries or CTEs |
Date: | 2012-08-24 10:54:30 |
Message-ID: | 50375D66.2070802@ringerc.id.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 08/24/2012 12:34 PM, Pavel Stehule wrote:
> you can't mix planned and unplanned statements together - think about
> stored plans every time
Thanks Pavel and Jeff.
I can't say I fully understand the arguments, but I'll take it that
accepting cursors in CTEs or subqueries wouldn't make sense. I guess the
main issue really is that you'd have to materialize them anyway to avoid
issues with multiple scans, so there's little point having a cursor.
I didn't find a reasonable way to simply fetch a cursor into a (possibly
temporary) table, like:
INSERT INTO sometable FETCH ALL FROM somecursor;
... which could be handy with PL/PgSQL functions that return multiple
refcursors. It only seems to be possible via a PL/PgSQL wrapper that
loops over the cursor and returns a rowset.
--
Craig Ringer
From | Date | Subject | |
---|---|---|---|
Next Message | Segato Luca | 2012-08-24 11:17:49 | I: Installation faillure version 8.4.12 |
Previous Message | Martijn van Oosterhout | 2012-08-24 10:50:28 | Re: Rules, Windows and ORDER BY |