Documentation
¶
Index ¶
- func SortDescending(dbs []*VersionedDatabase)
- type Manager
- func NewLevelDB(dbDirPath string, dbConfig []byte, log logging.Logger, ...) (Manager, error)
- func NewManagerFromDBs(dbs []*VersionedDatabase) (Manager, error)
- func NewMemDB(currentVersion version.Version) Manager
- func NewRocksDB(dbDirPath string, dbConfig []byte, log logging.Logger, ...) (Manager, error)
- type VersionedDatabase
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SortDescending ¶
func SortDescending(dbs []*VersionedDatabase)
Types ¶
type Manager ¶
type Manager interface {
// Current returns the database with the current database version.
Current() *VersionedDatabase
// Previous returns the database prior to the current database and true if a
// previous database exists.
Previous() (*VersionedDatabase, bool)
// GetDatabases returns all the managed databases in order from current to
// the oldest version.
GetDatabases() []*VersionedDatabase
// Close all of the databases controlled by the manager.
Close() error
// NewPrefixDBManager returns a new database manager with each of its
// databases prefixed with [prefix].
NewPrefixDBManager(prefix []byte) Manager
// NewNestedPrefixDBManager returns a new database manager where each of its
// databases has the nested prefix [prefix] applied to it.
NewNestedPrefixDBManager(prefix []byte) Manager
// NewMeterDBManager returns a new database manager with each of its
// databases wrapped with a meterdb instance to support metrics on database
// performance.
NewMeterDBManager(namespace string, registerer prometheus.Registerer) (Manager, error)
// NewCompleteMeterDBManager wraps each database instance with a meterdb
// instance. The namespace is concatenated with the version of the database.
// Note: calling this more than once with the same [namespace] will cause a
// conflict error for the [registerer].
NewCompleteMeterDBManager(namespace string, registerer prometheus.Registerer) (Manager, error)
}
func NewLevelDB ¶ added in v1.4.10
func NewLevelDB( dbDirPath string, dbConfig []byte, log logging.Logger, currentVersion version.Version, ) (Manager, error)
NewLevelDB creates a database manager of levelDBs at [filePath] by creating a database instance from each directory with a version <= [currentVersion]. If [includePreviousVersions], opens previous database versions and includes them in the returned Manager.
func NewManagerFromDBs ¶
func NewManagerFromDBs(dbs []*VersionedDatabase) (Manager, error)
NewManagerFromDBs
func NewMemDB ¶ added in v1.4.10
NewMemDB returns a database manager with a single memdb instance with [currentVersion].
func NewRocksDB ¶ added in v1.4.10
func NewRocksDB( dbDirPath string, dbConfig []byte, log logging.Logger, currentVersion version.Version, ) (Manager, error)
NewRocksDB creates a database manager of rocksDBs at [filePath] by creating a database instance from each directory with a version <= [currentVersion]. If [includePreviousVersions], opens previous database versions and includes them in the returned Manager.
type VersionedDatabase ¶
func (*VersionedDatabase) Close ¶
func (db *VersionedDatabase) Close() error
Close the underlying database