versiondb

package
v0.0.0-...-6519026 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2024 License: BSD-3-Clause Imports: 6 Imported by: 1

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) 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) 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

Jump to

Keyboard shortcuts

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