如何将完整的查询作为参数传递
How to pass complete query as a parameter
我从 gitlab ci 收到一个查询,我想执行它。
如果我将查询硬编码为 sql"""""" 语法,它就可以工作。但我想将它作为变量(整个查询)传递。 SqlInterperator 不接受变量的值,因此 returns 一个空片段。
val q2 = sql"""$query"""
println(q2) // Fragment("?")
test("hive ViewTest") {
q2
.update
.run
.transact(xa)
.unsafeRunSync() shouldEqual(0)
}
只是信息我有这些作为进口
import scala.concurrent.ExecutionContext
import cats.effect.{ContextShift, IO}
import doobie.free.connection.{close, unit}
import doobie.implicits._
import doobie.util.transactor.{Strategy, Transactor}
import org.scalatest.{BeforeAndAfterAllConfigMap, ConfigMap, FunSuite, Matchers}
可能吗?
想通了!
您可以使用 Fragment.const
api
例如
Fragment.const(query)
我从 gitlab ci 收到一个查询,我想执行它。
如果我将查询硬编码为 sql"""""" 语法,它就可以工作。但我想将它作为变量(整个查询)传递。 SqlInterperator 不接受变量的值,因此 returns 一个空片段。
val q2 = sql"""$query"""
println(q2) // Fragment("?")
test("hive ViewTest") {
q2
.update
.run
.transact(xa)
.unsafeRunSync() shouldEqual(0)
}
只是信息我有这些作为进口
import scala.concurrent.ExecutionContext
import cats.effect.{ContextShift, IO}
import doobie.free.connection.{close, unit}
import doobie.implicits._
import doobie.util.transactor.{Strategy, Transactor}
import org.scalatest.{BeforeAndAfterAllConfigMap, ConfigMap, FunSuite, Matchers}
可能吗?
想通了!
您可以使用 Fragment.const
api
例如
Fragment.const(query)