Icon View Incident Report

Serious Serious
Reported By: Laszlo Szabo
Reported On: 7/17/2010
For: Version 2.03 Build 17
# 3249 Partial Locates Using Certain Collations Causes Incorrect Results

If you try to locate the Company by starting to type its name you can see, that you can found "Bétaprint" with 'é', but you cannot locate 'bácsi' with 'á'. With 'Début', the 'é' doesnot work. And I have just found, that I cannot locate 'Dentál', though it is written with the regular 'e'...

Partner.Locate('Company',Edit1.Text,[loCaseInsensitive,loPartialKey]);



Comments Comments
The problem was caused by the way certain collations like Hungarian and German work with respect to partial-length comparions. In such languages, accented characters can return different comparison results depending upon whether they are the last character being compared, or there are more characters after the accented character. This messes up binary searches of index pages, which rely on individual character comparisons always returning the same result, regardless of the characters around the character in question. This was resolved by forcing the engine to use linear index page searches when it encounters any non-ANSI/Unicode collation that is performing a partial-length search on a character string column. The performance is only slightly-slower, and this is the only way to perform such a search correctly.


Resolution Resolution
Fixed Problem on 7/19/2010 in version 2.03 build 18


Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB LCL Standard with Source
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image