Re: pl-pgsql, recursion and cursor contexting - Mailing list pgsql-general

From Tom Lane
Subject Re: pl-pgsql, recursion and cursor contexting
Date
Msg-id 11762.1222698450@sss.pgh.pa.us
Whole thread Raw
In response to pl-pgsql, recursion and cursor contexting  ("Gauthier, Dave" <dave.gauthier@intel.com>)
Responses Re: pl-pgsql, recursion and cursor contexting  ("Gauthier, Dave" <dave.gauthier@intel.com>)
List pgsql-general
"Gauthier, Dave" <dave.gauthier@intel.com> writes:
> I'm in the business of writting recursive PL-Pgsql functions.  I need to
> know what happens to the data stream from a select cursor inside of
> which the recursive call is made.  For example....

Nothing, unless you use explicitly-named cursors and force a cursor name
conflict.  A for-loop's internal cursor always gets a name chosen to be
distinct from every other existing cursor, so there's no conflict.

> This comes up witht he right answer.  IOW, making the recursive call
> from within the "for rec in..." loop doesn't seem to destroy the data
> streams from earlier calls.  I just need to make sure that this will
> always be the case and that getting the correct result in this example
> is not just an artifact of it's simplicity.  I know, for example, this
> was a no-no in Oracle.

Wow, are they really that broken?

            regards, tom lane

pgsql-general by date:

Previous
From: "Gauthier, Dave"
Date:
Subject: pl-pgsql, recursion and cursor contexting
Next
From: "Pavel Stehule"
Date:
Subject: Re: pl-pgsql, recursion and cursor contexting