Documentation ¶
Index ¶
- Constants
- Variables
- func DatabaseCleanupCaller(handler interface{}, params ...interface{})
- func NewPebbleDB(directory string, reportCompactionRunning func(running bool), ...) (*pebbleDB.DB, error)
- func NewRocksDB(path string) (*rocksdb.RocksDB, error)
- func StoreWithDefaultSettings(path string, createDatabaseIfNotExists bool, dbEngine ...Engine) (kvstore.KVStore, error)
- type Database
- func (db *Database) CleanupDatabases() error
- func (db *Database) CompactionRunning() bool
- func (db *Database) CompactionSupported() bool
- func (db *Database) DatabaseSupportsCleanup() bool
- func (db *Database) Events() *Events
- func (db *Database) KVStore() kvstore.KVStore
- func (db *Database) RunGarbageCollection()
- type DatabaseCleanup
- type Engine
- type Events
Constants ¶
const ( EngineUnknown = "unknown" EngineRocksDB = "rocksdb" EnginePebble = "pebble" )
Variables ¶
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 ¶
NewRocksDB creates a new RocksDB instance.
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 (*Database) CompactionRunning ¶
CompactionRunning returns whether a compaction is running.
func (*Database) CompactionSupported ¶ added in v1.0.2
CompactionSupported returns whether the database engine supports compaction.
func (*Database) DatabaseSupportsCleanup ¶ added in v1.0.5
func (*Database) RunGarbageCollection ¶ added in v1.0.5
func (db *Database) RunGarbageCollection()
type DatabaseCleanup ¶ added in v1.0.5
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
DatabaseEngine parses a string and returns an engine. Returns an error if the engine is unknown.
func LoadDatabaseEngineFromFile ¶ added in v1.0.5
LoadDatabaseEngineFromFile returns the engine from the "database info file".