Subject Re: [Firebird-Architect] External engines - metadata
Author Roman Rokytskyy
> We have stored procedures and external (UDF) functions.
> New external functions is kind of UDF.
> We don't need UDP (user defined procedures).
> So considering external engines, we have everything we need except
> stored functions.
> What I'm trying? Figure out how to manage all this in our system tables. :-)

last time I was talking with Dmitry on this topic, the ideas were:

a) "deprecate" UDFs (not really deprecate, they will be fully supported
in the future, just not recommended)
b) introduce PSQL functions
c) merge PSQL functions and procedures into PSQL routines
d) make PSQL just a language, let define routines in Java, .NET, Delphi,

So, let's wait for Dmitry and clear this topic first before we go to the
system tables.

> But from previous discussions, I understand that user should compile
> sources and put classes in a directory that's in the server classpath.

In that particular implementation.

> How user upload classes to server, though FTP or something else?

e.g. FTP, that was not a target for that release.

> How user update classes, restarting the server?

No, that is not needed, I have code that is watching some particular
directory and reloads the modified classes (not part of Fyracle).

> How security is handled?

What exactly do you mean? In the database the normal GRANTs apply. If
you ask, whether it is possible to use Java code "implemented" for
another database? Yes, but that was also not the target for that
release. It is possible to extend the code to check the manifest
embedded in the JAR file, but it is also possible to load classes from
the database.

> I'm using Java in Oracle, they store everything (AFAIU) in the database.

It is possible to load Java classes from the database (or whatever
stream you provide - network, archive, random number generators provided
they generate correct Java classes) , but first we have to define
whether we are going to support similar feature for .NET (loading
assemblies, should work, AFAIK) and Delphi (hmmm... is there any chance
for it?)...

But I agree, that this is another discussion...