Slick 3 Postgresql void функция необработанный sql

У меня есть функция, определенная в postgresql db, которая возвращает void и делает обновление внутри функции.

когда я делаю

Await.result(db.run(sqlu"""select function_name()"""), Duration.Inf)

Я получаю это SlickException

Update statements should not return a ResultSet

Есть ли способ вызвать функцию, которая возвращает void, не получая этой ошибки.


person dtksmsl    schedule 01.07.2016    source источник


Ответы (1)


Согласно http://slick.lightbend.com/doc/3.0.0/sql.html

sqluожидает количество строк, поскольку возвращает DBIO[Int], так что даже если slick распознает void, он, вероятно, все равно выдаст исключение. По-видимому, slick интерпретирует void как ResultSet, поэтому вы можете попробовать sql, который возвращает ResultSet и просто игнорирует возвращенный результат:

Await.result(db.run(sql"""select function_name()"""), Duration.Inf)
person thwiegan    schedule 03.07.2016