Icon View Incident Report

Serious Serious
Reported By: Pedro Silva
Reported On: 4/22/2005
For: Version 4.19 Build 1
# 2035 Optimized NOT LIKE Expressions with Partial-Length Searches Return Incorrect Results for Portuguese

There is an error with the return results from this query (Delphi 7 - Dbisam 4.19). The results are incorrect if "Myfield" is the primary index of the table, it returns all the "13%" values anyway.

Select * From Mytable
Where Myfield  Not Like '13%'

Comments Comments and Workarounds
The issue was specifically with the Portuguese locale and how it collated the numeral 3 with the smaller subscript 3. DBISAM was changed to not do optimized scans on such queries and instead will only execute such a query as a partially-optimized query do the need for an additional record scan to satisfy the NOT portion of the query.

The workaround is to use:

WHERE not (MyField LIKE '13%')

Resolution Resolution
Fixed Problem on 5/1/2005 in version 4.20 build 1

Products Affected Products Affected
DBISAM Additional Software and Utilities
DBISAM CLX Client-Server
DBISAM CLX Client-Server with Source
DBISAM CLX Standard with Source
DBISAM ODBC Client-Server
DBISAM ODBC Client-Server with Source
DBISAM ODBC Standard with Source
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard with Source