kv

package
v0.0.0-...-572c485 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCompareFailedError

func NewCompareFailedError(err error) error

NewCompareFailedError wraps error into NewCompareFailedError

Types

type BaseKV

type BaseKV interface {
	Load(key string) (string, error)
	MultiLoad(keys []string) ([]string, error)
	LoadWithPrefix(key string) ([]string, []string, error)
	Save(key, value string) error
	MultiSave(kvs map[string]string) error
	Remove(key string) error
	MultiRemove(keys []string) error
	RemoveWithPrefix(key string) error
	Has(key string) (bool, error)
	HasPrefix(prefix string) (bool, error)
	Close()
}

BaseKV contains base operations of kv. Include save, load and remove.

type CompareFailedError

type CompareFailedError struct {
	// contains filtered or unexported fields
}

CompareFailedError is a helper type for checking MetaKv CompareAndSwap series func error type

func (*CompareFailedError) Error

func (e *CompareFailedError) Error() string

Error implements error interface

type MetaKv

type MetaKv interface {
	TxnKV
	GetPath(key string) string
	LoadWithPrefix(key string) ([]string, []string, error)
	CompareVersionAndSwap(key string, version int64, target string) (bool, error)
	WalkWithPrefix(prefix string, paginationSize int, fn func([]byte, []byte) error) error
}

MetaKv is TxnKV for metadata. It should save data with lease.

type SnapShotKV

type SnapShotKV interface {
	Save(key string, value string, ts typeutil.Timestamp) error
	Load(key string, ts typeutil.Timestamp) (string, error)
	MultiSave(kvs map[string]string, ts typeutil.Timestamp) error
	LoadWithPrefix(key string, ts typeutil.Timestamp) ([]string, []string, error)
	MultiSaveAndRemove(saves map[string]string, removals []string, ts typeutil.Timestamp) error
	MultiSaveAndRemoveWithPrefix(saves map[string]string, removals []string, ts typeutil.Timestamp) error
}

SnapShotKV is TxnKV for snapshot data. It must save timestamp.

type TxnKV

type TxnKV interface {
	BaseKV
	MultiSaveAndRemove(saves map[string]string, removals []string, preds ...predicates.Predicate) error
	MultiSaveAndRemoveWithPrefix(saves map[string]string, removals []string, preds ...predicates.Predicate) error
}

TxnKV contains extra txn operations of kv. The extra operations is transactional.

type WatchKV

type WatchKV interface {
	MetaKv
	Watch(key string) clientv3.WatchChan
	WatchWithPrefix(key string) clientv3.WatchChan
	WatchWithRevision(key string, revision int64) clientv3.WatchChan
}

WatchKV is watchable MetaKv. As of today(2023/06/24), it's coupled with etcd.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL