On 28-Mar-06, at 12:11 PM, Thomas Hallgren wrote:
> Tom Lane wrote:
>> Thomas Hallgren <thomas@tada.se> writes:
>>
>>> This FENCED/NOT FENCED terminology would be a good way to
>>> differentiate between the two approaches. Any chance of that syntax
>>> making it into the PostgreSQL grammar, should the need arise?
>>>
>>
>> Of what value would it be to have it in the grammar? The behavior
>> would
>> be entirely internal to any particular PL in any case.
>>
>>
> Not necessarily but perhaps the term FENCED is incorrect for the
> concept that I have in mind.
>
> All languages that are implemented using a VM could benefit from
> the same remote UDF protocol. Java, C#, perhaps even Perl or Ruby.
> The flag that I'd like to have would control 'in-process' versus
> 'remote'.
>
> I'm not too keen on the term FENCED, since it, in the PL/Java case
> will lead to poorer isolation. Multiple threads running in the same
> JVM will be able to share data and a JVM crash will affect all
> connected sessions.
When was the last time you saw a JVM crash ? These are very rare now.
In any case if it does fail, it's a JVM bug and can happen to any
code running and take the server down if it is in process.
>
> Then again, perhaps it's a bad idea to have this in the function
> declaration in the first place. A custom GUC parameter might be a
> better choice. It will not be possible to have some functions use
> the in-process approach and others to execute remotely but I doubt
> that will matter that much.
>
> I'm still eager to hear what it is in the current PL/Java that you
> consider fundamental unresolvable problems.
>
> Regards,
> Thomas Hallgren
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that
> your
> message can get through to the mailing list cleanly
>