1 min read

Case Handling in Flex2SQL

With previous driver versions, Flex2SQL allowed object names to be either all upper case or all lower case. The field names followed the convention selected for the table name. Now users are able to determine how the driver handles table and field names.

    • Convert to upper case
    • Convert to lower case
    • Keep all cases as stored in Dataflex

NOTE: The default is to keep the existing case. The default in earlier versions was to convert to uppercase.


The casing impacts all table, field, and index names.


Migration tool

The table casing during migration can be set in the Flex2SQL migration tool in the Tools -> Preferences menu item.


Runtime

If you use your own code to create or restructure tables, the new table casing also is in effect there.

The global file casing can be set through mertech.ini (default is to keep the case): 

TableCasing = KeepCase / Uppercase / Lowercase

Mertech.inc also defines macros:
SET_DEFAULT_FILE_CASING TO FILE_CASING_UPPER / FILE_CASING_LOWER / FILE_CASING_KEEP
GET_DEFAULT_FILE_CASING TO variable 


Additionally, a new file attribute DF_FILE_CASING has been created.


Mertech does recommend only using one casing for the entire database to avoid some tables receiving one case and other tables receiving others.


The file casing works transparently through the driver, and for normal operations (outside of restructuring) the programmer does not have to take casing into consideration (and it does not have to be set).


The main area of focus is when using a database that has fully or partial case sensitive identifiers. As an example Oracle assumes everything is upper case, so identifiers have to be quoted if they are lower cased.


If you are using a database that has case sensitive identifiers, you need to consider your use of embedded SQL, to either make sure any queries you have created take the new casing into account, or when migration or creating and restructuring tables, set the table case to the case your old migrated tables have.

 

The default is to keep the existing case. The default in earlier
versions was to convert to uppercase.
Why Migrate from Btrieve to PostgreSQL and other Relational Databases?

Why Migrate from Btrieve to PostgreSQL and other Relational Databases?

Introduction Many independent software vendors (ISV) and corporate users still rely on applications that use a category of database collective called...

Read More
Four Challenges in Converting COBOL Applications from ISAM Databases to Relational Databases

Four Challenges in Converting COBOL Applications from ISAM Databases to Relational Databases

COBOL applications are the foundation of numerous essential business functions, especially within the banking, insurance, and government sectors....

Read More
Application Modernization 101: Ultimate Guide to Digital Transformation

Application Modernization 101: Ultimate Guide to Digital Transformation

Imagine breaking free from the constraints of old, monolithic systems and embracing the agility and innovation of cloud-based solutions.

Read More