package fr.postgresjson.connexion import com.fasterxml.jackson.core.type.TypeReference import com.github.jasync.sql.db.QueryResult class Query(override val name: String, private val sql: String, override val connection: Connection) : EmbedExecutable { override fun toString(): String { return sql } /** * Select with unnamed of parameters */ override fun execute( typeReference: TypeReference, values: List, block: SelectCallback ): R? = connection.execute(sql, typeReference, values, block) /** * Select with named parameters */ override fun execute( typeReference: TypeReference, values: Map, block: SelectCallback ): R? = connection.execute(sql, typeReference, values, block) /** * Execute function without treatments */ override fun exec(values: List): QueryResult = connection.exec(sql, values) /** * Execute function without treatments */ override fun exec(values: Map): QueryResult = connection.exec(sql, values) /** * Warning: this method not use prepared statement */ fun sendQuery(values: List): QueryResult = connection.sendQuery(sql, values) /** * Warning: this method not use prepared statement */ fun sendQuery(values: Map): QueryResult = connection.sendQuery(sql, values) /** * Warning: this method not use prepared statement */ fun sendQuery(vararg values: Pair): QueryResult = sendQuery(values.toMap()) }