internal storage engine: improve compile-time typing

This change does to internal storage engine API changes.

First, renaming Snapshot.Close() -> Snapshot.Abort().
Before this change, the Store interface implemented the
Snapshot interface, now it doesn't.

Second, adding the SnapshotOrTranscation interface.
Only Snapshot and Transaction implement this interface.
Transaction doesn't implement Snapshot.

Third, the StoreReadWriter becomes private. The StoreReadWriter
was replaced by the Transaction. This was done because in lots
of places the StoreReadWriter was checked to be the Transaction
at runtime.

This change also updates the code to the new API and removes
extra runtime type checking.

MultiPart: 1/2

Change-Id: Ic213cc0479a6cd8604bc62c29edaf7adb95b260e
33 files changed
tree: ff20741bccfd92e97dfd80a94dda96096c8f8b4d
  1. v23/
  2. x/
  3. .gitignore
  4. AUTHORS
  5. CONTRIBUTORS
  6. LICENSE
  7. PATENTS
  8. VERSION