*: rename Snapshot STM isolation to SerializableSnapshot

Pure Snapshot isolation would permit read conflicts. Change the name
from Snapshot to SerializableSnapshot to reflect that it will also
reject read conflicts.
This commit is contained in:
Anthony Romano 2017-04-11 14:08:01 -07:00
parent 216a6347b2
commit 4f9aa276bd
2 changed files with 5 additions and 4 deletions

View File

@ -43,8 +43,9 @@ type STM interface {
type Isolation int type Isolation int
const ( const (
// Snapshot is serializable but also checks writes for conflicts. // SerializableSnapshot provides serializable isolation and also checks
Snapshot Isolation = iota // for write conflicts.
SerializableSnapshot Isolation = iota
// Serializable reads within the same transactiona attempt return data // Serializable reads within the same transactiona attempt return data
// from the at the revision of the first read. // from the at the revision of the first read.
Serializable Serializable
@ -102,7 +103,7 @@ func NewSTM(c *v3.Client, apply func(STM) error, so ...stmOption) (*v3.TxnRespon
func mkSTM(c *v3.Client, opts *stmOptions) STM { func mkSTM(c *v3.Client, opts *stmOptions) STM {
switch opts.iso { switch opts.iso {
case Snapshot: case SerializableSnapshot:
s := &stmSerializable{ s := &stmSerializable{
stm: stm{client: c, ctx: opts.ctx}, stm: stm{client: c, ctx: opts.ctx},
prefetch: make(map[string]*v3.GetResponse), prefetch: make(map[string]*v3.GetResponse),

View File

@ -88,7 +88,7 @@ func stmFunc(cmd *cobra.Command, args []string) {
case "s": case "s":
stmIso = v3sync.Serializable stmIso = v3sync.Serializable
case "ss": case "ss":
stmIso = v3sync.Snapshot stmIso = v3sync.SerializableSnapshot
default: default:
fmt.Fprintln(os.Stderr, cmd.Usage()) fmt.Fprintln(os.Stderr, cmd.Usage())
os.Exit(1) os.Exit(1)