Language-Integrated Query for Temporal Data

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

Modern applications often manage time-varying data. Despite decades of research on temporal databases, which culminated in the addition of temporal data operations into the SQL:2011 standard, temporal data query and manipulation operations are unavailable in most mainstream database management systems, leaving developers with the unenviable task of implementing such functionality from scratch. In this paper, we extend language-integrated query to support writing temporal queries and updates in a uniform host language, with the language performing the required rewriting to emulate temporal capabilities automatically on any standard relational database. We introduce two core languages, 𝜆TLINQ and 𝜆VLINQ, for manipulating transaction time and valid time data respectively, and formalise existing implementation strategies by giving provably correct semantics-preserving translations into a non-temporal core language, 𝜆LINQ. We show how existing work on query normalisation supports a surprisingly simple implementation strategy for sequenced joins. We implement our approach in the Links programming language, and describe a non-trivial case study based on curating COVID-19 statistics.
Original languageEnglish
Title of host publicationProceedings of the 21st ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences
EditorsBernhard Scholz, Yukiyoshi Kameyama
PublisherACM Association for Computing Machinery
Number of pages15
ISBN (Electronic)978-1-4503-9920-3
Publication statusPublished - 1 Dec 2022
EventThe 21st International Conference on Generative Programming: Concepts & Experiences, 2022 - Auckland, New Zealand
Duration: 6 Dec 20227 Dec 2022
Conference number: 21


ConferenceThe 21st International Conference on Generative Programming: Concepts & Experiences, 2022
Abbreviated titleGPCE 2022
Country/TerritoryNew Zealand
Internet address

Keywords / Materials (for Non-textual outputs)

  • language-integrated query
  • temporal databases
  • domain-specific languages
  • multi-tier programming


Dive into the research topics of 'Language-Integrated Query for Temporal Data'. Together they form a unique fingerprint.

Cite this