errors.go 3.0 KB

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