Commit Graph

7 Commits

Author SHA1 Message Date
kingecg bcda1398fb feat(engine): 实现服务器重启后数据自动加载功能
- 为所有数据库适配器添加 ListCollections 方法用于获取表列表
- 在 MemoryStore 中实现 Initialize 方法从数据库加载现有数据
- 增强 GetCollection 方法支持 dbName.collection 和纯表名的智能映射
- 修改服务器启动流程在初始化时自动加载数据库数据到内存
- 添加容错机制确保初始化失败不影响服务器正常启动
- 实现集合名称智能映射解决 HTTP API 与数据库表名格式差异
- 提供详细的加载过程日志便于调试和监控
- 创建多个测试脚本验证重启数据加载功能的正确性
2026-03-14 22:24:11 +08:00
kingecg 935d4ea86a feat(engine): 实现数据库持久化功能并添加调试日志
- 在 CRUDHandler 中添加日志记录功能用于调试和错误追踪
- 实现 MemoryStore 的 SyncToDB 方法支持自动创建表和数据同步
- 更新 HTTP 处理器使用 CRUD 处理器进行数据操作
- 添加 SQLite 表名处理逻辑去除数据库前缀
- 实现集合存在性检查和自动创建机制
- 添加测试脚本验证数据持久化功能
2026-03-14 21:56:59 +08:00
kingecg 3a08ac0617 feat(engine): 实现内存存储自动创建集合功能
- 修改 Insert 方法支持集合不存在时自动创建
- 添加集合创建逻辑并初始化文档映射
- 保持线程安全的集合操作机制
2026-03-14 20:37:56 +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 9847384f9b fix(tests): 修复测试代码中的编译错误和访问权限问题
- 添加 CreateTestCollectionForTesting 辅助函数以正确初始化测试集合
- 修复 internal/protocol/http/batch2_test.go 中的包声明重复问题
- 解决多个测试文件中对未导出字段 store.collections 的非法访问
- 修正包导入路径和变量命名冲突问题
- 更新所有测试使用辅助函数替代直接字段访问
- 添加 check_tests.sh 脚本来验证测试编译
- 重构 integration_batch2_test.go 和 memory_store_batch2_test.go 中的数据初始化方式
- 修复 HTTP 测试中的包前缀使用和集合创建方法
2026-03-13 21:29:57 +08:00
kingecg 7dfd240ac1 feat(engine): 实现 MongoDB 高级查询和更新功能
- 添加 $expr 操作符支持聚合表达式查询
- 实现 $jsonSchema 完整 JSON Schema 验证功能
- 新增投影操作符 $elemMatch 和 $slice
- 添加 $switch 多分支条件表达式
- 实现 $setOnInsert 仅在 upsert 时设置字段
- 支持数组位置操作符 $、$[] 和 $[identifier]
- 扩展 Update 方法签名支持 upsert 和 arrayFilters
- 添加完整的单元测试和集成测试
- 更新 API 文档和使用示例
2026-03-13 21:12:26 +08:00
kingecg 82cdb4be04 docs(guide): 添加项目文档和构建配置
- 添加 .gitignore 文件配置忽略规则
- 创建 API_EXAMPLES.md 提供详细的 API 使用示例
- 添加 Dockerfile 实现容器化部署
- 创建 FIXES.md 记录编译错误修复过程
- 添加 Makefile 提供标准化构建命令
- 创建 PROJECT_SUMMARY.md 项目开发总结文档
- 添加 README.md 项目介绍和使用指南
- 创建 build.sh 自动化构建检查脚本
2026-03-12 21:46:58 +08:00