Subject Re: [Firebird-Architect] Re: External procedures: call for discussion
Author Jim Starkey
Roman Rokytskyy wrote:

>I second the idea of separating relational execution and procedural
>execution (basically, that's what paper is about), however I'm against
>the proposal that engine knows in what language it is written (it is
>implied by syntax "LANGUAGE {JAVA | STANDARD | ...}). This would mean
>that extending engine with new language requires changes in the engine
>itself, potentially introducing new bugs.
>
>
It's tempting to consider a JVM like any other loadable procedure, but
there differences. One is configuration information. A loadable
procedures needs only module and entrypoint names. A Java procedures
needs those for the JVM itself, a path for the JVM to find it
classes.zip, possibly someplace for it to load property files, and the
class and method names of the Java procedure. Another difference is
that starting up a JVM is extremely expensive -- not the sort of thing
you want to do everytime a function is called. But if the JVM is going
to have an existence independent of invocation, I fear you are going to
be looking at a whole different mechanism. Does it make sense to
generalize and re-usable resource? It may be. But it does rather blow
simplicity out of the water.

--

Jim Starkey
Netfrastructure, Inc.
978 526-1376