Re: pl/perl setof function

From: Andy Colson <andy(at)squeakycode(dot)net>
To: PostgreSQL <pgsql-general(at)postgresql(dot)org>, Alex - <aintokyo(at)hotmail(dot)com>
Subject: Re: pl/perl setof function
Date: 2010-01-13 19:39:06
Message-ID: 4B4E215A.4000308@squeakycode.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 1/13/2010 1:26 PM, Andy Colson wrote:
> On 1/13/2010 12:20 PM, Alex - wrote:
>> Hi,
>> i have a PL/PERL RETURN SETOF function which processes a few 10k records.
>> The processing takes quite some time and in order to display progress
>> I use a return_next after every few thousand records.
>>
>> However, the function returns all messages when it completes and exists
>> which is not really what i want. I also tried the elog NOTICE but then I
>> only get the messages back to the psql.
>>
>> I am calling the function from a perl script and would like to catch
>> these progress messages.
>>
>> Is there any way to solve my problem?
>>
>> Thanks
>> Alex
>>
>
> In the doc's you'll see that return_next copies the record into an
> in-memory table which is then returned once the storedproc is finished.
>
> Not sure how raise works though.
>
> -Andy
>

Humm.. further to that, you could probably catch the notices from perl
with this:

http://search.cpan.org/dist/DBD-Pg/Pg.pm#pg_notifies

I'm assuming elog is like raise, and that they get sent immediately and
not when the stored proc is finished.

-Andy

In response to

Browse pgsql-general by date

  From Date Subject
Next Message akuster 2010-01-13 19:48:19 How to subscribe to your security list?
Previous Message Andy Colson 2010-01-13 19:26:17 Re: pl/perl setof function