Re: Cursors and recursion - Mailing list pgsql-sql

From Don Croata
Subject Re: Cursors and recursion
Date
Msg-id be9533860512281137u42cc2a16hcd2d5b703a809bdd@mail.gmail.com
Whole thread Raw
In response to Re: Cursors and recursion  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Cursors and recursion  (Michael Fuhr <mike@fuhr.org>)
List pgsql-sql
Please, if someone recalls a link, book, piece of code or anything with info about this technique for PL/PgSQL (8.1), please let us know. We've been searching into google, groups.google, http://archives.postgresql.org and http://www.postgresql.org/docs/8.1/interactive with no results. Most of the answers are related to unclosed cursors for the "ERROR: cursor ... already in use" message.
 
Here's the sample code for this issue (i.e. error because cursor already defined in recursive PL/PgSQL function) at: http://www.croata.cl/cur.sql
 
--
 
Thanx again,
Cro
 
On 12/28/05, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Don Croata <el.croata@gmail.com> writes:
> It's a function who has a cursor and calls itself, but the problem raises
> after the first recursion, when PgSQL complains:

> ERROR:  cursor "cur" already in use

> Are the cursors kept globally? or cached like TEMP TABLE?

Cursor names are global within a particular session.

IIRC there is a syntax for opening a cursor without specifying a name,
in which case plpgsql will pick one that's not in use.  This is probably
what you want to use.

                       regards, tom lane

pgsql-sql by date:

Previous
From: Michael Fuhr
Date:
Subject: Re: Cursors and recursion
Next
From: "George Pavlov"
Date:
Subject: DISTINCT with NULLs and INT fields