fun inProperCase()

in exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/api/IdentifierManagerApi.kt [125:145]


    fun inProperCase(identity: String): String {
        // When preserveIdentifierCasing is enabled, bypass cache and preserve original case
        if (shouldPreserveIdentifierCasing) {
            return identity
        }

        return identifiersInProperCaseCache.getOrPut(identity) {
            val alreadyQuoted = identity.isAlreadyQuoted()
            when {
                alreadyQuoted && supportsMixedQuotedIdentifiers -> identity
                alreadyQuoted && isUpperCaseQuotedIdentifiers -> identity.uppercase()
                alreadyQuoted && isLowerCaseQuotedIdentifiers -> identity.lowercase()
                supportsMixedIdentifiers -> identity
                identity.isAKeyword() && shouldPreserveKeywordCasing -> identity
                oracleVersion != OracleVersion.NonOracle -> identity.uppercase()
                isUpperCaseIdentifiers -> identity.uppercase()
                isLowerCaseIdentifiers -> identity.lowercase()
                else -> identity
            }
        }
    }