MCPcopy
hub / github.com/pingcap/tidb / AddUnchangedKeyForLock

Method AddUnchangedKeyForLock

pkg/sessionctx/variable/session.go:325–332  ·  view source on GitHub ↗

AddUnchangedKeyForLock adds an unchanged key for pessimistic lock.

(key []byte, shared bool)

Source from the content-addressed store, hash-verified

323
324// AddUnchangedKeyForLock adds an unchanged key for pessimistic lock.
325func (tc *TransactionContext) AddUnchangedKeyForLock(key []byte, shared bool) {
326 if tc.unchangedKeys == nil {
327 tc.unchangedKeys = map[string]bool{}
328 }
329 k := string(key)
330 alreadyShared, exist := tc.unchangedKeys[k]
331 tc.unchangedKeys[k] = shared && (!exist || (exist && alreadyShared))
332}
333
334// CollectUnchangedKeysForXLock collects unchanged keys for pessimistic lock.
335func (tc *TransactionContext) CollectUnchangedKeysForXLock(buf []kv.Key) []kv.Key {

Callers 4

doCheckMethod · 0.80
handleDuplicateKeyMethod · 0.80
batchCheckAndInsertMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected