database

package
v2.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2023 License: Apache-2.0 Imports: 15 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	AllowedEnginesDefault = []hivedb.Engine{
		hivedb.EngineAuto,
		hivedb.EngineMapDB,
		hivedb.EnginePebble,
		hivedb.EngineRocksDB,
	}

	AllowedEnginesStorage = []hivedb.Engine{
		hivedb.EnginePebble,
		hivedb.EngineRocksDB,
	}

	AllowedEnginesStorageAuto = append(AllowedEnginesStorage, hivedb.EngineAuto)
)
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 CheckEngine

func CheckEngine(dbPath string, createDatabaseIfNotExists bool, dbEngine hivedb.Engine, allowedEngines ...hivedb.Engine) (hivedb.Engine, error)

CheckEngine is a wrapper around hivedb.CheckEngine to throw a custom error message in case of engine mismatch.

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

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

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

Types

type Cleanup

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

func (*Cleanup) MarshalJSON

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

type Database

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

Database holds the underlying KVStore and database specific functions.

func New

func New(databaseDirectory string, kvStore kvstore.KVStore, engine hivedb.Engine, metrics *metrics.DatabaseMetrics, events *Events, compactionSupported bool, compactionRunningFunc func() bool) *Database

New creates a new Database instance.

func (*Database) CompactionRunning

func (db *Database) CompactionRunning() bool

CompactionRunning returns whether a compaction is running.

func (*Database) CompactionSupported

func (db *Database) CompactionSupported() bool

CompactionSupported returns whether the database engine supports compaction.

func (*Database) Engine

func (db *Database) Engine() hivedb.Engine

Engine returns the database engine.

func (*Database) Events

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

func (db *Database) Metrics() *metrics.DatabaseMetrics

Metrics returns the database metrics.

func (*Database) Size

func (db *Database) Size() (int64, error)

Size returns the size of the database.

type Events

type Events struct {
	Cleanup    *event.Event1[*Cleanup]
	Compaction *event.Event1[bool]
}

func NewEvents

func NewEvents() *Events

Jump to

Keyboard shortcuts

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