You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//go:build tikv
// +build tikv
package tikv
import ( "context"
"github.com/seaweedfs/seaweedfs/weed/filer" "github.com/tikv/client-go/v2/txnkv" )
func (store *TikvStore) KvPut(ctx context.Context, key []byte, value []byte) error { tw, err := store.getTxn(ctx) if err != nil { return err } return tw.RunInTxn(func(txn *txnkv.KVTxn) error { return txn.Set(key, value) }) }
func (store *TikvStore) KvGet(ctx context.Context, key []byte) ([]byte, error) { tw, err := store.getTxn(ctx) if err != nil { return nil, err } var data []byte = nil err = tw.RunInTxn(func(txn *txnkv.KVTxn) error { val, err := txn.Get(context.TODO(), key) if err == nil { data = val } return err }) if isNotExists(err) { return data, filer.ErrKvNotFound } return data, err }
func (store *TikvStore) KvDelete(ctx context.Context, key []byte) error { tw, err := store.getTxn(ctx) if err != nil { return err } return tw.RunInTxn(func(txn *txnkv.KVTxn) error { return txn.Delete(key) }) }
|