Page 1 of 1

BUG: when filtering real numbers!

Posted: Fri 26 Jun 2009 14:45
by michellenweiter
to reproduce the problem, try this:

OraSession1.Options.Direct := true;

OraQuery.sql.clear;
OraQuery.sql.append('select 165.744 as s_km from dual');

OraQuery.Filter := 's_km = 165.744';
OraQuery.Filtered := true;

=> No result returned! It should find 165.744, but it does not.
With some value it does work, with some other it doesn't.

We announce this problem in April 2009 already.

thanks
michel

Posted: Fri 03 Jul 2009 09:22
by Plash
We have tried to enhance the accurancy of our code that converts NUMBER to Delphi Double data type. But currently there is no success.

Posted: Fri 03 Jul 2009 09:32
by michellenweiter
Is there a workaroung for it?

Posted: Mon 31 Aug 2009 14:21
by michellenweiter
Did you find a solution to this problem?

Posted: Fri 04 Sep 2009 11:27
by Plash
In the next ODAC build we'll add the FloatFilterDelta global variable to the MemData unit. You can set this variable to a positive value. ODAC will consider that a record corresponds to the filter if the difference between Filter value and a value from the record is less then FloatFilterDelta.
For example:

Code: Select all

uses MemData;
...
initialization
  FloatFilterDelta := 1E-10;
end.