Language-integrated Query with Ordering, Grouping and Outer Joins (poster)
Language-integrated query systems like T-LINQ or QUEΛ make relational operations on (generally external) data feel like the ordinary iteration over native arrays. As ordinary programs, queries are type-checked, can be abstracted over and composed. To access relational database systems, queries are eventually translated into well-formed, well-typed and efficient SQL. However, most existing language-integrated query systems implement only a small subset of relational operations supported by modern databases.
To make QUEΛ full-featured, we add to it the operations corresponding to SQL’s ORDER BY, LIMIT, OUTER JOIN, GROUP BY and HAVING. We describe the type system and the normalization rules to produce the efficient SQL code. The type system not only ensures by construction the intricate SQL validity constraints. It also prevents the accidental composition of hard-to-optimize queries.
Our extended QUEΛ is embedded in OCaml in the tagless-final style.
Mon 16 JanDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
14:00 - 15:30
|Idris, Inside-Out: A Tutorial on Extending Idris in Idris|
David Thrane Christiansen Indiana University
|Language-integrated Query with Ordering, Grouping and Outer Joins (poster)|