Subject | RE: [firebird-support] UDF on linux |
---|---|
Author | Helen Borrie |
Post date | 2009-08-18T21:44:21Z |
At 12:38 AM 19/08/2009, you wrote:
Restrict is the "proper" usage on any platform, normally. A UDF library is effectively part of the engine and so needs to be as well-protected as the engine code itself. So the Restrict parameter is always relative to the Fb root directory. So, for example, if you decided to hold your custom ext. modules in their own subdirectories, you might have
/opt/firebird/UDF/customUDF for those
and maybe
/opt/firebird/UDF/blobfilters for those
Then you would configure
UdfAccess = Restrict UDF;UDF/customUDF;/UDFblobfilters
Full is there for legacy reasons. It doesn't take any arguments. The engine takes the path directly from the declaration. It's a PITA because it makes your database not only platform-specific but also installation-specific.
From the documentation POV, there's not really anything to add, since the default and the examples already there fully cover both situations.
./heLen
> Helen, your graceful manner in answering the question reminds me why I like you sooooo much.ROFL!
>Now, are all the paths that are given to the udfs relative to the firebird directory under linux?For Restrict, yes; for Full, no.
> That would explain my issue as I was giving all paths relative to the root of the file tree. I have not played with this, but perhaps that needs further testing and if that is what is intended, it should be in the documentation.Play with it!
Restrict is the "proper" usage on any platform, normally. A UDF library is effectively part of the engine and so needs to be as well-protected as the engine code itself. So the Restrict parameter is always relative to the Fb root directory. So, for example, if you decided to hold your custom ext. modules in their own subdirectories, you might have
/opt/firebird/UDF/customUDF for those
and maybe
/opt/firebird/UDF/blobfilters for those
Then you would configure
UdfAccess = Restrict UDF;UDF/customUDF;/UDFblobfilters
Full is there for legacy reasons. It doesn't take any arguments. The engine takes the path directly from the declaration. It's a PITA because it makes your database not only platform-specific but also installation-specific.
From the documentation POV, there's not really anything to add, since the default and the examples already there fully cover both situations.
./heLen