Logical Update Queries as Open Nested Transactions

  • Alfred Fent
  • Carl-Alexander Wichert
  • Burkhard Freitag
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1773)


The rule-based update language ULTRA has been designed for the specification of complex database updates in a modular fashion. The logical semantics of update goals is based on update request sets, which correspond to deferred basic updates in the database. The declarative character of the logical semantics leaves much freedom for various evaluation strategies, among them a top-down resolution, which can be mapped naturally onto a system of nested transactions. In this paper, we extend this operational model as follows: Not only the basic operations are performed and committed independently from the top-level transaction, but also complex operations defined by update rules. This leads to an open nested transaction hierarchy, which allows to exploit the semantical properties of complex operations to gain more concurrency. On the other hand, high-level compensation is necessary and meta information must be provided by the programmer. We present the key elements of this combination of logic-based update languages and transaction processing and propose a flexible system architecture.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    C. Beeri, P. Bernstein, and N. Goodman. A Model for Concurrency in Nested Transaction Systems. Journal of the ACM, 36(2):230–269, 1989.zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    P. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.Google Scholar
  3. 3.
    P. A. Bernstein and E. Newcomer. Principles of Transaction Processing. Morgan Kaufmann, 1997.Google Scholar
  4. 4.
    A. J. Bonner and M. Kifer. An Overview of Transaction Logic. Theoretical Computer Science, 133(2):205–265, 1994.zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    A. J. Bonner and M. Kifer. Concurrency and Communication in Transaction Logic. In M. J. Maher, editor, Proc. Joint Int. Conf. and Symp. on Logic Programming (JICSLP’ 96), Bonn, Germany, pages 142–156, MIT Press, 1996.Google Scholar
  6. 6.
    W. Chen. Programming with Logical Queries, Bulk Updates, and Hypothetical Reasoning. IEEE Transactions on Knowledge and Data Engineering, 9(4):587–599, 1997.CrossRefGoogle Scholar
  7. 7.
    C. J. Date. A Guide to the SQL Standard. Addison-Wesley, 1997.Google Scholar
  8. 8.
    U. Dayal, A. P. Buchmann, and S. Chakravarthy. The HiPAC Project. In J. Widom and S. Ceri, editors, Active Database Systems — Triggers and Rules for Advanced Database Processing, chapter 7, pages 177–206, Morgan Kaufmann, 1996.Google Scholar
  9. 9.
    H. Hasse. A Unified Theory of Concurrency Control and Recovery of Database Transactions, Dissertationen zu Datenbanken und Informationssystemen, Vol. 13. infix-Verlag, Sankt Augustin, 1996. (In German).Google Scholar
  10. 10.
    H. F. Korth, E. Levy, and A. Silberschatz. A Formal Approach to Recovery by Compensating Transactions. In V. Kumar and M. Hsu, editors, Recovery Mechanisms in Database Systems, chapter 15, pages 444–465, Prentice Hall, 1998.Google Scholar
  11. 11.
    J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 2 edition, 1987.Google Scholar
  12. 12.
    N. Lynch, M. Merritt, W. Weihl, and A. Fekete. Atomic Transactions. Morgan Kaufmann, 1994.Google Scholar
  13. 13.
    D. Montesi, E. Bertino, and M. Martelli. Transactions and Updates in Deductive Databases. IEEE Transactions on Knowledge and Data Engineering, 9(5):784–797, 1997.CrossRefGoogle Scholar
  14. 14.
    J. E. B. Moss. Nested Transactions: An Approach to Reliable Distributed Computing. MIT Press, 1985.Google Scholar
  15. 15.
    R. Vingralek, H. Hasse-Ye, Y. Breitbart, and H. J. Schek. Unifying Concurrency Control and Recovery of Transactions with Semantically Rich Operations. Theoretical Computer Science, 190(2):363–396, 1998.zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    G. Weikum and H.-J. Schek. Concepts and Applications of Multi-level Transactions and Open Nested Transactions. In A. K. Elmagarmid, editor, Database Transaction Models for Advanced Applications, chapter 13, pages 515–553, Morgan Kaufmann Publishers, 1992.Google Scholar
  17. 17.
    C. A. Wichert, A. Fent, and B. Freitag. How to Execute ULTRA Transactions. In Proc. 13th Workshop on Logic Programming (WLP’ 98), October 6–8, 1998, Vienna, Austria, pages 96–105, 1998. Full version also available as Technical Report MIP-9812, University of Passau, at
  18. 18.
    C. A. Wichert and B. Freitag. Capturing Database Dynamics by Deferred Updates. In Proc. of the 1997 Int. Conf. on Logic Programming (ICLP’ 97). July 8–12, 1997, Leuven, Belgium, pages 226–240, MIT Press, 1997.Google Scholar
  19. 19.
    C. A. Wichert, B. Freitag, and A. Fent. Logical Transactions and Serializability. In B. Freitag, H. Decker, M. Kifer, and A. Voronkov, editors, Transactions and Change in Logic Databases, pages 134–165, Lecture Notes in Computer Science, Vol. 1472, Springer-Verlag, 1998. Full version also available as Technical Report MIP-9807, University of Passau, at Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Alfred Fent
    • 1
  • Carl-Alexander Wichert
    • 1
  • Burkhard Freitag
    • 1
  1. 1.Fakultät für Mathematik und InformatikUniversität PassauPassauGermany

Personalised recommendations