fun shouldQuoteIdentifier()

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


    fun shouldQuoteIdentifier(identity: String): Boolean {
        // When preserveIdentifierCasing is enabled, bypass cache to ensure correct behavior
        if (shouldPreserveIdentifierCasing) {
            return !identity.isAlreadyQuoted()
        }

        return shouldQuoteIdentifiersCache.getOrPut(identity) {
            val alreadyQuoted = identity.isAlreadyQuoted()
            val alreadyLower = identity == identity.lowercase()
            val alreadyUpper = identity == identity.uppercase()
            when {
                alreadyQuoted -> false
                identity.isAKeyword() && shouldPreserveKeywordCasing -> true
                supportsMixedIdentifiers -> false
                alreadyLower && isLowerCaseIdentifiers -> false
                alreadyUpper && isUpperCaseIdentifiers -> false
                oracleVersion != OracleVersion.NonOracle -> false
                supportsMixedQuotedIdentifiers && (!alreadyLower && !alreadyUpper) -> true
                else -> false
            }
        }
    }