|
|
30c3e74bd2
|
feat: 完善 WebUI basePath 支持并简化示例代码
主要改动:
1. WebUI basePath 逻辑完善
- NewWebUI 支持可变参数 basePath
- 新增 path() 辅助方法统一路径处理
- handleTableAPI 正确处理 basePath 前缀
- handleIndex 根据 basePath 替换占位符
2. 简化示例代码
- 删除反向代理实现(111行)
- 直接使用带 basePath 的 WebUI
- 代码量减少 33%,架构更清晰
3. 前端优化
- 新增 api.js 统一 API 服务层
- 所有组件使用统一的 API 调用
- 支持通过 window.API_BASE 配置 basePath
4. 修复 .gitignore
- 使用通用模式支持 commands 目录
- 无需为新示例项目修改配置
|
2025-10-14 22:23:30 +08:00 |
|
|
|
7ac4b99a9e
|
feat: WebUI 重构与更新
|
2025-10-13 01:36:49 +08:00 |
|
|
|
fc7eeb3696
|
feat: 更新 table 与 WebUI 静态资源
|
2025-10-12 12:52:35 +08:00 |
|
|
|
c7cb1ae6c6
|
feat: 更新 sstable 并新增 examples/complex 示例
|
2025-10-12 06:02:19 +08:00 |
|
|
|
03ec262ca5
|
feat: updates to btree/index/query/sstable/table
|
2025-10-11 16:33:18 +08:00 |
|
|
|
c8cbe4178f
|
优化:改进 Compaction 和 WebUI 日志
- 简化 Compaction 日志输出,使用结构化日志
- 优化 WebUI 命令行参数处理
- 改进 WebUI 服务器启动和错误处理
- 统一日志格式和输出方式
|
2025-10-10 23:41:23 +08:00 |
|
|
|
3148bf226d
|
重构:添加结构化日志支持
- 引入 slog 替代 fmt.Printf 日志输出
- Database 和 Table 支持自定义 Logger
- 优化错误和警告信息的结构化记录
- 改进 Compaction 配置传递机制
- 完善数据库和表的初始化流程
|
2025-10-10 22:11:58 +08:00 |
|
|
|
65bdf1c50d
|
文档:添加 MIT LICENSE 并优化 README
- 添加 MIT 开源许可证
- 精简 README.md 内容
- 完善项目描述
|
2025-10-10 20:09:32 +08:00 |
|
|
|
5b8e5e7bd2
|
文档:更新和优化项目文档
- 更新 DESIGN.md:
- 强调强制 Schema(21 种类型)
- 更新核心代码行数为 ~5,400 行
- 优化 ROW1 格式说明(英文)
- 完善性能指标和项目成果
- 精简 DOCS.md 和 README.md
- 统一文档风格和术语
|
2025-10-10 20:00:23 +08:00 |
|
|
|
39d57134f1
|
清理:删除运行时文件和二进制文件
- 删除 examples/webui/data/ 运行时数据
- 更新 .gitignore 防止再次提交二进制和数据文件
- 只保留示例源代码文件(.go, go.mod, go.sum, README.md)
|
2025-10-10 18:38:27 +08:00 |
|
|
|
7d2bb4745c
|
重构:清理项目结构和完善文档
- 添加完整的 DOCS.md 文档(1376 行)
- 更新 README.md,增强项目说明
- 清理临时示例和测试数据
- 删除诊断工具(已完成测试)
- 为 webui 示例准备测试数据
- 优化 .gitignore 配置
- 增强 Query 和 Schema 功能
- 改进 SSTable 编码处理
|
2025-10-10 18:36:22 +08:00 |
|
|
|
8d750505fb
|
功能:添加可空字段和标签格式支持
- 实现可空字段(nullable)功能
- 支持 *int, *string 等指针类型
- 添加 nullable 示例程序
- 完善可空字段验证测试
- 添加标签格式(tag format)支持
- 支持自定义字段标签
- 添加 tag_format 示例程序
- 增强 Schema 标签解析能力
- 优化 Schema 和 SSTable 处理逻辑
- 添加诊断工具测试用例
|
2025-10-10 15:44:38 +08:00 |
|
|
|
fc1ad9832d
|
工具:添加诊断工具和优化查询功能
- 添加 diagnose 诊断工具集
- test_index: 索引功能测试
- test_new_data: 新数据写入测试
- test_query_order: 查询顺序验证
- 优化 Query 查询逻辑和性能
- 改进 Table 数据处理
- 增强错误诊断能力
|
2025-10-10 13:59:13 +08:00 |
|
|
|
77087d36c6
|
功能:增强 Schema 系统和添加新示例
- 扩展 Schema 支持更多数据类型(Duration、URL、JSON 等)
- 优化 SSTable 编码解码性能
- 添加多个新示例程序:
- all_types: 展示所有支持的数据类型
- new_types: 演示新增类型的使用
- struct_tags: 展示结构体标签功能
- time_duration: 时间和持续时间处理示例
- 完善测试用例和文档
- 优化代码结构和错误处理
|
2025-10-10 02:57:36 +08:00 |
|
|
|
6d04487789
|
测试:完善和优化测试用例
- 优化 schema 测试用例,增加边界条件测试
- 完善 table、index、database 等模块的测试
- 改进测试数据清理和错误处理
- 更新示例程序以使用最新 API
- 增强测试覆盖率和可靠性
|
2025-10-10 00:19:05 +08:00 |
|
|
|
89af9e9259
|
优化:实现查询结果的惰性迭代器
- 重构 QueryBuilder 使用惰性迭代模式
- 添加 Iterator 接口支持流式处理
- 减少内存占用,支持大数据集查询
- 添加完整的惰性迭代器测试用例
|
2025-10-09 21:17:49 +08:00 |
|
|
|
dd8a534931
|
前端:优化 Manifest 视图文件显示
- 文件名区域改为左右布局
- 左侧显示文件名(如 000001.sst)
- 右侧显示级别标签(如 L0、L1)
- 添加级别标签样式,使用主题色背景
|
2025-10-09 20:53:37 +08:00 |
|
|
|
c4d79bc54b
|
功能:实现索引查询功能
- 为 Index 添加 Query 方法支持条件查询
- 实现 QueryBuilder 支持索引查询
- 添加索引查询测试用例
- 支持 Eq/Gt/Lt/Gte/Lte 等比较操作
|
2025-10-09 20:03:28 +08:00 |
|
|
|
4aade1cff1
|
前端:重构 Web UI 代码结构
- 添加 Import Map 支持 Lit 和本地模块的简洁导入
- 创建统一的 API 管理模块 (common/api.js)
- 重命名 styles/ 为 common/ 目录
- 修复分页时列选择被重置的问题
- 将 app.js 重命名为 main.js
- 所有导入路径使用 ~ 别名映射
|
2025-10-09 19:30:20 +08:00 |
|
|
|
8019f2d794
|
文档:更新 DESIGN.md,使用英文注释和调整项目结构说明
|
2025-10-09 15:46:42 +08:00 |
|
|
|
6499464f1c
|
Merge commit 'a4582b9'
|
2025-10-09 01:06:37 +08:00 |
|
|
|
a4582b9e70
|
添加 Clean 和 Destroy 功能
主要改动:
- Engine: 添加 Clean() 和 Destroy() 方法
- Table: 添加 Clean() 和 Destroy() 方法(不持有 Database 引用)
- Database: 添加 Clean()、CleanTable()、DestroyTable()、Destroy() 方法
- 自动 flush: 添加长时间无写入自动 flush 策略(默认 30 秒)
- WebUI 优化: 优化分页查询性能
新增功能:
- Clean(): 清除数据但保留结构,Engine/Table/Database 仍可用
- Destroy(): 销毁并删除所有文件,对象不可用
- CleanTable(name): 清除指定表的数据
- DestroyTable(name): 销毁指定表并从 Database 中删除
- 自动 flush 监控: 后台定期检查,空闲时自动持久化
代码优化:
- Engine.Close(): 支持 Destroy 后调用,不会 panic
- 二级索引持久化: 在 flush 时自动持久化索引
- WebUI 分页: 预构建字段类型 map,减少 Schema 查询
- 职责分离: Table 不再持有 Database 引用
测试覆盖:
- engine_clean_test.go: Engine Clean/Destroy 测试
- table_clean_test.go: Table Clean/Destroy 测试
- database_clean_test.go: Database Clean/Destroy 测试
- database_table_ops_test.go: Database CleanTable/DestroyTable 测试
|
2025-10-09 01:05:44 +08:00 |
|
|
|
9175b98202
|
添加 Clean 和 Destroy 功能
主要改动:
- Engine: 添加 Clean() 和 Destroy() 方法
- Table: 添加 Clean() 和 Destroy() 方法(不持有 Database 引用)
- Database: 添加 Clean()、CleanTable()、DestroyTable()、Destroy() 方法
- 自动 flush: 添加长时间无写入自动 flush 策略(默认 30 秒)
- WebUI 优化: 优化分页查询性能
新增功能:
- Clean(): 清除数据但保留结构,Engine/Table/Database 仍可用
- Destroy(): 销毁并删除所有文件,对象不可用
- CleanTable(name): 清除指定表的数据
- DestroyTable(name): 销毁指定表并从 Database 中删除
- 自动 flush 监控: 后台定期检查,空闲时自动持久化
代码优化:
- Engine.Close(): 支持 Destroy 后调用,不会 panic
- 二级索引持久化: 在 flush 时自动持久化索引
- WebUI 分页: 预构建字段类型 map,减少 Schema 查询
- 职责分离: Table 不再持有 Database 引用
测试覆盖:
- engine_clean_test.go: Engine Clean/Destroy 测试
- table_clean_test.go: Table Clean/Destroy 测试
- database_clean_test.go: Database Clean/Destroy 测试
- database_table_ops_test.go: Database CleanTable/DestroyTable 测试
|
2025-10-09 01:03:22 +08:00 |
|
|
|
23843493b8
|
重构代码结构并添加完整功能
主要改动:
- 重构目录结构:合并子目录到根目录,简化项目结构
- 添加完整的查询 API:支持复杂条件查询、字段选择、游标模式
- 实现 LSM-Tree Compaction:7层结构、Score-based策略、后台异步合并
- 添加 Web UI:基于 Lit 的现代化管理界面,支持数据浏览和 Manifest 查看
- 完善文档:添加 README.md 和 examples/webui/README.md
新增功能:
- Query Builder:链式查询 API,支持 Eq/Lt/Gt/In/Between/Contains 等操作符
- Web UI 组件:srdb-app、srdb-table-list、srdb-data-view、srdb-manifest-view 等
- 列选择持久化:自动保存到 localStorage
- 刷新按钮:一键刷新当前视图
- 主题切换:深色/浅色主题支持
代码优化:
- 使用 Go 1.24 新特性:range 7、min()、maps.Copy()、slices.Sort()
- 统一组件命名:所有 Web Components 使用 srdb-* 前缀
- CSS 优化:提取共享样式,减少重复代码
- 清理遗留代码:删除未使用的方法和样式
|
2025-10-08 23:04:47 +08:00 |
|
|
|
ae87c38776
|
Initial commit: SRDB - High-performance LSM-Tree database
- Core engine with MemTable, SST, WAL
- B+Tree indexing for SST files
- Leveled compaction strategy
- Multi-table database management
- Schema validation and secondary indexes
- Query builder with complex conditions
- Web UI with HTMX for data visualization
- Command-line tools for diagnostics
|
2025-10-08 06:38:28 +08:00 |
|