Query Lifting: Language-integrated query for heterogeneous nested collections
arXiv:2101.04102 · doi:10.1007/978-3-030-72019-3_21
Abstract
Language-integrated query based on comprehension syntax is a powerful technique for safe database programming, and provides a basis for advanced techniques such as query shredding or query flattening that allow efficient programming with complex nested collections. However, the foundations of these techniques are lacking: although SQL, the most widely-used database query language, supports heterogeneous queries that mix set and multiset semantics, these important capabilities are not supported by known correctness results or implementations that assume homogeneous collections. In this paper we study language-integrated query for a heterogeneous query language that combines set and multiset constructs. We show how to normalize and translate queries to SQL, and develop a novel approach to querying heterogeneous nested collections, based on the insight that ``local'' query subexpressions that calculate nested subcollections can be ``lifted'' to the top level analogously to lambda-lifting for local function definitions.
arXiv commentFull version of ESOP 2021 conference paper
References in corpus (6)
- Query shredding: Efficient relational evaluation of queries over nested multisets (extended version)
- First-Class Functions for First-Order Database Engines
- Mixing set and bag semantics
- Strongly-Normalizing Higher-Order Relational Queries
- Language-integrated provenance in Haskell
- Generating collection transformations from proofs