我正在尝试使用下面的源代码在 Postgresql 上设置一个局部变量
DSL上下文
@Bean(name = ["r2dbcDsl"])
fun r2dbcDsl(): DSLContext {
return DSL.using(connectionFactory)
}
ReactiveTransactionManager
@Bean
fun reactiveTransactionManager(): ReactiveTransactionManager {
return R2dbcTransactionManager(connectionFactory)
}
功能
@Transactional(readOnly = true, transactionManager = "reactiveTransactionManager")
fun select(): Flux<Map<String, Any>> {
return Mono.just(r2dbcDsl.setLocal(name("enable_sort"), value(false)))
.flatMapMany {
Flux.from(
r2dbcDsl
.select(field("current_setting('enable_sort')"))
)
}
.map { it.intoMap() }
}
但是,函数返回如下
实际反应
[
{
"current_setting('enable_sort')": "on"
}
]
预期的回应
[
{
"current_setting('enable_sort')": "off"
}
]
依赖性
spring-boot-starter-webflux:2.7.3
spring-boot-starter-jooq:2.7.3
org.springframework.boot:spring-boot-starter-data-r2dbc:2.7.3
io.r2dbc:r2dbc-postgresql:0.8.13.RELEASE
所以,请告诉我如何使用 DSLContext select 函数和 setLocal