Consultor Eletrônico



Kbase P83257: A char field can be Case Sensitive when it is an index component
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   07/06/2004
Status: Unverified

SYMPTOM(s):

Some character fields have the 'case sensitive' option disabled in data dictionary field properties

Cannot change the 'case sensitive' option in the schema

CAUSE:

The online documentation is not very clear about this behavior, and it has been reported to development.  It says the following without explaining why: "Case Sensitive: Activate to make the character field case sensitive. (Enabled only when the field is of character data type, and is not an index component.)".It should actually say: "Case SensitiveActivate to make the character field case sensitive. (Enabled only when the field is of character data type, and is not an index component yet.)."
Indeed, we can have a character field used in an index either case-sensitive or not case-sensitive. When it is not case sensitive (the default with Progress), then index entries are made with the value converted to Upper case, and searched are performed with values connected to Upper case as well. When not case sensitive, the real value is used for index entries.
Therefore we cannot change this property once an index has already been created on the field. This makes senses because Progress would have to completely rebuild the index with either the real value or with the value converted to upper case.

FIX:

If you need to change this property, then you have to first delete all the indexes that use the field, change the value of case-sensitive, then recreate the indexes.