Subject RE: [firebird-support] rFunc UDF - linux and Windows
Author Codebue Fabio - P-Soft
[quote helen]

There would be three possible causes for this problem:

1. You didn't install the rFunc library on the Linux server
[/quote helen]
tomorrow I check better my installation but like you already suggest to me I
wanna try to use fbudf
[quote helen]

[quote helen]
2. You used the wrong syntax for the module name when you declared the UDF
in your database originally, e.g. 'rFunc.dll' instead of 'rFunc'
or
3. You used a different case for the declaration: this doesn't matter on
Windows but on Linux, file names are case-sensitive
[/quote helen]
I use UDF with rFunc (with dll extension) and a case-sensitive writing...

[quote helen]
You said that access to a ROUND function is the only reason you use the
rFunc library. Why don't you use the ROUND function from fbudf? Then you
would not have to worry about whether the library had multi-platform support
or whether you had the right version for the particular DB engine version.

--FBUDF_API paramdsc* fbround(paramdsc* v, paramdsc* rc)
declare external function Round
int by descriptor, int by descriptor
returns parameter 2
entry_point 'fbround' module_name 'fbudf';
[/quote helen]
I use rFunc ROUND function because, like you can understand with follow
declaration, they are different!!!

DECLARE EXTERNAL FUNCTION ROUND
DOUBLE PRECISION, INTEGER
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'fn_round' MODULE_NAME 'rfunc';

WHY udf, and repeat why a round function accept an integer value to round
it? is it not already rounded?

p-Fabio

PS ^ heLen do you prefer this sign? ;)