Safety and translation of calculus queries with scalar functions
PODS '93 Proceedings of the twelfth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
An execution model for limited ambiguity rules and its application to derived data update
ACM Transactions on Database Systems (TODS)
Heraclitus: elevating deltas to be first-class citizens in a database programming language
ACM Transactions on Database Systems (TODS)
Structures for manipulating proposed updates in object-oriented databases
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
A procedural semantics for stratified database updates
Annals of Mathematics and Artificial Intelligence
Programming with Logical Queries, Bulk Updates, and Hypothetical Reasoning
IEEE Transactions on Knowledge and Data Engineering
Language Constructs for Programming Active Databases
VLDB '91 Proceedings of the 17th International Conference on Very Large Data Bases
On Implementing a Language for Specifying Active Database Execution Models
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
Hi-index | 0.00 |
There are a variety of advanced database features which require the ability to manipulate “virtual” database states along with the actual stored state; examples of this include rule-based triggers in active databases, supports for hypothetical reasoning, and some concurrent transaction processing system. This paper introduces the database programming language Heraclitus[Rel], which provides a general framework for experimenting with the semantics and implementation of virtual states. The primary novel feature presented is the notation of a delayed update or delta, which is a first-class value representing a set of proposed modifications to the state. Deltas can be created, inspected, and combined without committing to the given modifications. Heraclitus[Rell] provides a rich relational calculus sublanguage that can be used to compute relations and deltas. The usual notion of “safety” for calculus formulas is extended to support both a sophisticated notion of quantifiers and the use of variables and functions defined elsewhere in a program. Safe formulas can be translated into extended relational algebra expressions for evaluation.