Zum Inhalt springen
Extending scala with database query capability
- Link:
-
- Autor/in:
-
- Verlag/Körperschaft:
- Hamburg University of Technology
- Erscheinungsjahr:
- 2010
- Medientyp:
- Text
- Schlagworte:
-
- Compiler plugins
- Language-integrated query
- Scala programming language
- Typedirected program transformation
- 004: Informatik
- 004
- Beschreibung:
-
- The integration of database and programming languages is difficult due to the different data models and type systems prevalent in each field. We present a solution where the developer may express queries encompassing program and database data. The notation used for queries is based on comprehensions, a declarative style that does not impose any specific execution strategy. In our approach, the type safety of languageintegrated queries is analyzed at compile-time, followed by a translation that optimizes for database evaluation. We show the translation total and semantics preserving, and introduce a language-independent classification. According to this classification, our approach compares favorably with Microsoft's LINQ, today's best-known representative. We provide an implementation in terms of Scala compiler plugins, accepting two notations for queries: LINQ and the native Scala syntax for comprehensions. The prototype relies on Ferry, a query language that already supports comprehensions yet targets SQL:1999. The reported techniques pave the way for further progress in bridging the programming and the database worlds. ©JOT 2010.
- Beziehungen:
- DOI 10.5381/jot.2010.9.4.a3
- Quellsystem:
- TUHH Open Research
Interne Metadaten
- Quelldatensatz
- oai:tore.tuhh.de:11420/3708