db

package
v0.0.0-...-163fc3c Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2021 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrFileExist         = errors.New("file exist")
	ErrFileNotExist      = errors.New("file not exist")
	ErrBucketExist       = errors.New("bucket already exist")
	ErrBucketNotFound    = errors.New("bucket not found")
	ErrInvalidBucketName = errors.New("invalid bucket name")
	ErrIllegalKey        = errors.New("illegal key")
	ErrIllegalValue      = errors.New("illegal value")
	ErrNotSupported      = errors.New("not supported")
	ErrIllegalBucketPath = errors.New("illegal bucket path")
	ErrInvalidArgument   = errors.New("invalid argument")
	ErrWriteNotAllowed   = errors.New("write not allowed")
	ErrDbUnknownType     = errors.New("unknownt db type")
	ErrOpenDBFailed      = errors.New("open db failed")
	ErrCreateDBFailed    = errors.New("create db failed")
)

Error definition

Functions

func RegisterDriver

func RegisterDriver(ins DBDriver)

func RegisteredDbTypes

func RegisteredDbTypes() []string

func Update

func Update(db DB, f func(tx DBTransaction) error) error

Update ...

func View

func View(db DB, f func(tx ReadTransaction) error) error

View ...

Types

type Bucket

type Bucket interface {
	NewBucket(name string) (Bucket, error)
	Bucket(name string) Bucket
	BucketNames() ([]string, error)
	DeleteBucket(name string) error
	Put(key, value []byte) error
	Delete(key []byte) error
	Get(key []byte) ([]byte, error)
	Clear() error
	GetByPrefix([]byte) ([]*Entry, error)
	GetBucketMeta() BucketMeta
}

Bucket ...

func GetOrCreateBucket

func GetOrCreateBucket(bucket Bucket, name string) (b Bucket, err error)

GetOrCreateBucket return a sub store space(sub Bucket). Param db can also be a Bucket instance

func GetOrCreateTopLevelBucket

func GetOrCreateTopLevelBucket(tx DBTransaction, name string) (b Bucket, err error)

GetOrCreateTopLevelBucket ...

type BucketMeta

type BucketMeta interface {
	Paths() []string
	Name() string
	Depth() int
}

BucketMeta ...

type DB

type DB interface {
	Close() error
	BeginTx() (DBTransaction, error)
	BeginReadTx() (ReadTransaction, error)
}

DB ...

func CreateDB

func CreateDB(dbtype string, args ...interface{}) (DB, error)

func OpenDB

func OpenDB(dbtype string, args ...interface{}) (DB, error)

type DBDriver

type DBDriver struct {
	Type     string
	OpenDB   func(args ...interface{}) (DB, error)
	CreateDB func(args ...interface{}) (DB, error)
}

type DBTransaction

type DBTransaction interface {
	Commit() error
	Rollback() error
	TopLevelBucket(name string) Bucket
	BucketNames() ([]string, error)
	FetchBucket(meta BucketMeta) Bucket
	CreateTopLevelBucket(name string) (Bucket, error)
	DeleteTopLevelBucket(name string) error
}

DBTransaction ...

type Entry

type Entry struct {
	Key   []byte
	Value []byte
}

Entry ...

type ReadTransaction

type ReadTransaction interface {
	TopLevelBucket(name string) Bucket
	FetchBucket(meta BucketMeta) Bucket
	BucketNames() ([]string, error)
	Rollback() error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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