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.

Table 1. Case sensitivity interactions
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.