Horn, R., Perera, R. and Cheney, J. (2018) Incremental Relational Lenses. Proceedings of the ACM on Programming Languages, 2(ICFP), 74. (doi: 10.1145/3236769)
|
Text
167403.pdf - Published Version Available under License Creative Commons Attribution. 1MB |
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.
Item Type: | Articles |
---|---|
Status: | Published |
Refereed: | Yes |
Glasgow Author(s) Enlighten ID: | Perera, Dr Roland |
Authors: | Horn, R., Perera, R., and Cheney, J. |
College/School: | College of Science and Engineering > School of Computing Science |
Journal Name: | Proceedings of the ACM on Programming Languages |
Publisher: | ACM |
ISSN: | 2475-1421 |
ISSN (Online): | 2475-1421 |
Published Online: | 30 July 2018 |
Copyright Holders: | Copyright © 2018 The Authors |
First Published: | First published in Proceedings of the ACM on Programming Languages 2(ICFP): 74 |
Publisher Policy: | Reproduced under a Creative Commons License |
University Staff: Request a correction | Enlighten Editors: Update this record