Subject | RE: [Firebird-Architect] FB 2.0 Road Map |
---|---|
Author | Claudio Valderrama C. |
Post date | 2004-09-20T08:37:48Z |
Martijn Tonies wrote:
typeless input parameters without any engine modification. But their return
param type is fixed, although intermediate conversions can happen.
Problem: there were two types of UDF: value and boolean. The second never
was implemented but only documented and a "type" field assigned in a system
table (for different, prospective UDF types). The parser knows nothing about
boolean UDF's, too. People would have to live with
if CHANGED(x, y) = 1
then ...
until we implement the boolean type.
The functionality probably can be implemented by an internal UDF, although a
good dose of *** code duplication would happen. There would be limitations
that would make the feature incomplete, unless the engine is told to
distinguish between built-in UDF's and typical external functions.
C.
>>Do you know who can do this? UDF's, of course. No joke. They can emulate
>> Oracle way of adding built-in functions seems like better idea to me.
>> Something like MODIFIED(A, B) returning TRUE if A differs from B
>> considering null as a special value seems to look better.
>
> Now, this could easily be done if we had Stored Functions and
> typeless parameters ;-)
typeless input parameters without any engine modification. But their return
param type is fixed, although intermediate conversions can happen.
Problem: there were two types of UDF: value and boolean. The second never
was implemented but only documented and a "type" field assigned in a system
table (for different, prospective UDF types). The parser knows nothing about
boolean UDF's, too. People would have to live with
if CHANGED(x, y) = 1
then ...
until we implement the boolean type.
The functionality probably can be implemented by an internal UDF, although a
good dose of *** code duplication would happen. There would be limitations
that would make the feature incomplete, unless the engine is told to
distinguish between built-in UDF's and typical external functions.
C.