MCPcopy
hub / github.com/etcd-io/bbolt / ExampleBucket_Delete

Function ExampleBucket_Delete

bucket_test.go:2065–2121  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2063}
2064
2065func ExampleBucket_Delete() {
2066 // Open the database.
2067 db, err := bolt.Open(tempfile(), 0600, nil)
2068 if err != nil {
2069 log.Fatal(err)
2070 }
2071 defer os.Remove(db.Path())
2072
2073 // Start a write transaction.
2074 if err := db.Update(func(tx *bolt.Tx) error {
2075 // Create a bucket.
2076 b, err := tx.CreateBucket([]byte("widgets"))
2077 if err != nil {
2078 return err
2079 }
2080
2081 // Set the value "bar" for the key "foo".
2082 if err := b.Put([]byte("foo"), []byte("bar")); err != nil {
2083 return err
2084 }
2085
2086 // Retrieve the key back from the database and verify it.
2087 value := b.Get([]byte("foo"))
2088 fmt.Printf("The value of 'foo' was: %s\n", value)
2089
2090 return nil
2091 }); err != nil {
2092 log.Fatal(err)
2093 }
2094
2095 // Delete the key in a different write transaction.
2096 if err := db.Update(func(tx *bolt.Tx) error {
2097 return tx.Bucket([]byte("widgets")).Delete([]byte("foo"))
2098 }); err != nil {
2099 log.Fatal(err)
2100 }
2101
2102 // Retrieve the key again.
2103 if err := db.View(func(tx *bolt.Tx) error {
2104 value := tx.Bucket([]byte("widgets")).Get([]byte("foo"))
2105 if value == nil {
2106 fmt.Printf("The value of 'foo' is now: nil\n")
2107 }
2108 return nil
2109 }); err != nil {
2110 log.Fatal(err)
2111 }
2112
2113 // Close database to release file lock.
2114 if err := db.Close(); err != nil {
2115 log.Fatal(err)
2116 }
2117
2118 // Output:
2119 // The value of 'foo' was: bar
2120 // The value of 'foo' is now: nil
2121}
2122

Callers

nothing calls this directly

Calls 11

tempfileFunction · 0.85
UpdateMethod · 0.80
ViewMethod · 0.80
FatalMethod · 0.65
PathMethod · 0.45
CreateBucketMethod · 0.45
PutMethod · 0.45
GetMethod · 0.45
DeleteMethod · 0.45
BucketMethod · 0.45
CloseMethod · 0.45

Tested by

no test coverage detected