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