Subject | problem with UDF |
---|---|
Author | betux |
Post date | 2004-05-21T17:50:28Z |
Dear all,
I'm using FirebirdSS 1.0.3.972-0.64IO on SuSE 9.0. I have problem with UDF.
In my procedure i'm using CEILING function.
The problem is when the machine (I'm Using Pentium 4 2,4 Ghz) load is low
or medium the CEILING function return correct value.
But when machine load is high (multiprocess), CEILING function will return
wrong value.
This error happen intermittent.
This is a piece of my script.
declare variable calc1 numeric(18,4);
declare variable calc2 numeric(18,4);
declare variable rate_n numeric(18,4);
....
calc2 = ceiling( calc1 ) * rate_n;
....
assume variable calc1 value is 15.8333, rate_n is 195.
calc2 value should 16*195=3120.
but if machine load is high, calculation will be wrong.
calc2 will return 1063488.2115
error like this happen intermittent.
why this error happen?
something wrong on my script, like variable data type?
Thanks for your help.
Kind Regards,
Tje Nen
I'm using FirebirdSS 1.0.3.972-0.64IO on SuSE 9.0. I have problem with UDF.
In my procedure i'm using CEILING function.
The problem is when the machine (I'm Using Pentium 4 2,4 Ghz) load is low
or medium the CEILING function return correct value.
But when machine load is high (multiprocess), CEILING function will return
wrong value.
This error happen intermittent.
This is a piece of my script.
declare variable calc1 numeric(18,4);
declare variable calc2 numeric(18,4);
declare variable rate_n numeric(18,4);
....
calc2 = ceiling( calc1 ) * rate_n;
....
assume variable calc1 value is 15.8333, rate_n is 195.
calc2 value should 16*195=3120.
but if machine load is high, calculation will be wrong.
calc2 will return 1063488.2115
error like this happen intermittent.
why this error happen?
something wrong on my script, like variable data type?
Thanks for your help.
Kind Regards,
Tje Nen