errors.go 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package core
  2. import "errors"
  3. var (
  4. ErrDBNotInitialized = errors.New("数据库未初始化,请先调用 Open()")
  5. ErrTableNotFound = errors.New("表不存在")
  6. ErrTableNameTooLong = errors.New("表名过长")
  7. ErrIndexNameTooLong = errors.New("索引名过长")
  8. ErrTableExists = errors.New("表已存在")
  9. ErrInvalidFieldCount = errors.New("字段数量非法")
  10. ErrFieldAllocateTooLarge = errors.New("字段分配空间过大")
  11. ErrIndexFieldCount = errors.New("索引字段数量必须在 1-16 之间")
  12. ErrIndexFieldDuplicated = errors.New("索引字段重复: 同一列在一个索引里只能出现一次")
  13. ErrIndexCompositeRowStore = errors.New("主键/时序这类行存储索引不支持复合键")
  14. ErrRowStoreExists = errors.New("表上已存在行存储索引: 主键索引与时序索引不能共存")
  15. ErrIndexDynamicField = errors.New("动态列不能作为索引键: 行内只存堆引用, 按值查不到而且写索引时会 panic")
  16. ErrIndexBlobField = errors.New("blob 列不能作为索引键: 行内只存 8 字节链引用, 索引键会变成页号而不是内容")
  17. ErrIndexComposeWidth = errors.New("复合索引要求每个分量恰好 8 字节: 它的键布局把分量宽度写死成 8")
  18. ErrIndexRowTooWide = errors.New("索引分量列过宽: 建索引后该列不能再值级溢出, 行内最小宽度会超过一页两行的上限")
  19. ErrIndexExists = errors.New("索引已存在")
  20. ErrDuplicatedKey = errors.New("唯一约束冲突: 该值已存在")
  21. ErrUniqueRowStore = errors.New("行存储索引不支持唯一约束: 主键本就唯一, 时序键则允许同一时刻多行")
  22. ErrFieldNotFound = errors.New("字段未找到")
  23. ErrFieldExists = errors.New("字段已存在")
  24. ErrFieldSpaceNotEnough = errors.New("字段扩展空间不足,且无法分配新页") // 字段扩展空间不足,且无法分配新页
  25. ErrPageRead = errors.New("当前页不存在") // 当前页不存在
  26. ErrHeapPageTooLarge = errors.New("申请空间超过单页最大容量") // 申请空间超过单页最大容量
  27. ErrHeapAllocFailed = errors.New("堆页分配失败") // 堆页分配失败
  28. ErrNotFound = errors.New("键未找到") // 键未找到
  29. ErrIndexNotFound = errors.New("索引未找到") // 索引未找到
  30. ErrDuplicatePK = errors.New("主键已存在")
  31. ErrTxnActive = errors.New("当前有活跃事务, 请先提交或回滚")
  32. ErrVACUUMNoPath = errors.New("VACUUM 拒绝: db 路径不可用")
  33. ErrVACUUMTxnContext = errors.New("VACUUM 在写入过程中检测到新事务开启, 已回滚重写")
  34. )