Subject External engines - metadata
Author Adriano dos Santos Fernandes
Hi!

I'd want we have external procedures engine and Java plugin in FB.

Vlad sent to me the external engine sources, and I can't believe (due to
so small number of changes) it wasn't in FB yet, but I want to propose
changes.

I'll start with the metadata. It's current defined as:
-------
RDB$EXTERNAL_ENGINE
RDB$LANGUAGE
RDB$MODULE_NAME

RDB$EXTERNAL_FUNCTIONS
RDB$FUNCTION_NAME
RDB$LANGUAGE
RDB$EXTERNAL_NAME

RDB$EXTERNAL_PROCEDURES
RDB$PROCEDURE_NAME
RDB$LANGUAGE
RDB$EXTERNAL_NAME
-------

We don't need RDB$EXTERNAL_ENGINE and also store DLL/SO names in system
tables anymore.

Should be much better to have languages names associated with libraries
in config files. Like fbintl.conf.

I think we should not define RDB$EXTERNAL_FUNCTIONS and
RDB$EXTERNAL_PROCEDURES.

We should define the new fields directly in RDB$FUNCTIONS and
RDB$PROCEDURES.

When we'll have stored functions, we'll extend RDB$FUNCTIONS as well,
instead of have RDB$FUNCTIONS, RDB$STORED_FUNCTIONS and
RDB$EXTERNAL_FUNCTIONS, I suppose.

The RDB$EXTERNAL_NAME field is semantically equivalent to
RDB$ENTRYPOINT, so I think this system domain should have the size
increased and we use it in RDB$FUNCTIONS.

My proposed changes to system tables is to add these fields:
-------
RDB$FUNCTIONS
RDB$LANGUAGE

RDB$PROCEDURES
RDB$LANGUAGE
RDB$ENTRYPOINT
-------


Adriano