UWHustle / hustle-in-Rust-now-defunct

Hustle
GNU General Public License v3.0
7 stars 1 forks source link

Predicate locking #85

Closed kpgaffney closed 5 years ago

kpgaffney commented 5 years ago

This implements a predicate locking transaction manager. The following isolation policies are included.

  1. Zero concurrency. Transactions are serialized. One transaction is designated as the "active transaction". A statement is allowed if there are no other running statements and it is part of the active transaction.
  2. Direct predicate comparison. A statement is allowed if it does not conflict with any currently running statements and it does not conflict with completed statements of other transactions.

In the near future, a phasing policy may be implemented in a different PR. For now, this closes #80.