Masking System Crashes in Database Application Programs
Johann Christoph Freytag, Flaviu Cristian, Bo Kähler · 1987
Over the last decade many techniques for recovering a consistent state for a database management system after a system crash have been proposed. However, the problem of handling system crashes in database application programs, and of masking these crashes to users of those programs, has received little attention. This paper presents a log-based algorithm for recovering the state of database application programs after system crashes. AI-though the general idea of the algorithm is quite simple, the interaction between the program, the user, and the database management system has to be investigated with care. To describe the details of the algorithm clearly, we introduce a programming language with terminal input/output and database operations. By incrementally changing the semantic definition of the pro-gramming language to include operations for logging and recovery purposes, we demonstrate that the requirements for crash recovery can be met without changing the database application programs themselves. 1.