# Variables
ErrBucketExists is returned when creating a bucket that already exists.
ErrBucketNameRequired is returned when creating a bucket with a blank name.
ErrBucketNotFound is returned when trying to access a bucket that has not been created yet.
ErrChecksum is returned when a checksum mismatch occurs on either of the two meta pages.
ErrDatabaseNotOpen is returned when a DB instance is accessed before it is opened or after it is closed.
ErrDatabaseReadOnly is returned when a mutating transaction is started on a read-only database.
ErrDifferentDB is returned when trying to move a sub-bucket between source and target buckets, while source and target buckets are in different database files.
ErrFreePagesNotLoaded is returned when a readonly transaction without preloading the free pages is trying to access the free pages.
ErrIncompatibleValue is returned when trying to create or delete a bucket on an existing non-bucket key or when trying to create or delete a non-bucket key on an existing bucket key.
ErrInvalid is returned when both meta pages on a database are invalid.
ErrInvalidMapping is returned when the database file fails to get mapped.
ErrKeyRequired is returned when inserting a zero-length key.
ErrKeyTooLarge is returned when inserting a key that is larger than MaxKeySize.
ErrSameBuckets is returned when trying to move a sub-bucket between source and target buckets, while source and target buckets are the same.
ErrTimeout is returned when a database cannot obtain an exclusive lock on the data file after the timeout passed to Open().
ErrTxClosed is returned when committing or rolling back a transaction that has already been committed or rolled back.
ErrTxNotWritable is returned when performing a write operation on a read-only transaction.
ErrValueTooLarge is returned when inserting a value that is larger than MaxValueSize.
ErrVersionMismatch is returned when the data file was created with a different version of Bolt.