replace params begin by _
This commit is contained in:
@@ -215,12 +215,12 @@ class Connection(
|
|||||||
val paramRegex = "(?<!:):([a-zA-Z0-9_-]+)".toRegex(RegexOption.IGNORE_CASE)
|
val paramRegex = "(?<!:):([a-zA-Z0-9_-]+)".toRegex(RegexOption.IGNORE_CASE)
|
||||||
val newArgs = paramRegex.findAll(sql).map { match ->
|
val newArgs = paramRegex.findAll(sql).map { match ->
|
||||||
val name = match.groups[1]!!.value
|
val name = match.groups[1]!!.value
|
||||||
values[name] ?: error("Parameter $name missing")
|
values[name] ?: values[name.trimStart('_')] ?: error("Parameter $name missing")
|
||||||
}.toList()
|
}.toList()
|
||||||
|
|
||||||
var newSql = sql
|
var newSql = sql
|
||||||
values.forEach { (key, _) ->
|
values.forEach { (key, _) ->
|
||||||
val regex = ":$key".toRegex()
|
val regex = ":_?$key".toRegex()
|
||||||
newSql = newSql.replace(regex, "?")
|
newSql = newSql.replace(regex, "?")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -195,11 +195,11 @@ class Function(val definition: Function, override val connection: Connection): E
|
|||||||
val parameters = definition.getParametersIndexedByName()
|
val parameters = definition.getParametersIndexedByName()
|
||||||
val placeholders = values
|
val placeholders = values
|
||||||
.filter { entry ->
|
.filter { entry ->
|
||||||
val parameter = parameters[entry.key] ?: error("Parameter ${entry.key} not exist")
|
val parameter = parameters[entry.key] ?: parameters["_"+entry.key] ?: error("Parameter ${entry.key} not exist")
|
||||||
parameter.default === null || entry.value !== null
|
parameter.default === null || entry.value !== null
|
||||||
}
|
}
|
||||||
.map { entry ->
|
.map { entry ->
|
||||||
val parameter = parameters[entry.key]!!
|
val parameter = parameters[entry.key] ?: parameters["_"+entry.key] ?: error("Parameter ${entry.key} not exist")
|
||||||
""""${parameter.name}" := :${parameter.name}::${parameter.type}"""
|
""""${parameter.name}" := :${parameter.name}::${parameter.type}"""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user