Subject | Re: [Firebird-Architect] External procedures: call for discussion |
---|---|
Author | Nando Dessena |
Post date | 2004-04-01T08:58:57Z |
Martijn,
M> MSSQL is using UDF for CREATE FUNCTION.
MSSQL hasn't been getting anything right for ages, except perhaps
marketing. ;-)
Just think of how they implemented domains...
M> they clash with External Functions too. So a bit of syntax and a bit of
M> parser changes should do it, AFAIU.
Yep. I meant precisely that.
M> Depending on the language used, these can be stored or external, I think.
I'd say that procedures that are in a source form that Firebird is
able to compile (current PSQL, perhaps oracle-like PL/SQL, perhaps
Java) could be either external (provided by some plug-in module) or
stored. For binary pre-compiled procedures (current UDFs, what else?)
the choice is only external.
So it wouldn't strictly depend on language.
M> For example, if you bring Java into the engine, perhaps the source code
M> can be stored, instead of "just" the declaration, while bringing several
M> external procedures, you can declare an external procedure/function
M> like you're doing now, but say, eg:
M> DECLARE EXTERNAL { FUNCTION | PROCEDURE } ...
M> [LANGUAGE { JAVA | STANDARD } ]
M> etc
M> and make the "module" a Java class etc... You get the idea.
Perfectly.
Ciao
--
Nando Dessena
mailto:nandod@...
M> MSSQL is using UDF for CREATE FUNCTION.
MSSQL hasn't been getting anything right for ages, except perhaps
marketing. ;-)
Just think of how they implemented domains...
>> To achieve stored functions, BTW, we only miss syntax, AFAIU.M> Not only that - Stored Function need to be parsed in SQL as well. Currently,
M> they clash with External Functions too. So a bit of syntax and a bit of
M> parser changes should do it, AFAIU.
Yep. I meant precisely that.
M> Depending on the language used, these can be stored or external, I think.
I'd say that procedures that are in a source form that Firebird is
able to compile (current PSQL, perhaps oracle-like PL/SQL, perhaps
Java) could be either external (provided by some plug-in module) or
stored. For binary pre-compiled procedures (current UDFs, what else?)
the choice is only external.
So it wouldn't strictly depend on language.
M> For example, if you bring Java into the engine, perhaps the source code
M> can be stored, instead of "just" the declaration, while bringing several
M> external procedures, you can declare an external procedure/function
M> like you're doing now, but say, eg:
M> DECLARE EXTERNAL { FUNCTION | PROCEDURE } ...
M> [LANGUAGE { JAVA | STANDARD } ]
M> etc
M> and make the "module" a Java class etc... You get the idea.
Perfectly.
Ciao
--
Nando Dessena
mailto:nandod@...