database

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2021 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EngineUnknown = "unknown"
	EngineRocksDB = "rocksdb"
	EnginePebble  = "pebble"
)

Variables

View Source
var (
	// ErrNothingToCleanUp is returned when nothing is there to clean up in the database.
	ErrNothingToCleanUp = errors.New("Nothing to clean up in the databases")
)

Functions

func DatabaseCleanupCaller added in v1.0.5

func DatabaseCleanupCaller(handler interface{}, params ...interface{})

func NewPebbleDB

func NewPebbleDB(directory string, reportCompactionRunning func(running bool), enableFilter bool) (*pebbleDB.DB, error)

NewPebbleDB creates a new pebble DB instance.

func NewRocksDB

func NewRocksDB(path string) (*rocksdb.RocksDB, error)

NewRocksDB creates a new RocksDB instance.

func StoreWithDefaultSettings added in v1.0.5

func StoreWithDefaultSettings(path string, createDatabaseIfNotExists bool, dbEngine ...Engine) (kvstore.KVStore, error)

StoreWithDefaultSettings returns a kvstore with default settings. It also checks if the database engine is correct.

Types

type Database

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

Database holds the underlying KVStore and database specific functions.

func New

func New(log *logger.Logger, kvStore kvstore.KVStore, events *Events, compactionSupported bool, compactionRunningFunc func() bool) *Database

New creates a new Database instance.

func (*Database) CleanupDatabases added in v1.0.5

func (db *Database) CleanupDatabases() error

func (*Database) CompactionRunning

func (db *Database) CompactionRunning() bool

CompactionRunning returns whether a compaction is running.

func (*Database) CompactionSupported added in v1.0.2

func (db *Database) CompactionSupported() bool

CompactionSupported returns whether the database engine supports compaction.

func (*Database) DatabaseSupportsCleanup added in v1.0.5

func (db *Database) DatabaseSupportsCleanup() bool

func (*Database) Events added in v1.0.5

func (db *Database) Events() *Events

Events returns the events of the database.

func (*Database) KVStore

func (db *Database) KVStore() kvstore.KVStore

KVStore returns the underlying KVStore.

func (*Database) RunGarbageCollection added in v1.0.5

func (db *Database) RunGarbageCollection()

type DatabaseCleanup added in v1.0.5

type DatabaseCleanup struct {
	Start time.Time
	End   time.Time
}

func (*DatabaseCleanup) MarshalJSON added in v1.0.5

func (c *DatabaseCleanup) MarshalJSON() ([]byte, error)

type Engine added in v1.0.5

type Engine string

func CheckDatabaseEngine added in v1.0.5

func CheckDatabaseEngine(dbPath string, createDatabaseIfNotExists bool, dbEngine ...Engine) (Engine, error)

CheckDatabaseEngine checks if the correct database engine is used. This function stores a so called "database info file" in the database folder or checks if an existing "database info file" contains the correct engine. Otherwise the files in the database folder are not compatible.

func DatabaseEngine added in v1.0.5

func DatabaseEngine(engine string) (Engine, error)

DatabaseEngine parses a string and returns an engine. Returns an error if the engine is unknown.

func LoadDatabaseEngineFromFile added in v1.0.5

func LoadDatabaseEngineFromFile(path string) (Engine, error)

LoadDatabaseEngineFromFile returns the engine from the "database info file".

type Events added in v1.0.5

type Events struct {
	DatabaseCleanup    *events.Event
	DatabaseCompaction *events.Event
}

Jump to

Keyboard shortcuts

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