Hi!
After the fix for support request "Improper result of search byte value in column of character type" search by numeric value in numeric column returns no results. But search on ">" works right.
Test query: "select * from table where field = 1". Result: no rows - wrong.
Test query: "select * from table where field > 0". Result: lot of rows - right.
Table has compound index and tag with same name as field.
Table format: FoxPro 2.5 for DOS, versionNumber - "F5", code page - CP866.
Actual DBF driver was used.
Thanks.
|
According to our test, the showed 1 value is stored as 0.9999999987640456 in DBF, which VFP failed to query with CDX too. Please download the latest package which can fix your where clause and query the value between 0.999995 and 1.00005 for you.
|
In my case numeric value layed out in DBF as as strings (if open in text editor) in the same format as seen ("1", not "0.9999999987640456"). And driver maps numeric values as BigDecimal. So, IMHO it is necessary to fix bug rised in driver from 2010-01-12 and revert workaround solution with searching between two values (keep in mind performance issues).
Test table was sent to support@hxtt.com.
|
Note, field has a type NUMERIC, not FLOAT, with width 2 and decimal positions 0 ("N(2,0)").
|
Pass also test your sample with the latest package. Please try.
|
Driver DBF 4.2.126 returns proper results. Thanks.
|