func (cts *ClientTxnSubmitter) addCreatesToCache(outcome *msgs.Outcome) { actions := outcome.Txn().Actions() for idx, l := 0, actions.Len(); idx < l; idx++ { action := actions.At(idx) if action.Which() == msgs.ACTION_CREATE { varUUId := common.MakeVarUUId(action.VarId()) positions := common.Positions(action.Create().Positions()) cts.hashCache.AddPosition(varUUId, &positions) } } }
func (vc versionCache) UpdateFromCommit(txnId *common.TxnId, outcome *msgs.Outcome) { clock := eng.VectorClockFromCap(outcome.Commit()) actions := outcome.Txn().Actions() for idx, l := 0, actions.Len(); idx < l; idx++ { action := actions.At(idx) if action.Which() != msgs.ACTION_READ { vUUId := common.MakeVarUUId(action.VarId()) if c, found := vc[*vUUId]; found { c.txnId = txnId c.clockElem = clock.Clock[*vUUId] } else { vc[*vUUId] = &cached{ txnId: txnId, clockElem: clock.Clock[*vUUId], } } } } }