English

Incremental Relational Lenses

Programming Languages 2018-07-10 v2 Databases

Abstract

Lenses are a popular approach to bidirectional transformations, a generalisation of the view update problem in databases, in which we wish to make changes to source tables to effect a desired change on a view. However, perhaps surprisingly, lenses have seldom actually been used to implement updatable views in databases. Bohannon, Pierce and Vaughan proposed an approach to updatable views called relational lenses, but to the best of our knowledge this proposal has not been implemented or evaluated to date. We propose incremental relational lenses, that equip relational lenses with change-propagating semantics that map small changes to the view to (potentially) small changes to the source tables. We also present a language-integrated implementation of relational lenses and a detailed experimental evaluation, showing orders of magnitude improvement over the non-incremental approach. Our work shows that relational lenses can be used to support expressive and efficient view updates at the language level, without relying on updatable view support from the underlying database.

Keywords

Cite

@article{arxiv.1807.01948,
  title  = {Incremental Relational Lenses},
  author = {Rudi Horn and Roly Perera and James Cheney},
  journal= {arXiv preprint arXiv:1807.01948},
  year   = {2018}
}

Comments

To appear, ICFP 2018

R2 v1 2026-06-23T02:51:48.307Z