I understand that but I have seen VM's crash.

This does bring up another point. Since postgresql is not threaded a .NET pl would require a separate VM for each connection (unless you can share the vm ?). One of the java pl's (pl-j) for postgres has dealt with this issue.
For a hundred connections that's a hundred .NET vm's or java vm's.

Is the .NET VM shareable ?


Gary Doades wrote:

Dave Cramer wrote:

Ok, so one use case is to select a large number of rows and do some non-trivial operation on them.
I can see where getting the rows inside the server process ( ie some procedural language ) thereby reducing the round trip overhead would be beneficial. However how do you deal with the lack of control ? For instance what happens if you run out of memory while doing this ? I'm not sure about other DB'S but if you crash the procedural language inside postgres you will bring the server down.

It would seem to me that any non-trivial operation would be better handled outside the server process, even if it costs you the round trip.

Since a .NET language is operating effectively inside a VM it is pretty much impossible to bring down the server that way. Only a bug in the .NET runtime itself will do that. The C# try/catch/finally with .NET global execption last chance handlers will ensure the server and your code is well protected.


---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

-- Dave Cramer http://www.postgresintl.com 519 939 0336 ICQ#14675561

---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings

Reply via email to