Implementation of Delayed Updates in Heraclitus

The Heraclitus languages are database programming languages that give prominence to “delayed updates” or deltas, which are first-class values representing sets of proposed updates, such as inserts and deletes, to the underlying persistent store. Deltas can be created, inspected and combined without committing to the given updates. Deltas are useful for realizing advanced database features that manipulate virtual database states in addition to the currently stored state; examples include supporting rule-based triggers, hypothetical reasoning, and concurrent transaction processing systems.