Re: functions returning records - Mailing list pgsql-hackers

From Alex Pilosov
Subject Re: functions returning records
Date
Msg-id Pine.BSO.4.10.10106272122030.7004-100000@spider.pilosoft.com
Whole thread Raw
In response to Re: functions returning records  (Jan Wieck <JanWieck@Yahoo.com>)
Responses Re: functions returning records  (Jan Wieck <JanWieck@Yahoo.com>)
Re: functions returning records  (fche@redhat.com (Frank Ch. Eigler))
List pgsql-hackers
On Wed, 27 Jun 2001, Jan Wieck wrote:

> Alex Pilosov wrote:
> > On Thu, 28 Jun 2001, Hannu Krosing wrote:
> > >
> > > How hard would it be to turn this around and implement RETURN AND
> > > CONTINUE
> > > for at least PL/PGSQL, and possibly C/Perl/Python ... ?
> > Cannot talk about plpgsql, but for c this would be probably implemented
> > with setjmp and with perl with goto. Probably not very complex.
> 
>     Don't  think  so.  When  the function returns, the call stack
>     get's destroyed. Jumping back to there - er - the  core  dump
>     is not even useful any more. Or did I miss something?

Well, it shouldn't return, but instead save the location and longjmp to
SPI_RESUME_jmp location. On a next call, instead of a function call, it
should longjmp back to saved location. I have to admit its more complex
than I originally thought, but probably doable.

-alex



pgsql-hackers by date:

Previous
From: Jan Wieck
Date:
Subject: Re: functions returning records
Next
From: Karel Zak
Date:
Subject: Re: functions returning records