Documentation ¶
Index ¶
- Variables
- func CheckEngine(dbPath string, createDatabaseIfNotExists bool, dbEngine hivedb.Engine, ...) (hivedb.Engine, error)
- func NewRocksDB(path string) (*rocksdb.RocksDB, error)
- func StoreWithDefaultSettings(path string, createDatabaseIfNotExists bool, dbEngine hivedb.Engine, ...) (kvstore.KVStore, error)
- type Cleanup
- type Config
- type DBInstance
- type Database
- func (db *Database) CompactionRunning() bool
- func (db *Database) CompactionSupported() bool
- func (db *Database) Engine() hivedb.Engine
- func (db *Database) Events() *Events
- func (db *Database) KVStore() kvstore.KVStore
- func (db *Database) Metrics() *metrics.DatabaseMetrics
- func (db *Database) Size() (int64, error)
- type Events
Constants ¶
This section is empty.
Variables ¶
var ( AllowedEnginesDefault = []hivedb.Engine{ hivedb.EngineAuto, hivedb.EngineMapDB, hivedb.EngineRocksDB, } AllowedEnginesStorage = []hivedb.Engine{ hivedb.EngineRocksDB, } AllowedEnginesStorageAuto = append(AllowedEnginesStorage, hivedb.EngineAuto) )
var ( ErrEpochPruned = ierrors.New("epoch pruned") ErrNoPruningNeeded = ierrors.New("no pruning needed") ErrDatabaseFull = ierrors.New("database full") ErrDatabaseShutdown = ierrors.New("cannot open DBInstance that is shutdown") ErrDatabaseNotClosed = ierrors.New("cannot open DBInstance that is not closed") )
var ( // ErrNothingToCleanUp is returned when nothing is there to clean up in the database. ErrNothingToCleanUp = ierrors.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 NewRocksDB ¶
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 ¶
func (*Cleanup) MarshalJSON ¶
type Config ¶
func (Config) WithDirectory ¶
type DBInstance ¶
type DBInstance struct {
// contains filtered or unexported fields
}
func NewDBInstance ¶
func NewDBInstance(dbConfig Config, openedCallback func(d *DBInstance)) *DBInstance
func (*DBInstance) Close ¶
func (d *DBInstance) Close()
func (*DBInstance) CloseWithoutLocking ¶
func (d *DBInstance) CloseWithoutLocking()
func (*DBInstance) Flush ¶
func (d *DBInstance) Flush()
func (*DBInstance) KVStore ¶
func (d *DBInstance) KVStore() kvstore.KVStore
func (*DBInstance) LockAccess ¶
func (d *DBInstance) LockAccess()
func (*DBInstance) Open ¶
func (d *DBInstance) Open() error
Open re-opens a closed DBInstance. It must only be called while holding a lock on DBInstance, otherwise it might cause a race condition and corruption of node's state.
func (*DBInstance) Shutdown ¶
func (d *DBInstance) Shutdown()
func (*DBInstance) UnlockAccess ¶
func (d *DBInstance) UnlockAccess()
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 ¶
CompactionRunning returns whether a compaction is running.
func (*Database) CompactionSupported ¶
CompactionSupported returns whether the database engine supports compaction.
func (*Database) Metrics ¶
func (db *Database) Metrics() *metrics.DatabaseMetrics
Metrics returns the database metrics.