Commit Graph

8 Commits

Author SHA1 Message Date
kingecg d0b5e956c4 refactor(errors): 重构错误处理系统并实现结构化日志记录
- 扩展错误码体系,从8个增加到30+个分类错误码(通用、数据库、查询、聚合、索引、事务、认证、资源)
- 增强GomogError结构,添加Details、Metadata、HTTPStatus字段和相关辅助方法
- 实现完整的结构化日志系统,支持DEBUG、INFO、WARN、ERROR、FATAL五个级别
- 添加日志钩子机制,包括FileHook、ErrorHook、PerformanceHook三种实用钩子
- 提供性能追踪功能,支持BeginTiming/End方法自动记录操作耗时
- 创建全面的单元测试,错误处理和日志系统均达到100%测试覆盖率
- 保持向后兼容性,现有代码无需修改即可正常工作
- 新增15+辅助函数支持错误创建、包装、类型判断和信息提取操作
2026-03-14 12:55:32 +08:00
kingecg 1dd0a30219 docs(project): 更新项目进度文档并添加 Batch 6 完成总结
- 更新 IMPLEMENTATION_PROGRESS.md 将总体进度从 87% 更新至 100%
- 添加 Batch 5 剩余聚合阶段的完成状态和实现详情
- 添加 Batch 6 性能优化与测试的完成状态和详细内容
- 将已完成的批次标记为  并更新实际完成时间
- 添加新的测试命令和覆盖率报告生成方法
- 创建 BATCH6_COMPLETE.md 文件记录第六批完成的详细总结
- 更新测试覆盖率数据和并发安全修复说明
2026-03-14 12:34:31 +08:00
kingecg 011f5630e2 feat(engine): 实现聚合管道剩余阶段和增强存储功能
- 新增 $unionWith 阶段支持集合并集操作,支持字符串和对象两种语法
- 实现 $redact 阶段提供文档级访问控制和行级安全性
- 添加 $out 阶段将聚合结果输出到指定集合
- 实现 $merge 阶段支持智能合并到现有集合,提供多种匹配策略
- 增加 $indexStats 和 $collStats 阶段提供索引和集合统计信息
- 扩展 MemoryStore 添加 DropCollection、InsertDocument 和 UpdateDocument 方法
- 完善聚合引擎注册所有 Batch 5 阶段并在 executeStage 中处理
- 提供完整的单元测试覆盖所有新增功能,总计 10 个测试用例
- 生成 Batch 5 完成报告详细记录实现概览和技术亮点
- 更新项目进度统计总体完成度从 82% 提升至 87%,聚合阶段完成度达 96%
2026-03-14 12:20:41 +08:00
kingecg 01f16e6445 feat(engine): 添加类型转换和位运算操作符支持
- 实现 $toString, $toInt, $toLong, $toDouble, $toBool, $toDocument 类型转换操作符
- 实现 $bitAnd, $bitOr, $bitXor, $bitNot 位运算操作符
- 新增 type_conversion.go 和 bitwise_ops.go 文件
- 添加完整的单元测试覆盖所有新功能
- 更新 IMPLEMENTATION_PROGRESS.md 统计信息
- 注册新操作符到聚合引擎表达式处理器
2026-03-14 11:35:08 +08:00
kingecg 9f8ecdd112 docs(project): 更新项目实现进度报告
- 重构进度报告格式,添加统计表格和功能分类
- 更新已完成功能清单,包含查询、更新、聚合等操作符
- 添加下一步实现规划和里程碑时间表
- 补充测试覆盖率和文档状态信息
- 增加技术债务和快速验证说明
2026-03-14 08:04:29 +08:00
kingecg f2df5e5d05 feat(engine): 实现MongoDB聚合管道第三批功能
- 添加$replaceRoot和$replaceWith文档替换操作
- 实现$setWindowFields窗口函数支持分区排序排名
- 添加$graphLookup递归查找功能支持组织架构查询
- 集成$text全文搜索支持多字段递归搜索和得分计算
- 新增$week $isoWeek $dayOfYear $isoDayOfWeek日期操作符
- 创建aggregate_batch3.go包含所有批处理功能实现
- 更新IMPLEMENTATION_PROGRESS.md记录完成状态
- 添加详细的单元测试和集成测试用例
2026-03-14 07:39:37 +08:00
kingecg 83f3c57939 feat(engine): 实现聚合表达式增强和查询操作符扩展
- 添加算术操作符:$abs, $ceil, $floor, $round, $sqrt, $subtract, $pow
- 添加字符串操作符:$trim, $ltrim, $rtrim, $split, $replaceAll, $strcasecmp
- 添加布尔操作符:$and, $or, $not 聚合版本
- 添加集合操作符:$filter, $map, $slice, $concatArrays
- 添加对象操作符:$mergeObjects, $objectToArray
- 添加日期操作符:$year, $month, $dayOfMonth, $hour, $minute, $second等
- 实现$expr聚合表达式查询功能
- 实现$jsonSchema文档验证支持
- 添加投影操作符:$elemMatch, $slice
- 实现更新操作符:$setOnInsert, 数组位置操作符和arrayFilters
- 更新IMPLEMENTATION_PROGRESS.md记录完成状态
- 增加Batch 2测试脚本和API测试示例
2026-03-14 07:29:04 +08:00
kingecg 1054487c32 feat(engine): 实现MongoDB操作符增强功能
- 新增查询操作符:$mod、$bitsAllClear、$bitsAllSet、$bitsAnyClear、$bitsAnySet
- 新增更新操作符:$min、$max、$rename、$currentDate、$addToSet、$pop、$pullAll
- 新增聚合阶段:$addFields/$set、$unset、$facet、$sample、$bucket
- 新增算术表达式:$abs、$ceil、$floor、$round、$sqrt、$subtract、$pow
- 新增字符串表达式:$trim、$ltrim、$rtrim、$split、$replaceAll、$strcasecmp
- 新增集合表达式:$filter、$map、$concatArrays、$slice
- 新增对象表达式:$mergeObjects、$objectToArray
- 新增日期操作符:$year、$month、$dayOfMonth、$hour、$minute、$second
- 新增日期计算:$dateToString、$dateAdd、$dateDiff
- 实现完整的日期时间支持和类型转换功能
- 添加变量作用域管理和嵌套表达式评估框架
2026-03-13 20:23:47 +08:00