feat: 更新 sstable 并新增 examples/complex 示例
This commit is contained in:
@@ -6,6 +6,10 @@
|
||||
|
||||
```
|
||||
examples/
|
||||
├── complex/ # 复杂类型系统示例(21 种类型全覆盖)
|
||||
│ ├── main.go # 主程序
|
||||
│ ├── README.md # 详细文档
|
||||
│ └── .gitignore # 忽略数据目录
|
||||
└── webui/ # Web UI 和命令行工具集
|
||||
├── main.go # 主入口点
|
||||
├── commands/ # 命令实现
|
||||
@@ -22,6 +26,82 @@ examples/
|
||||
|
||||
---
|
||||
|
||||
## Complex - 完整类型系统演示
|
||||
|
||||
一个展示 SRDB 所有 **21 种数据类型**的完整示例,包括结构体 Schema 生成、边界值测试、索引查询和分页等核心功能。
|
||||
|
||||
### 🎯 涵盖的类型
|
||||
|
||||
| 分类 | 数量 | 包含类型 |
|
||||
|------|------|----------|
|
||||
| **字符串** | 1 种 | String |
|
||||
| **有符号整数** | 5 种 | Int, Int8, Int16, Int32, Int64 |
|
||||
| **无符号整数** | 5 种 | Uint, Uint8, Uint16, Uint32, Uint64 |
|
||||
| **浮点数** | 2 种 | Float32, Float64 |
|
||||
| **布尔** | 1 种 | Bool |
|
||||
| **特殊类型** | 5 种 | Byte, Rune, Decimal, Time, Duration |
|
||||
| **复杂类型** | 2 种 | Object, Array |
|
||||
|
||||
### 快速开始
|
||||
|
||||
```bash
|
||||
cd examples/complex
|
||||
|
||||
# 运行示例
|
||||
go run main.go
|
||||
|
||||
# 清理并重新生成
|
||||
go run main.go --clean
|
||||
|
||||
# 指定数据目录
|
||||
go run main.go --dir ./mydata --clean
|
||||
```
|
||||
|
||||
### 示例输出
|
||||
|
||||
```
|
||||
╔═══════════════ 设备记录 #1 (seq=1) ═══════════════╗
|
||||
║ ID: IOT-2025-0001 ║
|
||||
║ 名称: 智能环境监测站 ║
|
||||
╟─────────────────── 整数类型 ────────────────────────╢
|
||||
║ Signal(int): -55 ║
|
||||
║ ErrorCode(i8): 0 ║
|
||||
║ DeltaTemp(i16): 150 ║
|
||||
║ RecordNum(i32): 12345 ║
|
||||
║ TotalBytes(i64):1073741824 ║
|
||||
...
|
||||
```
|
||||
|
||||
### 功能演示
|
||||
|
||||
✅ **结构体自动生成 Schema**
|
||||
```go
|
||||
fields, _ := srdb.StructToFields(DeviceRecord{})
|
||||
```
|
||||
|
||||
✅ **边界值测试**
|
||||
- int8 最大值 (127)
|
||||
- int16 最小值 (-32768)
|
||||
- uint64 最大值 (18446744073709551615)
|
||||
|
||||
✅ **索引查询优化**
|
||||
```go
|
||||
table.Query().Eq("device_id", "IOT-2025-0001").Rows()
|
||||
```
|
||||
|
||||
✅ **分页查询(返回总数)**
|
||||
```go
|
||||
rows, total, err := table.Query().Paginate(1, 10)
|
||||
```
|
||||
|
||||
✅ **复杂类型序列化**
|
||||
- Object: map[string]any → JSON
|
||||
- Array: []string → JSON
|
||||
|
||||
详细文档:[complex/README.md](complex/README.md)
|
||||
|
||||
---
|
||||
|
||||
## WebUI - 数据库管理工具
|
||||
|
||||
一个集成了 Web 界面和命令行工具的 SRDB 数据库管理工具。
|
||||
|
||||
Reference in New Issue
Block a user