Language-Integrated Updatable Views (Extended version)

03/04/2020
by   Rudi Horn, et al.
0

Relational lenses are a modern approach to the view update problem in relational databases. As introduced by Bohannon et al. (2006), relational lenses allow the definition of updatable views by the composition of lenses performing individual transformations. Horn et al. (2018) provided the first implementation of incremental relational lenses, which demonstrated that relational lenses can be implemented efficiently by propagating changes to the database rather than replacing the entire database state. However, neither approach proposes a concrete language design; consequently, it is unclear how to integrate lenses into a general-purpose programming language, or how to check that lenses satisfy the well-formedness conditions needed for predictable behaviour. In this paper, we propose the first full account of relational lenses in a functional programming language, by extending the Links web programming language. We provide support for higher-order predicates, and provide the first account of typechecking relational lenses which is amenable to implementation. We prove the soundness of our typing rules, and illustrate our approach by implementing a curation interface for a scientific database application.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/05/2018

Incremental Relational Lenses

Lenses are a popular approach to bidirectional transformations, a genera...
research
05/28/2018

Typed Embedding of a Relational Language in OCaml

We present an implementation of the relational programming language mini...
research
04/05/2000

Programming in Alma-0, or Imperative and Declarative Programming Reconciled

In (Apt et al, TOPLAS 1998) we introduced the imperative programming lan...
research
06/01/2021

Curating Covid-19 data in Links

Curated scientific databases play an important role in the scientific en...
research
03/18/2018

A View-based Programmable Architecture for Controlling and Integrating Decentralized Data

The view and the view update are known mechanism for controlling access ...
research
09/07/2021

An Empirical Study of Partial Deduction for miniKanren

We study conjunctive partial deduction, an advanced specialization techn...
research
09/27/2018

Making View Update Strategies Programmable - Toward Controlling and Sharing Distributed Data -

Views are known mechanisms for controlling access of data and for sharin...

Please sign up or login with your details

Forgot password? Click here to reset