exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/BatchUpsertStatement.kt [43:69]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - onUpdate?.let { updateValues.putAll(it) } } @Deprecated("This property will be removed in future releases.", level = DeprecationLevel.HIDDEN) var onUpdate: List, Expression<*>>>? = null private set internal val updateValues: MutableMap, Any?> = LinkedHashMap() override fun prepareSQL(transaction: Transaction, prepared: Boolean): String { val dialect = transaction.db.dialect val functionProvider = UpsertBuilder.getFunctionProvider(dialect) val keyColumns = if (functionProvider is MysqlFunctionProvider) keys.asList() else getKeyColumns(keys = keys) val insertValues = arguments!!.first() val insertValuesSql = insertValues.toSqlString(prepared) val updateExcludeColumns = (onUpdateExclude ?: emptyList()) + if (dialect is OracleDialect) keyColumns else emptyList() val updateExpressions = updateValues.takeIf { it.isNotEmpty() }?.toList() ?: getUpdateExpressions(insertValues.unzip().first, updateExcludeColumns, keyColumns) return functionProvider.upsert(table, insertValues, insertValuesSql, updateExpressions, keyColumns, where, transaction) } override fun arguments(): List, Any?>>> { val additionalArgs = getAdditionalArgs(updateValues, where) return super.arguments().map { it + additionalArgs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - exposed-core/src/main/kotlin/org/jetbrains/exposed/v1/core/statements/UpsertStatement.kt [35:61]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - onUpdate?.let { updateValues.putAll(it) } } @Deprecated("This property will be removed in future releases.", level = DeprecationLevel.HIDDEN) var onUpdate: List, Expression<*>>>? = null private set internal val updateValues: MutableMap, Any?> = LinkedHashMap() override fun prepareSQL(transaction: Transaction, prepared: Boolean): String { val dialect = transaction.db.dialect val functionProvider = UpsertBuilder.getFunctionProvider(dialect) val keyColumns = if (functionProvider is MysqlFunctionProvider) keys.asList() else getKeyColumns(keys = keys) val insertValues = arguments!!.first() val insertValuesSql = insertValues.toSqlString(prepared) val updateExcludeColumns = (onUpdateExclude ?: emptyList()) + if (dialect is OracleDialect) keyColumns else emptyList() val updateExpressions = updateValues.takeIf { it.isNotEmpty() }?.toList() ?: getUpdateExpressions(insertValues.unzip().first, updateExcludeColumns, keyColumns) return functionProvider.upsert(table, insertValues, insertValuesSql, updateExpressions, keyColumns, where, transaction) } override fun arguments(): List, Any?>>> { val additionalArgs = getAdditionalArgs(updateValues, where) return super.arguments().map { it + additionalArgs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -