Code page, collation, and case conflicts
- Last Updated: March 30, 2020
- 1 minute read
- OpenEdge
- Version 12.2
- Documentation
How you specify code page, case sensitivity, and shadow column usage can lead to conflict between the attributes. It is best to establish the settings on these attributes prior to schema creation, and allow the schema pull to manage the integration into the schema image. The following table describes the behavior of the combinations.
| Code Page1 | Shadow Columns | Case Sensitive Field Attribute | Result |
|---|---|---|---|
| CS | Yes | Off | Shadow column provides case insensitivity |
| CS | No | Off |
UPPER() function provides case insensitivity2 |
| CS | Yes | On | Code page provides case sensitivity |
| CS | No | On | Code page provides case sensitivity |
| CI | Yes | Off3 (Is case-insensitive) | Shadow column provides case insensitivity4 |
| CI | No | Off (Is case-insensitive) | Code page provides case insensitivity |
| CI | Yes | On | Code page provides case insensitivity5 |
| CI | No | On | Code page provides case insensitivity6 |
1 The MS SQL Server code page is either Case Sensitive (CS) or Case Insensitive
(CI).
2 Be aware that relying on the UPPER() function can have a negative
performance impact.
3 This combination is not recommended. Don't use shadow columns if the MS SQL
Server code page can handle case-insensitivity instead.
4 This combination is not recommended. Use a code page to support case
insensitivity by identifying the code page as case insensitive on a schema pull. Fields will
be marked case insensitive on the pull.
5 Shadow columns are present, but play no role.
6 Case sensitivity cannot be supported by OpenEdge. The client will throw out
any results not returned in case insensitive order.