1 package bbolt 2 3 import "errors" 4 5 // These errors can be returned when opening or calling methods on a DB. 6 var ( 7 // ErrDatabaseNotOpen is returned when a DB instance is accessed before it 8 // is opened or after it is closed. 9 ErrDatabaseNotOpen = errors.New("database not open") 10 11 // ErrDatabaseOpen is returned when opening a database that is 12 // already open. 13 ErrDatabaseOpen = errors.New("database already open") 14 15 // ErrInvalid is returned when both meta pages on a database are invalid. 16 // This typically occurs when a file is not a bolt database. 17 ErrInvalid = errors.New("invalid database") 18 19 // ErrInvalidMapping is returned when the database file fails to get mapped. 20 ErrInvalidMapping = errors.New("database isn't correctly mapped") 21 22 // ErrVersionMismatch is returned when the data file was created with a 23 // different version of Bolt. 24 ErrVersionMismatch = errors.New("version mismatch") 25 26 // ErrChecksum is returned when either meta page checksum does not match. 27 ErrChecksum = errors.New("checksum error") 28 29 // ErrTimeout is returned when a database cannot obtain an exclusive lock 30 // on the data file after the timeout passed to Open(). 31 ErrTimeout = errors.New("timeout") 32 ) 33 34 // These errors can occur when beginning or committing a Tx. 35 var ( 36 // ErrTxNotWritable is returned when performing a write operation on a 37 // read-only transaction. 38 ErrTxNotWritable = errors.New("tx not writable") 39 40 // ErrTxClosed is returned when committing or rolling back a transaction 41 // that has already been committed or rolled back. 42 ErrTxClosed = errors.New("tx closed") 43 44 // ErrDatabaseReadOnly is returned when a mutating transaction is started on a 45 // read-only database. 46 ErrDatabaseReadOnly = errors.New("database is in read-only mode") 47 48 // ErrFreePagesNotLoaded is returned when a readonly transaction without 49 // preloading the free pages is trying to access the free pages. 50 ErrFreePagesNotLoaded = errors.New("free pages are not pre-loaded") 51 ) 52 53 // These errors can occur when putting or deleting a value or a bucket. 54 var ( 55 // ErrBucketNotFound is returned when trying to access a bucket that has 56 // not been created yet. 57 ErrBucketNotFound = errors.New("bucket not found") 58 59 // ErrBucketExists is returned when creating a bucket that already exists. 60 ErrBucketExists = errors.New("bucket already exists") 61 62 // ErrBucketNameRequired is returned when creating a bucket with a blank name. 63 ErrBucketNameRequired = errors.New("bucket name required") 64 65 // ErrKeyRequired is returned when inserting a zero-length key. 66 ErrKeyRequired = errors.New("key required") 67 68 // ErrKeyTooLarge is returned when inserting a key that is larger than MaxKeySize. 69 ErrKeyTooLarge = errors.New("key too large") 70 71 // ErrValueTooLarge is returned when inserting a value that is larger than MaxValueSize. 72 ErrValueTooLarge = errors.New("value too large") 73 74 // ErrIncompatibleValue is returned when trying create or delete a bucket 75 // on an existing non-bucket key or when trying to create or delete a 76 // non-bucket key on an existing bucket key. 77 ErrIncompatibleValue = errors.New("incompatible value") 78 ) 79