Icon View Incident Report

Serious Serious
Reported By: Terry Swiers
Reported On: 7/23/2010
For: Version 2.03 Build 17
# 3254 Certain Collations Not Working Correctly with Text Indexing

Below are two SQL statements. The first one simply lists all of the items that have neš in the description field. Since this is at the beginning of every word, I would expect that a full text index with a search for neš* would also retrieve the same results, which is what the second statement does. But instead of getting the same small result set, it appears to match almost every record.

The š character is Alt-0240, and from looking at the default full text character inclusions, #240 should be included. The Descr column collation is ISL (Iceland).

"StockCode" VARCHAR(20) COLLATE "ISL" DESCRIPTION 'Unique stock code (SKU)',
"AltCode" VARCHAR(20) COLLATE "ISL" DESCRIPTION 'Alternate stock code (if non-blank must be unique)',
"Descr" VARCHAR(128) COLLATE "ISL" DESCRIPTION 'Description of item',
CONSTRAINT "PrimaryKey" PRIMARY KEY ("StockCode")

select * from code where lower(descr) like '%neš%'

select * from code where Descr contains 'neš*'

Comments Comments
This issue only affected Unicode versions of ElevateDB, not ANSI versions, and was the result of an error in how the space characters were being specified for the default text indexing behavior in the engine. In certain collations like Icelandic, characters that were considered "space" characters would map into the Unicode character set in a different code point than expected, resulting in the text indexing working incorrectly.

If you experience this problem with a given text index, just make sure to repair the table using 2.03 B18 or higher, and the search should start behaving correctly.

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

Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB DAC Client-Server
ElevateDB DAC Client-Server with Source
ElevateDB DAC Standard
ElevateDB DAC Standard with Source
ElevateDB DAC Trial
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