MCPcopy Create free account
hub / github.com/nutsdb/nutsdb / getUncommittedUpdateInSameTransaction

Function getUncommittedUpdateInSameTransaction

examples/basic/main.go:221–257  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

219}
220
221func getUncommittedUpdateInSameTransaction() {
222 log.Println("start run: Get uncommitted update in same transaction")
223 currBucket := "bucketForTransactionNew"
224 key := []byte("testkey")
225 val1 := []byte("value1")
226 val2 := []byte("value2")
227 must := func(f func() error) {
228 if err := f(); err != nil {
229 panic(err)
230 }
231 }
232 if err := db.Update(func(tx *nutsdb.Tx) (err error) {
233 must(func() error {
234 return tx.NewKVBucket(currBucket)
235 })
236 must(func() error {
237 return tx.Put(currBucket, key, val1, 0)
238 })
239 vcurr, err := tx.Get(currBucket, key)
240 log.Printf("expect value is '%v', value is '%v', %v", string(val1), string(vcurr), err)
241 return
242 }); err != nil {
243 log.Printf("failed update: %v", err)
244 return
245 }
246 if err := db.Update(func(tx *nutsdb.Tx) (err error) {
247 must(func() error {
248 return tx.Put(currBucket, key, val2, 0)
249 })
250 vcurr, err := tx.Get(currBucket, key)
251 log.Printf("expect value is '%v', value is '%v', %v", string(val2), string(vcurr), err)
252 return
253 }); err != nil {
254 log.Printf("failed update: %v", err)
255 return
256 }
257}

Callers 1

mainFunction · 0.85

Calls 5

UpdateMethod · 0.80
NewKVBucketMethod · 0.80
PrintfMethod · 0.65
PutMethod · 0.45
GetMethod · 0.45

Tested by

no test coverage detected