Subject | External engines - metadata |
---|---|
Author | Adriano dos Santos Fernandes |
Post date | 2007-10-18T11:00:04Z |
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
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