qing
|
2f7a99c2a4
|
fix(db2): schema缓存基于schema_version自动失效,更新审计文档
- 缓存项携带 PRAGMA schema_version,DDL变更后自动重新反射
- 修复P3-1低危问题,剩余未修复P3问题降至2项
|
2026-08-07 07:26:29 +00:00 |
|
qing
|
176fb13908
|
fix(db2): 修复空values和未知运算符问题,更新审计文档
P3-5: INSERT/UPDATE 空 values 前置校验,不再生成无效 SQL
P3-6: 未知 WHERE 运算符立即报错,不再静默跳过
审计文档:新增并发性分析章节,更新进度至 8/11 已修复
剩余 3 项 P3(schema缓存失效、limit负值、条件数上限)待后续迭代
|
2026-08-07 07:07:55 +00:00 |
|
qing
|
ec626dc8d5
|
fix(db2): 修复清理时间戳格式偏差,增加配置完整性校验
P2-1: 清理 SQL 改用 strftime 统一 T 分隔格式,消除保留期约 1 天偏移
P2-2: load_config 对 7 个必需字段做必填校验,缺失则 exit(1)
审计进度:已修复 6/9(P0×2 P1×1 P2×2 P3×1),剩余 3 项 P3
|
2026-08-07 06:55:31 +00:00 |
|
qing
|
8a661291c0
|
chore(db2): 从索引移除 build/db2,交由 .gitignore 忽略
|
2026-08-07 04:57:53 +00:00 |
|
qing
|
e2b99529fc
|
chore(db2): 添加 .gitignore,忽略 build/ 与编译产物
|
2026-08-07 04:56:34 +00:00 |
|
qing
|
00421182e4
|
fix(db2): 按 JSON 类型分别绑定 SQLite 参数,修复类型丢失
- _coerce_value 改为返回 json::value,保留 int/double/bool/null 原始类型
- 新增 _bind_value,按类型调用 sqlite3_bind_int64/double/text/null
- WhereClause::params 改为 vector<json::value>,删除 is_null 向量
- INSERT/UPDATE/SELECT/DELETE 统一使用按类型绑定
修复 P1-1(所有值绑定为 TEXT)和 P3-2(_coerce_value null 处理误导)
|
2026-08-06 18:23:30 +00:00 |
|
qing
|
fad749f9aa
|
docs(db2): 添加 README
|
2026-08-06 17:42:50 +00:00 |
|
qing
|
1970f3f824
|
feat(db2): C++20 数据库 RPC 服务,对齐 Python db 模块 execute 路由
- 完整实现 execute 路由(select/insert/update/delete)
- 相同 where 语法(eq/ne/gt/lt/ge/le/like/in)及响应格式
- 启动时从 confs 拉取 db.ini,支持环境变量和命令行覆盖
- per-thread SQLite 连接 + WAL/mmap/busy_timeout PRAGMA
- PRAGMA table_info 驱动的列类型反射与缓存
- $now 哨兵值自动替换为 UTC 时间
- 内置 Logs 表自动建表 + 后台清理线程(retention_days + max_records)
- 表名白名单校验防 SQL 注入
- gateway DbC::call_msg() 零改动可直接切换
|
2026-08-06 17:40:07 +00:00 |
|