Documentation ¶
Index ¶
Constants ¶
View Source
const ( // Put indicate the type of write operation to be Put Put int32 = iota // Delete indicate the type of write operation to be Delete Delete int32 = 1 // PutIfNotExists indicate the type of write operation to be PutIfNotExists PutIfNotExists int32 = 2 )
Variables ¶
View Source
var ( // ErrInvalidDB indicates invalid operation attempted to Blockchain database ErrInvalidDB = errors.New("invalid DB operation") // ErrNotExist indicates certain item does not exist in Blockchain database ErrNotExist = errors.New("not exist in DB") // ErrAlreadyExist indicates certain item already exists in Blockchain database ErrAlreadyExist = errors.New("already exist in DB") )
Functions ¶
This section is empty.
Types ¶
type KVStore ¶
type KVStore interface { lifecycle.StartStopper // Put insert or update a record identified by (namespace, key) Put(string, []byte, []byte) error // Put puts a record only if (namespace, key) doesn't exist, otherwise return ErrAlreadyExist PutIfNotExists(string, []byte, []byte) error // Get gets a record by (namespace, key) Get(string, []byte) ([]byte, error) // Delete deletes a record by (namespace, key) Delete(string, []byte) error // Batch return a kv store batch api object Batch() KVStoreBatch }
KVStore is the interface of KV store.
type KVStoreBatch ¶ added in v0.3.0
type KVStoreBatch interface { // Put insert or update a record identified by (namespace, key) Put(string, []byte, []byte, string, ...interface{}) error // PutIfNotExists puts a record only if (namespace, key) doesn't exist, otherwise return ErrAlreadyExist PutIfNotExists(string, []byte, []byte, string, ...interface{}) error // Delete deletes a record by (namespace, key) Delete(string, []byte, string, ...interface{}) error // Clear clear batch write queue Clear() error // Commit commit queued write to db Commit() error }
KVStoreBatch is the interface of KV store.
func NewBaseKVStoreBatch ¶ added in v0.3.0
func NewBaseKVStoreBatch() KVStoreBatch
NewBaseKVStoreBatch instantiates an in-memory KV store
func NewBoltDBBatch ¶ added in v0.3.0
func NewBoltDBBatch(bdb *boltDB) KVStoreBatch
NewBoltDBBatch instantiates a boltdb based KV store
func NewMemKVStoreBatch ¶ added in v0.3.0
func NewMemKVStoreBatch(data *sync.Map, bucket *map[string]struct{}) KVStoreBatch
NewMemKVStoreBatch instantiates an in-memory KV store
Click to show internal directories.
Click to hide internal directories.