Subject Re: [firebird-support] UDF dependencies
Author Helen Borrie
At 08:52 AM 1/07/2004 +0200, you wrote:
>Hi!
>
>I noticed that FB 1.5 added UDF dependencies. That is, if I try to drop
>a UDF that's being used somewhere, it doesn't work, whereas in IB 6.0 it
>does.
>I find this to be an anoying feature. Is there any way to disactivate
>it? Or else, is there any way to alter a UDF declaration? The only thing
>I've found that works is to update the system tables, but you shouldn't
>have to do that sort of thing normally. There ought to exist a proper
>DDL statement that lets you redefine a UDF completely.
>Is there?

Not exactly...but you can do this. Let's say you have the original
definition for RTRIM, as follows:
DECLARE EXTERNAL FUNCTION rtrim
CSTRING(80)
RETURNS CSTRING(80) FREE_IT
ENTRY_POINT 'IB_UDF_rtrim' MODULE_NAME 'ib_udf';

..and you want to redefine it to take and return a string of up to 200 bytes:

DECLARE EXTERNAL FUNCTION rtrim1
CSTRING(200)
RETURNS CSTRING(200) FREE_IT
ENTRY_POINT 'IB_UDF_rtrim' MODULE_NAME 'ib_udf';

Then, in your dependent SPs or triggers, alter the definition to use rtrim1
instead.

/heLen