Skip to content

DF_DRIVER_IGNORE_UCASE_SUPPORT

Indicates whether uppercase support used for case insensitive index segments should be ignored.

Level

Driver

Supported by

The DataFlex SQL Drivers (SQL Server, DB2, and ODBC), revision 5 and higher.

Type

Boolean, temporary

Access

Read/Write

Values

  • True
  • False

Syntax

Use cli.pkg
Get_Attribute DF_DRIVER_IGNORE_UCASE_SUPPORT of {driverNumber} to {BooleanVariable}
Set_Attribute DF_DRIVER_IGNORE_UCASE_SUPPORT of {driverNumber} to {True|False}

Driver Configuration Keyword

Ignore_Ucase_Support

Remarks

The Embedded Database supports case insensitive index segments. This is a feature that other databases do not support. Some databases support case insensitive columns (by using a case insensitive collating sequence for a column). When converting a table that uses case insensitive index segments, extra columns will be created that store the uppercased value of the original column. This extra column is used in index definitions as a segment to achieve the case insensitive index segment functionality. In order to be able to generate the correct find statements, the driver uses the back end’s uppercase scalar function in the WHERE clause of the SELECT statement generated to implement a find.

This attribute will switch the case insensitive index segment logic on or off. When ignored (true), it is switched off; when not ignored (false), it is switched on.

The default value is copied to the database level when logging in to the database. The actual value in use for an active connection is that on the database level. This attribute merely reflects a default.

Example Code

The sample code below shows the current setting for a given driver.

Function DriverIndex String sDriver Returns Integer
    String sCurrentDriver
    Integer iNumberOfDrivers iDriver iCount
    Move 0 to iDriver
    Get_Attribute DF_NUMBER_DRIVERS to iNumberOfDrivers
    For iCount From 1 To iNumberOfDrivers
        Get_Attribute DF_DRIVER_NAME of iCount To sCurrentDriver
        If (Uppercase(sCurrentDriver) = Uppercase(sDriver)) Begin
            Move iCount to iDriver
        End
    Loop
    Function_Return iDriver
End_Function // DriverIndex

Procedure ShowDriverAttribute
    Boolean bAttribValue
    Integer iDriver
    Get DriverIndex "MSSQLDRV" To iDriver
    Get_Attribute DF_DRIVER_IGNORE_UCASE_SUPPORT of iDriver to bAttribValue
    Showln "Ignore uppercase support: " (If(bAttribValue, "YES", "NO"))
End_Procedure