db

package
v1.7.4 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2024 License: Apache-2.0 Imports: 8 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotFound = errors.New("data not found")
	ErrReadOnly = errors.New("read only database")
)

Functions

func BatchWrite

func BatchWrite(dbase Database, threshold, length int,
	write func(j int, w Writer) (ok bool, err error)) (count int, err error)

func CopySlice

func CopySlice(val []byte) []byte

func GetNilError

func GetNilError(db Database, key []byte) ([]byte, error)

func PrefixKey

func PrefixKey(prefix []byte, key []byte) []byte

func PrefixKey2

func PrefixKey2(prefix1 []byte, prefix2 []byte, key []byte) []byte

Types

type Batch

type Batch interface {
	Put(key, value []byte) error
	Delete(key []byte) error
	Size() int
}

type DataAdapter

type DataAdapter interface {
	Load(key []byte) (value []byte, err error)
	Save(key []byte, value []byte) error
	Clone() DataAdapter
}

func NewTransparentDataAdapter

func NewTransparentDataAdapter() DataAdapter

func RebaseAdapter added in v1.3.14

func RebaseAdapter(adapter DataAdapter, dbase Database) (DataAdapter, error)

type Database

type Database interface {
	Put(key, value []byte) error
	Has(key []byte) (bool, error)
	Get(key []byte) ([]byte, error)
	Delete(key []byte) error
	NewBatch() Batch
	Batch(batch Batch) error
	Close() error
}

func NewCachedDBWithPath

func NewCachedDBWithPath(path string, cacheSize int) (Database, error)

func NewMemDB

func NewMemDB() Database

func ReadOnly added in v1.3.6

func ReadOnly(dbase Database) Database

func Temporary added in v1.3.6

func Temporary(dbase Database) Database

type DatabasedAdapter added in v1.3.14

type DatabasedAdapter interface {
	DataAdapter
	Rebase(dbase Database) (DatabasedAdapter, error)
}

func NewKeyPrefixedDataAdapter

func NewKeyPrefixedDataAdapter(database Database, keyPrefix []byte) DatabasedAdapter

type KeyBatch

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

func (*KeyBatch) Delete

func (k *KeyBatch) Delete(key []byte) error

func (*KeyBatch) Put

func (k *KeyBatch) Put(key, value []byte) error

func (*KeyBatch) Size

func (k *KeyBatch) Size() int

type KeyDatabase

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

func (*KeyDatabase) Batch

func (d *KeyDatabase) Batch(batch Batch) error

func (*KeyDatabase) Close

func (d *KeyDatabase) Close() error

func (*KeyDatabase) Delete

func (d *KeyDatabase) Delete(key []byte) error

func (*KeyDatabase) Get

func (d *KeyDatabase) Get(key []byte) ([]byte, error)

func (*KeyDatabase) Has

func (d *KeyDatabase) Has(key []byte) (bool, error)

func (*KeyDatabase) NewBatch

func (d *KeyDatabase) NewBatch() Batch

func (*KeyDatabase) Put

func (d *KeyDatabase) Put(key, value []byte) error

type LDB

type LDB struct {
	common.AbstractService
	// contains filtered or unexported fields
}

func NewLDB

func NewLDB(path string) (*LDB, error)

func (*LDB) Batch

func (db *LDB) Batch(batch Batch) error

func (*LDB) Delete

func (db *LDB) Delete(key []byte) error

func (*LDB) Get

func (db *LDB) Get(key []byte) ([]byte, error)

func (*LDB) Has

func (db *LDB) Has(key []byte) (bool, error)

func (*LDB) NewBatch

func (db *LDB) NewBatch() Batch

func (*LDB) Path

func (db *LDB) Path() string

func (*LDB) Put

func (db *LDB) Put(key, value []byte) error

type MemDB

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

func (*MemDB) Batch

func (m *MemDB) Batch(batch Batch) error

func (*MemDB) Close

func (m *MemDB) Close() error

func (*MemDB) Delete

func (m *MemDB) Delete(key []byte) error

func (*MemDB) Get

func (m *MemDB) Get(key []byte) ([]byte, error)

func (*MemDB) Has

func (m *MemDB) Has(key []byte) (bool, error)

func (*MemDB) NewBatch

func (m *MemDB) NewBatch() Batch

func (*MemDB) Put

func (m *MemDB) Put(key, value []byte) error

type Replaceable added in v1.4.2

type Replaceable interface {
	Replace(newpath string, newdb Database) (oldpath string, olddb Database)
}

type Writer

type Writer interface {
	Put(key, value []byte) error
	Delete(key []byte) error
}

Jump to

Keyboard shortcuts

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