Documentation
¶
Overview ¶
* @Author: kamalyes 501893067@qq.com * @Date: 2025-12-13 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-12-13 10:26:53 * @FilePath: \go-sqlbuilder\errors\checker.go * @Description: 数据库错误检测工具函数 * * Copyright (c) 2025 by kamalyes, All Rights Reserved.
Index ¶
- func IsColumnNotExistError(err error) bool
- func IsConnectionError(err error) bool
- func IsConstraintViolation(err error) bool
- func IsDataTooLongError(err error) bool
- func IsDatabaseNotExistError(err error) bool
- func IsDeadlockError(err error) bool
- func IsDuplicateKeyError(err error) bool
- func IsForeignKeyViolation(err error) bool
- func IsPermissionDeniedError(err error) bool
- func IsRecordNotFoundError(err error) bool
- func IsSyntaxError(err error) bool
- func IsTableNotExistError(err error) bool
- func IsTimeoutError(err error) bool
- type ErrorCode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsColumnNotExistError ¶ added in v0.3.4
IsColumnNotExistError 检查是否为列不存在错误
func IsConnectionError ¶ added in v0.3.4
IsConnectionError 检查是否为数据库连接错误
func IsConstraintViolation ¶ added in v0.3.4
IsConstraintViolation 检查是否为约束违反错误(通用)
func IsDataTooLongError ¶ added in v0.3.4
IsDataTooLongError 检查是否为数据过长错误
func IsDatabaseNotExistError ¶ added in v0.3.4
IsDatabaseNotExistError 检查是否为数据库不存在错误
func IsDeadlockError ¶ added in v0.3.4
IsDeadlockError 检查是否为死锁错误
func IsDuplicateKeyError ¶ added in v0.3.4
IsDuplicateKeyError 检查是否为重复键错误(唯一索引冲突) 支持: - GORM ErrDuplicatedKey (GORM 1.20+) - MySQL Error 1062 (ER_DUP_ENTRY) - PostgreSQL Error 23505 (unique_violation)
func IsForeignKeyViolation ¶ added in v0.3.4
IsForeignKeyViolation 检查是否为外键约束错误
func IsPermissionDeniedError ¶ added in v0.3.4
IsPermissionDeniedError 检查是否为权限拒绝错误
func IsRecordNotFoundError ¶ added in v0.3.4
IsRecordNotFoundError 检查是否为记录不存在错误
func IsTableNotExistError ¶ added in v0.3.4
IsTableNotExistError 检查是否为表不存在错误
Types ¶
type ErrorCode ¶
ErrorCode 错误代码类型(复用 errorx.ErrorType)
const ( ErrorCodeNotFound ErrorCode = 11001 // 记录不存在 ErrorCodeAlreadyExist ErrorCode = 11002 // 记录已存在 ErrorCodeInvalidInput ErrorCode = 11003 // 输入参数无效 ErrorCodeForbidden ErrorCode = 11005 // 禁止访问 ErrorCodeConflict ErrorCode = 11006 // 操作冲突 )
通用业务错误 (11000-11999)
const ( ErrorCodeDBError ErrorCode = 21001 // 数据库操作失败 ErrorCodeDBDuplicate ErrorCode = 21002 // 数据库记录重复 ErrorCodeDBConstraint ErrorCode = 21003 // 数据库约束冲突 ErrorCodeDBDeadlock ErrorCode = 21004 // 数据库死锁 ErrorCodeNoDatabaseConn ErrorCode = 21005 // 无数据库连接 ErrorCodeDBFailedUpdate ErrorCode = 21006 // 数据库更新失败 ErrorCodeDBFailedInsert ErrorCode = 21007 // 数据库插入失败 ErrorCodeDBFailedDelete ErrorCode = 21008 // 数据库删除失败 ErrorCodeNestedTransaction ErrorCode = 21009 // 嵌套事务错误 )
数据库错误 (21000-29999)
const ( ErrorCodeCacheError ErrorCode = 31001 // 缓存操作失败 ErrorCodeCacheMiss ErrorCode = 31002 // 缓存未命中 ErrorCodeCacheStoreNotFound ErrorCode = 31003 // 缓存存储未找到 ErrorCodeCacheKeyNotFound ErrorCode = 31004 // 缓存键不存在 ErrorCodeCacheExpired ErrorCode = 31005 // 缓存已过期 ErrorCodeCacheStoreNotConfigured ErrorCode = 31006 // 缓存存储未配置 ErrorCodeCacheInvalidData ErrorCode = 31007 // 缓存数据无效 )
缓存错误 (31000-39999)
const ( ErrorCodeResourceNotFound ErrorCode = 41001 // 资源不存在 ErrorCodeBuilderNotInitialized ErrorCode = 41002 // Builder未初始化 ErrorCodeInvalidTableName ErrorCode = 41003 // 表名无效 ErrorCodeInvalidFieldName ErrorCode = 41004 // 字段名无效 ErrorCodeInvalidSQLQuery ErrorCode = 41005 // SQL查询无效 ErrorCodeAdapterNotSupported ErrorCode = 41006 // 适配器不支持 )
SQL构建器错误 (41000-49999)
const ( ErrorCodeInvalidOperator ErrorCode = 51001 // 无效的操作符 ErrorCodeInvalidFilterValue ErrorCode = 51002 // 过滤值无效 ErrorCodePageNumberInvalid ErrorCode = 51003 // 页码无效 ErrorCodePageSizeInvalid ErrorCode = 51004 // 页大小无效 ErrorCodeTimeRangeInvalid ErrorCode = 51005 // 时间范围无效 ErrorCodeEmptyFilterParam ErrorCode = 51006 // 过滤参数为空 )
查询错误 (51000-59999)
const ( ErrorCodeInternal ErrorCode = 90001 // 内部服务错误 ErrorCodeTimeout ErrorCode = 90002 // 请求超时 ErrorCodeTooManyRequests ErrorCode = 90003 // 请求过于频繁(限流) ErrorCodeUnsupported ErrorCode = 90004 // 不支持的操作 ErrorCodeUnknown ErrorCode = 90005 // 未知错误 ErrorCodeOperationFailed ErrorCode = 90006 // 操作失败 )
系统级错误 (90000-99999)
const (
ErrorCodeSuccess ErrorCode = 0 // 成功
)
基础通用错误 (0-999)