How well does postgres handle recursion?
I've got this simple function which climbs up a 'selfjoin' tree called
job, and reports back the id of the root of the tree. It seemed to work
in 7.2 (which I'm told doesn't recurse???), but I've just upgraded to
7.3.2 (i.e debians latest) and when I execute it, the server kicks me
off, like so:
vmspj=# select fx_root_job(2);
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
Should I abandon this approach altogether?
create or replace function fx_root_job(int4) returns int4 as '
select into x id_parent_ from job
where id_ = $1;
if x = $1 or x = 0 then
returnvalue = $1;
returnvalue = fx_root_job( x );
end;' language 'plpgsql';
pgsql-novice by date
|Next:||From: Tom Lane||Date: 2003-02-27 06:46:04|
|Subject: Re: Postgres and recursion |
|Previous:||From: Chad Thompson||Date: 2003-02-25 18:48:51|
|Subject: Re: pq_flush: send() failed: Broken pipe|