We propose a transaction model that provides a framework for transactions to cooperate without sacrificing serializability as a notion of correctness. Cooperation does not depend on detailed knowledge of the semantics of transaction operations. Semantic properties such as data dependent commutativity can be "discovered" automatically at run time without a need to declare these properties explicitly. When transactions wish to cooperate, they do so by issuing "proclamations". A proclamation is an (implicitly or explicitly specified) set of values, one of which the transaction "promises" to write if it commits. So, a proclamation provides incomplete information concerning future possible database states. Transactions can compute with this incomplete information, and can commit after writing conditional multivalues. We examine the theoretical basis for the proclamation model. We outline an implementation strategy for the model, including a simple lock-based t...
H. V. Jagadish, Oded Shmueli