Re: FETCH in subqueries or CTEs

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

In response to

Responses

Browse pgsql-general by date

  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