diff --git a/exposed-core/src/main/kotlin/org/jetbrains/exposed/sql/vendors/FunctionProvider.kt b/exposed-core/src/main/kotlin/org/jetbrains/exposed/sql/vendors/FunctionProvider.kt index 82aec9a53e..83e3d3ef66 100644 --- a/exposed-core/src/main/kotlin/org/jetbrains/exposed/sql/vendors/FunctionProvider.kt +++ b/exposed-core/src/main/kotlin/org/jetbrains/exposed/sql/vendors/FunctionProvider.kt @@ -457,6 +457,10 @@ abstract class FunctionProvider { nextValExpression != null && columns.isNotEmpty() -> (columns + autoIncColumn) to expr.dropLast(1) + ", $nextValExpression)" nextValExpression != null -> listOf(autoIncColumn) to "VALUES ($nextValExpression)" columns.isNotEmpty() -> columns to expr + currentDialect is OracleDialect -> { + val oracleDefaults = "VALUES(DEFAULT${", DEFAULT".repeat(table.columns.lastIndex)})" + emptyList>() to oracleDefaults + } else -> emptyList>() to DEFAULT_VALUE_EXPRESSION } val columnsExpr = columnsToInsert.takeIf { it.isNotEmpty() }?.joinToString(prefix = "(", postfix = ")") { transaction.identity(it) } ?: "" diff --git a/exposed-core/src/main/kotlin/org/jetbrains/exposed/sql/vendors/OracleDialect.kt b/exposed-core/src/main/kotlin/org/jetbrains/exposed/sql/vendors/OracleDialect.kt index 90b1835b23..b6bda586f8 100644 --- a/exposed-core/src/main/kotlin/org/jetbrains/exposed/sql/vendors/OracleDialect.kt +++ b/exposed-core/src/main/kotlin/org/jetbrains/exposed/sql/vendors/OracleDialect.kt @@ -367,22 +367,6 @@ internal object OracleFunctionProvider : FunctionProvider() { } } - override fun insert( - ignore: Boolean, - table: Table, - columns: List>, - expr: String, - transaction: Transaction - ): String { - val def = super.insert(ignore, table, columns, expr, transaction) - return if (def.endsWith(" $DEFAULT_VALUE_EXPRESSION")) { - val oracleDefaults = "VALUES(DEFAULT${", DEFAULT".repeat(table.columns.lastIndex)})" - "${def.removeSuffix(DEFAULT_VALUE_EXPRESSION)}$oracleDefaults" - } else { - def - } - } - override fun explain( analyze: Boolean, options: String?,