1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- //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)
- })
- }
|