Kbase P125102: Progress clients crash and index corrupted when using UTF-8 client against non-UTF8 database
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  8/3/2007 |
|
Status: Verified
FACT(s) (Environment):
OpenEdge 10.x
All Supported Operating Systems
SYMPTOM(s):
Progress client crashes when updating a character field that participates in an index
Word indices are corrupted from 10.0A to 10.1B01
Normal indices are corrupted in 10.1B and 10.1B01 when Large Key Entry support is enabled
For word index corruption to occur, ALL the following criteria MUST be true:
- A client using -cpinternal UTF-8 against a non-UTF-8 database
- A word index on a character field
- A value in the character field that, when converted to the database codepage, exceeds 200 bytes
For normal index corruption to occur, ALL the following criteria MUST be true:
- A client using -cpinternal UTF-8 against a non-UTF-8 database
- The database has Large Key Entry support enabled
- A character field that is part of an index
- A value in the character field that, when converted to the database codepage, exceeds 200 bytes
As a result, users will be unable to find records when they should or will get records when they shouldn't.
The corruption can happen when users create, update or delete records.
Error 1422 will appear when updating or deleting records:
SYSTEM ERROR: Index <index-name> in <table-name> for recid <recid> could not be deleted. (1422)
Error 12112 will appear when updating or deleting records:
Unable to delete old values for the index of a word-indexed field (index <index-name> of table <table-name>). The index may be damaged. (12112)
Only ABL clients are affected, SQL clients do not have this problem
CAUSE:
Bug# OE00154758
FIX:
Upgrade to 10.1B02.
Alternatively, do not use a UTF-8 client running against a non-UTF-8 database.