Subject | Re: [firebird-support] Firebird 2.0.4 x64 doesn't work with UDF on fedora 9 x86_64. |
---|---|
Author | Helen Borrie |
Post date | 2008-06-26T06:18:59Z |
At 11:08 AM 26/06/2008, you wrote:
UdfAccess = Restrict UDF
You cannot have it both ways. Either you use Restrict or Full. If you change from Restrict to Full then your existing module_name declarations become invalid. If you change from Full to Restrict then your custom function library's module_name path is invalid.
You need to decide on one or the other. Using Full is not recommended because it is not portable.
I suggest:
1. Drop the declaration for your custom PAD_LEFT function (DROP EXTERNAL FUNCTION...)
2. Move the custom library object containing your function into the UDF directory in your Firebird installation.
3. Fix up permissions on the custom library.
4. Change the UDFAccess parameter to RESTRICT UDF
5. RESTART FIREBIRD.
6. Now, redeclare your custom function, this time using 'mylib' as the argument for MODULE_NAME.
./heLen
>Hi Helen, Thanks for answer.This is wrong. It should be:
>
>I tried too but doesn't worked, see below:
>[root@server UDF]# cat /opt/firebird/firebird.conf | grep UdfAcces
># UdfAccess may be None, Full or Restrict. If you choose
>UdfAccess = /opt/firebird/UDF
UdfAccess = Restrict UDF
You cannot have it both ways. Either you use Restrict or Full. If you change from Restrict to Full then your existing module_name declarations become invalid. If you change from Full to Restrict then your custom function library's module_name path is invalid.
You need to decide on one or the other. Using Full is not recommended because it is not portable.
I suggest:
1. Drop the declaration for your custom PAD_LEFT function (DROP EXTERNAL FUNCTION...)
2. Move the custom library object containing your function into the UDF directory in your Firebird installation.
3. Fix up permissions on the custom library.
4. Change the UDFAccess parameter to RESTRICT UDF
5. RESTART FIREBIRD.
6. Now, redeclare your custom function, this time using 'mylib' as the argument for MODULE_NAME.
./heLen