Kbase P186433: Error 12112 when deleting records from a table with a word index, or running idxcheck against the ta
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  26/04/2011 |
|
Status: Unverified
SYMPTOM(s):
Error 12112 when deleting records from a table with a word index, or running idxcheck against the tables with word indexes.
Adding or updating a record in a GUI client and then attempting to delete it in a character client results in errors.
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 new tables with word indices were failing.
Indices had been rebuilt.
FACT(s) (Environment):
Tables with word indexes had been deleted, recreated, data reloaded, but the word-rules had not been applied to the created tables.
Database code page is UTF-8.
Word break table, or word-rule table does not change with UTF-8 database.
All Supported Operating Systems
Progress 9.x
OpenEdge 10.x
CHANGE:
Clients code page had been changed and some tables had been deleted and recreated.
CAUSE:
When tables are deleted or new tables are added to a database, if they have word indices the word-rules must be applied so the table / word index, will know what rules to follow when building the word indices.
FIX:
Apply word-rules to the database and rebuild the word indexes.
1. With a UTF-8 Database whenever a new table is added or an old table is deleted and recreated the word-rules file must be reapplied.
To apply word rules run the following command.
proutil <db-name> -C word-rules rule-num
The word-break or word-rule file for UTF-8 is proword.254 and should be in the $DLC directory, if not copy it from the $DLC/prolang/utf directory. The syntax to apply the word rules would be:
proutil <db-name> -C word-rules 254
2. Rebuild the indices for all new tables that have word indices.