package metadb

Import Path
	github.com/polarsignals/wal/metadb (on go.dev)

Dependency Relation
	imports 7 packages, and imported by one package

Involved Source Files metadb.go
Package-Level Type Names (only one)
/* sort by: | */
BoltMetaDB implements types.MetaStore using BoltDB as a reliable persistent store. See repo README for reasons for this design choice and performance implications. Close implements io.Closer CommitState must atomically replace all persisted metadata in the current store with the set provided. It must not return until the data is persisted durably and in a crash-safe way otherwise the guarantees of the WAL will be compromised. The WAL will only ever call this in a single thread at one time and it will never be called concurrently with Load however it may be called concurrently with Get/SetStable operations. Load loads the existing persisted state. If there is no existing state implementations are expected to create initialize new storage and return an empty state. *BoltMetaDB : github.com/polarsignals/wal/types.MetaStore *BoltMetaDB : github.com/prometheus/common/expfmt.Closer *BoltMetaDB : io.Closer
Package-Level Variables (only one)
ErrUnintialized is returned when any call is made before Load has opened the DB file.
Package-Level Constants (total 4)
FileName is the default file name for the bolt db file.
*Bucket are the names used for internal bolt buckets
We just need one key for now so use the byte 'm' for meta arbitrarily.
const StableBucket = "stable"