Subject Re: [Firebird-Architect] External Engines (and Plugins)
Author Adriano dos Santos Fernandes
Alex Peshkov escreveu:
> Adriano, I want to ask a generic question. How is it planned to deliver
> binaries to server-accessible place? Like currently for UDFs? Is there any
> difference for C and Java? (Sorry, I have not found an answer in your text).
In initial implementation there is no way except copy files (dll, jar,
class) to server. The way to do it, I think, is implementing routines
per plugin, as each one works different (i.e., dll semantics is very
different from Java classes). Each plugin deal with permissions, i.e.,
permissions control of file upload are delegated to plugin functions.
When I said "plugin functions", I mean normal external functions
implemented by the plugin and normally registered in the database.

In the client side, an utility loads files and call external procedures
registered in the database. This is how Java on Oracle works.

There is DBMS_JAVA package with many functions. And there is loadjava
utility calling this functions sending files as blobs. Classes in Oracle
are stored inside the database.

In the future, we may accept classes outside and inside the database.


Adriano