Help us shape the future of Go! Take the 2026 Go Developer Survey

versiondb

package
v1.21.5 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2026 License: BSD-3-Clause Imports: 7 Imported by: 44

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Commitable

type Commitable interface {
	// Commit writes all the queued operations to the underlying data structure.
	Commit() error
}

Commitable defines the interface that specifies that something may be committed.

type Database

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

Database implements the Database interface by living on top of another database, writing changes to the underlying database only when commit is called.

func New

func New(db database.Database) *Database

New returns a new versioned database

func (*Database) Abort

func (db *Database) Abort()

Abort all changes to the underlying database

func (*Database) Backup added in v1.5.1

func (db *Database) Backup(w io.Writer, since uint64) (uint64, error)

func (*Database) Close

func (db *Database) Close() error

func (*Database) Commit

func (db *Database) Commit() error

Commit writes all the operations of this database to the underlying database

func (*Database) CommitBatch

func (db *Database) CommitBatch() (database.Batch, error)

CommitBatch returns a batch that contains all uncommitted puts/deletes. Calling Write() on the returned batch causes the puts/deletes to be written to the underlying database. The returned batch should be written before future calls to this DB unless the batch will never be written.

func (*Database) Compact

func (db *Database) Compact(start, limit []byte) error

func (*Database) Delete

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

func (*Database) Get

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

func (*Database) GetDatabase

func (db *Database) GetDatabase() database.Database

GetDatabase returns the underlying database

func (*Database) Has

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

func (*Database) HealthCheck

func (db *Database) HealthCheck(ctx context.Context) (interface{}, error)

func (*Database) Load added in v1.5.1

func (db *Database) Load(r io.Reader) error

func (*Database) NewBatch

func (db *Database) NewBatch() database.Batch

func (*Database) NewIterator

func (db *Database) NewIterator() database.Iterator

func (*Database) NewIteratorWithPrefix

func (db *Database) NewIteratorWithPrefix(prefix []byte) database.Iterator

func (*Database) NewIteratorWithStart

func (db *Database) NewIteratorWithStart(start []byte) database.Iterator

func (*Database) NewIteratorWithStartAndPrefix

func (db *Database) NewIteratorWithStartAndPrefix(start, prefix []byte) database.Iterator

func (*Database) Put

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

func (*Database) SetDatabase

func (db *Database) SetDatabase(newDB database.Database) error

SetDatabase changes the underlying database to the specified database

func (*Database) Sync added in v1.2.17

func (db *Database) Sync() error

Sync implements the database.Syncer interface. It flushes all buffered writes to persistent storage by delegating to the underlying database.

func (*Database) Unwrap added in v1.17.47

func (db *Database) Unwrap() database.Database

Unwrap returns the underlying database for interface assertions.

Jump to

Keyboard shortcuts

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