48 lines
1.1 KiB
Go
48 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
badger "github.com/dgraph-io/badger/v4"
|
|
)
|
|
|
|
func BadgerGet(db *badger.DB, key []byte) (val *[]byte) {
|
|
err := db.View(func(txn *badger.Txn) error {
|
|
item, err := txn.Get(key)
|
|
if err != nil {
|
|
if err == badger.ErrKeyNotFound {
|
|
err = nil
|
|
val = nil
|
|
}
|
|
return err
|
|
}
|
|
err = item.Value(func(v []byte) error {
|
|
val = &v
|
|
return nil
|
|
})
|
|
return err
|
|
})
|
|
if err != nil {
|
|
log.Fatal(fmt.Sprintf("Oh no! Something weird happened while reading data from the database. Reason: %s", err.Error()))
|
|
}
|
|
return
|
|
}
|
|
|
|
func BadgerSet(db *badger.DB, key, val []byte) {
|
|
err := db.Update(func(txn *badger.Txn) error {
|
|
return txn.Set(key, val)
|
|
})
|
|
if err != nil {
|
|
log.Fatal(fmt.Sprintf("Oh no! Something weird happened while writing data to the database. Reason: %s", err.Error()))
|
|
}
|
|
}
|
|
|
|
func BadgerDelete(db *badger.DB, key []byte) {
|
|
err := db.Update(func(txn *badger.Txn) error {
|
|
return txn.Delete(key)
|
|
})
|
|
if err != nil {
|
|
log.Fatal(fmt.Sprintf("Oh no! Something weird happened while deleting data in the database. Reason: %s", err.Error()))
|
|
}
|
|
}
|