database

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2019 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IBatch

type IBatch interface {
	IDatabasePutter
	ValueSize() int // amount of data in the batch
	Write() error
	Reset() // Reset resets the batch for reuse
}

Batch is a write-only database that commits changes to its host database when Write is called. Batch cannot be used concurrently.

func NewTableBatch

func NewTableBatch(db IDatabase, prefix string) IBatch

NewTableBatch returns a Batch object which prefixes all keys with a given string.

type IDatabase

type IDatabase interface {
	IDatabaseGetter
	IDatabasePutter
	Has(key []byte) (bool, error)
	Delete(key []byte) error
	Close()
	NewBatch() IBatch
}

Database wraps all database operations. All methods are safe for concurrent use.

func NewTable

func NewTable(db IDatabase, prefix string) IDatabase

NewTable returns a Database object that prefixes all keys with a given string.

type IDatabaseGetter

type IDatabaseGetter interface {
	Get(key []byte) ([]byte, error)
}

type IDatabasePutter

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

type LDatabase

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

database struct

func OpenLDB

func OpenLDB(file string, blockCache int, fileCache int) (*LDatabase, error)

Open returns a LevelDB wrapped object.

func (*LDatabase) Close

func (db *LDatabase) Close()

func (*LDatabase) Delete

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

func (*LDatabase) Get

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

func (*LDatabase) Has

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

func (*LDatabase) Meter

func (db *LDatabase) Meter(prefix string)

Meter configures the database metrics collectors and

func (*LDatabase) NewBatch

func (db *LDatabase) NewBatch() IBatch

func (*LDatabase) NewIterator

func (db *LDatabase) NewIterator() iterator.Iterator

func (*LDatabase) Path

func (db *LDatabase) Path() string

func (*LDatabase) Put

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

type MemDatabase

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

This is a test memory database. Do not use for any production it does not get persisted

func NewMemDatabaseWithCap

func NewMemDatabaseWithCap(size int) (*MemDatabase, error)

func OpenMemDB

func OpenMemDB() (*MemDatabase, error)

func (*MemDatabase) Close

func (db *MemDatabase) Close()

func (*MemDatabase) Delete

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

func (*MemDatabase) Get

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

func (*MemDatabase) Has

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

func (*MemDatabase) Keys

func (db *MemDatabase) Keys() [][]byte

func (*MemDatabase) Len

func (db *MemDatabase) Len() int

func (*MemDatabase) NewBatch

func (db *MemDatabase) NewBatch() IBatch

func (*MemDatabase) Put

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

Jump to

Keyboard shortcuts

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