2016-07-01 18 views
3

Ich habe eine Funktion in Postgresql db definiert, die void zurückgeben und eine Aktualisierung innerhalb der Funktion.Slick 3 Postgresql void Funktion rohe sql

wenn ich

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

bekomme ich diese SlickException

Update statements should not return a ResultSet 

Gibt es eine Möglichkeit, eine Funktion aufzurufen, die ohne immer diese Fehlermeldung void zurückgibt.

Antwort

2

Nach http://slick.lightbend.com/doc/3.0.0/sql.html

sqlu erwartet eine Zeilenanzahl, da es DBIO[Int] zurückkehrt, so dass selbst wenn Slick void erkennen wäre es wahrscheinlich wäre immer noch eine Ausnahme werfen. Offenbar glatt interpretiert void als ResultSet und so konnte man sql gibt einen Versuch, das ein ResultSet zurück und ignoriert einfach das zurückgegebene Ergebnis:

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