Slick 3.1: Bibliothek für Scala-Programmierer

Typesafe verringert mit Version 3.1 seiner Bibliothek für die Programmiersprache Scala die Zahl der Subqueries und hilft bei Monaden.

In Pocket speichern vorlesen Druckansicht
Slick 3.1: Scala-Bibliothek bringt einige Optimierungen gegenüber 3.0
Lesezeit: 1 Min.
Von
  • Rainald Menge-Sonnentag

Das Scala Language Integrated Connection Kit (Slick) hilft Scala-Entwicklern dabei, Inhalte aus Datenbanken in ihren funktionalen Programmcode einzubinden. Als wichtigste Neuerung hebt Hersteller Typesafe die Verringerung von Subquerries hervor. Scala-Befehle müssen beim Zugriff auf die Datenbank stets zu Abfragen übersetzt werden, die je nach Ausdruck mehrschichtig sein können. Als Beispiel für die Optimierung steht in den Release-Notes folgender Befehl:

((xs joinLeft ys on (_.b === _.b)) joinLeft ys on (_._1.b === _.b)).to[Set]

Für ihn verringert sich die Umsetzung in eine MySQL-Abfrage von 21 Zeilen in Version 3.0 auf sechs in Version 3.1. Eine der eingeführten Verbesserungen betrifft die abstrakten Datentypen Monaden, genauer gesagt die Monadic Joins: Zur Verwendung in Datenbanken muss Slick sie in Applicative Joins umsetzen, was jedoch je nach Quelle nicht eindeutig möglich ist. In diesen Fällen erhalten Entwickler nun eine Fehlermeldung, statt bisher ungültigen Code aus dem Compiler.

Entwickler können Datenbankverbindungen analog zu PaaS-Anbietern wie Heroku über eine DATABASE_URL-Syntax angeben. Neu sind die Operatoren distinct und distinctOn, die in das SQL-Pendant DISTINCT zum Entfernen doppelter Werte in einer Abfrage übersetzt werden.

Slick steht unter einen BSD-ähnlichen Lizenz. Entwickler können die aktuelle Version von Typesafes Server und GitHub herunterladen. (rme)