IDENTIFIER_CASE

Description

This setting determines how the system handles the case of SQL identifiers. The setting affects table names, column names, and other database identifiers during migration and sql operations.

Type

String: Upper/Lower/Original

Default

Original

Case Handling Options

  • Upper
    • Converts all identifiers to uppercase

    • Example: “MyTable” becomes “MYTABLE”

    • Consistent with many legacy systems

    • May improve compatibility

  • Lower
    • Converts all identifiers to lowercase

    • Example: “MyTable” becomes “mytable”

    • Common in modern databases

    • PostgreSQL default behavior

  • Original
    • Preserves the original case

    • Example: “MyTable” remains “MyTable”

    • Most flexible option

    • May require careful coding

Implementation Details

  • Applied during SQL generation

  • Affects all database operations

  • Cached for performance

  • Thread-safe implementation

Database Compatibility

  • Microsoft SQL Server
    • Case-insensitive by default

    • Configurable behavior

    • Quotation rules

  • PostgreSQL
    • Case-sensitive by default

    • Automatic lowercasing

    • Quotation requirements

  • Oracle
    • Uppercase by default

    • Case-sensitive with quotes

    • Historical conventions

Error Handling

  • Invalid case specification

  • Identifier conflicts

  • Quote handling

  • Name resolution issues

Migration Considerations

  • Source database conventions

  • Target system requirements

  • Application dependencies

  • Case sensitivity impacts

Best Practices

  • Consistent usage across applications

  • Document case conventions

  • Consider cross-platform needs

  • Test case-sensitive operations