Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> end of infinite recursion in pl/sql?
During development of a pl/sql package I bumped into an interesting
phenomena that should be familiar to those who had their lession in
other high level programming language. I coded a a package like this:
package pck as
procedure proc(
a number,
) as
begin
When I run a test procedure
begin
pck.proc(1, 2);
end;
the associated server process entered an infinite loop. TOP shows its is using close to 100% CPU time (it was on a multiprocessor machine). Now the question is, if one does not get the DBA or Sys Admin to kill the process, would it ever finish or respectively abort? Or would it run forever until shutdown?
In other programming language, afik each recursive call uses up a chunk of memory on the stack and when the stack crashed into some boundaries, the process will abend. However does it work on Oracle? Where does Oracle create the stack and where could one find this stack growing? Would it run into some boundary eventually?
I am curious to what experience the community has made and is ready to share.
Thanks
Bon-Minh Lam Received on Tue Jan 21 2003 - 04:18:40 CST