Re: stack depth limit exceeded - patch possible? - Mailing list pgsql-hackers

From Gregory Stark
Subject Re: stack depth limit exceeded - patch possible?
Date
Msg-id 874pa6evep.fsf@oxford.xeocode.com
Whole thread Raw
In response to stack depth limit exceeded - patch possible?  (Alexander Wöhrer <woehrer@par.univie.ac.at>)
Responses Re: stack depth limit exceeded - patch possible?  (Alexander Wöhrer <woehrer@par.univie.ac.at>)
List pgsql-hackers
Alexander Wöhrer <woehrer@par.univie.ac.at> writes:

> by Thomas Hallgren where he mentioned that PostGre only defines
> one stack and therefor pl/java has no way of telling PostGre
> about multiple thread stack pointers.
>
> As far as I understand the situation, the check_stack_depth()
> is used "just" to provide better stability/security?

That's only going to be the tip of the iceberg. None of the Postgres internal
functions are thread-safe, they don't lock any internal data structures except
those shared with other backends.

If you're going to use Postgres internal API functions then you only have any
hope of doing so from a single thread. And even then people have run into some
problems.

You might look into PL/J which IIUC runs the java stack in a second process
rather than in the server process. Or you could run PL/Java but have it
communicate with your application over a socket, you could send whole
serialized objects over.

--  Gregory Stark EnterpriseDB          http://www.enterprisedb.com Ask me about EnterpriseDB's PostGIS support!


pgsql-hackers by date:

Previous
From: Alexander Wöhrer
Date:
Subject: stack depth limit exceeded - patch possible?
Next
From: Tom Lane
Date:
Subject: Re: Index AM change proposals, redux