Add more test and fix some incoherence

remove useless "perform" method
This commit is contained in:
2021-07-19 02:21:46 +02:00
parent bd88e7938d
commit 05759c9b47
7 changed files with 162 additions and 60 deletions

View File

@@ -95,7 +95,7 @@ class Connection(
sql: String,
typeReference: TypeReference<List<R>>,
values: List<Any?>,
block: (QueryResult, List<R>) -> Unit
block: QueryResult.(List<R>) -> Unit
): List<R> {
val result = exec(sql, values)
val json = result.rows[0].getString(0)
@@ -115,7 +115,7 @@ class Connection(
sql: String,
typeReference: TypeReference<List<R>>,
values: Map<String, Any?>,
block: (QueryResult, List<R>) -> Unit
block: QueryResult.(List<R>) -> Unit
): List<R> {
return replaceArgs(sql, values) {
select(this.sql, typeReference, this.parameters, block)
@@ -133,7 +133,7 @@ class Connection(
limit: Int,
typeReference: TypeReference<List<R>>,
values: Map<String, Any?>,
block: (QueryResult, Paginated<R>) -> Unit
block: QueryResult.(Paginated<R>) -> Unit
): Paginated<R> {
val offset = (page - 1) * limit
val newValues = values

View File

@@ -26,7 +26,7 @@ sealed interface EmbedExecutable {
*/
fun <R : EntityI> selectOne(
typeReference: TypeReference<R>,
values: List<Any?> = emptyList(),
values: List<Any?>,
block: SelectOneCallback<R> = {}
): R?
@@ -56,7 +56,7 @@ sealed interface EmbedExecutable {
*/
fun <R : EntityI> select(
typeReference: TypeReference<List<R>>,
values: List<Any?> = emptyList(),
values: List<Any?>,
block: SelectCallback<R> = {}
): List<R>
@@ -107,8 +107,4 @@ sealed interface EmbedExecutable {
fun exec(values: List<Any?>): QueryResult
fun exec(values: Map<String, Any?>): QueryResult
fun exec(vararg values: Pair<String, Any?>): QueryResult = exec(values.toMap())
fun perform(values: List<Any?>) { exec(values) }
fun perform(values: Map<String, Any?>) { exec(values) }
fun perform(vararg values: Pair<String, Any?>) = perform(values.toMap())
}

View File

@@ -12,7 +12,7 @@ inline fun <reified R : EntityI> EmbedExecutable.update(
update(object : TypeReference<R>() {}, value, block)
inline fun <reified R : EntityI> EmbedExecutable.selectOne(
values: List<Any?> = emptyList(),
values: List<Any?>,
noinline block: SelectOneCallback<R> = {}
): R? =
selectOne(object : TypeReference<R>() {}, values, block)
@@ -32,7 +32,7 @@ inline fun <reified R : EntityI> EmbedExecutable.selectOne(
/* Select Multiples */
inline fun <reified R : EntityI> EmbedExecutable.select(
values: List<Any?> = emptyList(),
values: List<Any?>,
noinline block: SelectCallback<R> = {}
): List<R> =
select(object : TypeReference<List<R>>() {}, values, block)

View File

@@ -113,15 +113,10 @@ interface Executable {
select(sql, page, limit, typeReference, values.toMap(), block)
fun <R : EntityI> exec(sql: String, value: R): QueryResult = exec(sql, listOf(value))
fun exec(sql: String, values: List<Any?> = emptyList()): QueryResult
fun exec(sql: String, values: List<Any?>): QueryResult
fun exec(sql: String, values: Map<String, Any?>): QueryResult
fun exec(sql: String, vararg values: Pair<String, Any?>): QueryResult = exec(sql, values.toMap())
fun <R : EntityI> perform(sql: String, value: R) { perform(sql, listOf(value)) }
fun perform(sql: String, values: List<Any?>) { exec(sql, values) }
fun perform(sql: String, values: Map<String, Any?>) { exec(sql, values) }
fun perform(sql: String, vararg values: Pair<String, Any?>) = perform(sql, values.toMap())
/**
* Warning: this method not use prepared statement
*/

View File

@@ -17,7 +17,7 @@ class Query(override val name: String, private val sql: String, override val con
override fun <R : EntityI> selectOne(
typeReference: TypeReference<R>,
values: List<Any?>,
block: (QueryResult, R?) -> Unit
block: SelectOneCallback<R>
): R? =
connection.selectOne(sql, typeReference, values, block)
@@ -27,7 +27,7 @@ class Query(override val name: String, private val sql: String, override val con
override fun <R : EntityI> selectOne(
typeReference: TypeReference<R>,
values: Map<String, Any?>,
block: (QueryResult, R?) -> Unit
block: SelectOneCallback<R>
): R? =
connection.selectOne(sql, typeReference, values, block)
@@ -39,7 +39,7 @@ class Query(override val name: String, private val sql: String, override val con
override fun <R : EntityI> select(
typeReference: TypeReference<List<R>>,
values: List<Any?>,
block: (QueryResult, List<R>) -> Unit
block: SelectCallback<R>
): List<R> =
connection.select(sql, typeReference, values, block)
@@ -49,7 +49,7 @@ class Query(override val name: String, private val sql: String, override val con
override fun <R : EntityI> select(
typeReference: TypeReference<List<R>>,
values: Map<String, Any?>,
block: (QueryResult, List<R>) -> Unit
block: SelectCallback<R>
): List<R> =
connection.select(sql, typeReference, values, block)