重构代码结构并添加完整功能

主要改动:
- 重构目录结构:合并子目录到根目录,简化项目结构
- 添加完整的查询 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 优化:提取共享样式,减少重复代码
- 清理遗留代码:删除未使用的方法和样式
This commit is contained in:
2025-10-08 16:42:31 +08:00
parent ae87c38776
commit 23843493b8
64 changed files with 8374 additions and 6396 deletions

View File

@@ -4,8 +4,6 @@ import (
"os"
"path/filepath"
"time"
"code.tczkiot.com/srdb/sst"
)
// Table 表
@@ -95,7 +93,7 @@ func (t *Table) Insert(data map[string]any) error {
}
// Get 查询数据
func (t *Table) Get(seq int64) (*sst.Row, error) {
func (t *Table) Get(seq int64) (*SSTableRow, error) {
return t.engine.Get(seq)
}
@@ -120,7 +118,7 @@ func (t *Table) ListIndexes() []string {
}
// Stats 获取统计信息
func (t *Table) Stats() *Stats {
func (t *Table) Stats() *TableStats {
return t.engine.Stats()
}