Results 1 -
3 of
3
Extending scala with database query capability
"... 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 ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
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 language-integrated 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. 1
A Document-driven Approach to Database Report Generation
- Proceeding of the Ninth International Workshop on Database and Expert Systems Applications, Le Chesnay
, 1998
"... It can be argued that report generation is the most frequently performed task in database applications. Therefore the efficacy and efficiency of a database report generation mechanism has a significant impact on productivity. This paper introduces a document-driven approach as opposed to the traditi ..."
Abstract
- Add to MetaCart
It can be argued that report generation is the most frequently performed task in database applications. Therefore the efficacy and efficiency of a database report generation mechanism has a significant impact on productivity. This paper introduces a document-driven approach as opposed to the traditional schema-driven approach to report generation resulting in more flexibility. In this approach, generating a report involves specifying it in terms of a user defined SGML-based report model. Contents of a report can be specified using a transformation language together with queries that retrieve data from different databases. A report is output as a SGML document which can be further edited as well as translated to other formats, for instance to HTML to be viewed using an Internet browser. This paper presents the approach using an example and discusses the features and usage of the transformation language which is a small but expressive language. Despite of the fact that we have only inves...
supervised by
"... The extension of programming languages with database query capabilities is called language-integrated query. This is a desirable goal in connection with two recent developments (from the programming and the database communities): (a) the functional-object paradigm; and (b) enhanced expressiveness an ..."
Abstract
- Add to MetaCart
The extension of programming languages with database query capabilities is called language-integrated query. This is a desirable goal in connection with two recent developments (from the programming and the database communities): (a) the functional-object paradigm; and (b) enhanced expressiveness and conciseness of functional query languages. In addition, the extensible compiler architectures for modern programming languages along with the advanced optimization techniques for functional query languages bring new perspectives to persistent programming languages. The main results of the present master project work are contributions that fall under the larger ScalaQL project. The ScalaQL project proposes a translation algorithm from two source languages, LINQ and Scala, to SQL:1999 queries with the Ferry query language as an intermediate language. The underlying translations are required to be total and semantics preserving. The master work contributes to (a) providing the syntactic and semantic foundation for the second translation (from Scala into Ferry); (b) covering the relevant aspects of both the Scala and Ferry type systems; and (c) establishing the required isomorphism of types between the supported Scala subset and Ferry. Finally, the proposed approach has been implemented as a Scala compiler plugin that allows compile-time processing of LINQ queries and preparing well-formed SQL:1999 queries amenable to relational DBMS evaluation. Declaration I declare that: this work has been prepared by myself, all literal or content based quotations are clearly pointed out, and no other sources or aids than the declared ones have been used.