Update semantics of relational views
ACM Transactions on Database Systems (TODS)
An approach to incremental compilation
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
The Role of Polymorphic Reuse Mechanisms in Schema Evolution in an Object-Oriented Database
IEEE Transactions on Knowledge and Data Engineering
The Design and Evaluation of A High Performance Smalltalk System
The Design and Evaluation of A High Performance Smalltalk System
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Checking query containment with the CQC method
Data & Knowledge Engineering
An online bibliography on schema evolution
ACM SIGMOD Record
Anatomy of the ADO.NET entity framework
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
Compiling mappings to bridge applications and databases
ACM Transactions on Database Systems (TODS)
Automated co-evolution of conceptual models, physical databases, and mappings
ER'10 Proceedings of the 29th international conference on Conceptual modeling
From state- to delta-based bidirectional model transformations: the symmetric case
Proceedings of the 14th international conference on Model driven engineering languages and systems
Evolving the implementation of ISA relationships in EER schemas
CoMoGIS'06 Proceedings of the 2006 international conference on Advances in Conceptual Modeling: theory and practice
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The ADO.NET entity framework: making the conceptual level real
ER'06 Proceedings of the 25th international conference on Conceptual Modeling
Hi-index | 0.00 |
In an object-to-relational mapping system (ORM), mapping expressions explain how to expose relational data as objects and how to store objects in tables. If mappings are sufficiently expressive, then it is possible to define lossy mappings. If a user updates an object, stores it in the database based on a lossy mapping, and then retrieves the object from the database, the user might get a different result than the updated state of the object; that is, the mapping might not "roundtrip." To avoid this, the ORM should validate that user-defined mappings roundtrip the data. However, this problem is NP-hard, so mapping validation can be very slow for large or complex mappings. We circumvent this problem by developing an incremental compiler for OR mappings. Given a validated mapping, a modification to the object schema is compiled into incremental modifications of the mapping. We define the problem formally, present algorithms to solve it for Microsoft's Entity Framework, and report on an implementation. For some mappings, incremental compilation is over 100 times faster than a full mapping compilation, in one case dropping from 8 hours to 50 seconds.