文章目录
背景
使用go很容易编译出一个二进制文件,已经有人用纯go实现了sqlite3的驱动(go get github.com/glebarez/sqlite),那么如果实现出一款最简单的关系型数据库gosql,需要多少行代码呢,只能让cursor帮我们写写了。
给navicate回复版本号
这个cursor似乎能搞定。
建立连接
报错:2013 Lost connection to server during querying
数据库list

新建数据库
这个反引号是什么操作:
删除数据库
1064 unsupported error
删除表
1051
查询表数据

总结
有种前后端联调的感觉。
- navicate是前端页面
- gosql是后端接口
- 请求参数是如 'show databases; use test; '之类的sql语句
- 响应的内容倒是没打印看过,应该不是json
roadmap
# GoSQL 开发路线图
## 已完成
- [X] 基础存储引擎(内存版)
- [X] SQL 词法分析器(Lexer)
- [X] SQL 语法解析器(Parser)
- [X] SELECT 语句解析与执行
- [X] INSERT 语句解析与执行
- [X] UPDATE 语句解析(Parser)
- [X] UPDATE 语句执行(Executor)
- [X] DELETE 语句解析(Parser)
- [X] DELETE 语句执行(Executor)
- [X] WHERE 条件扩展
- [X] B+树索引实现
- [X] 主键索引支持
- [X] 查询优化器接口设计
- [X] 事务支持接口设计
- [X] 事务状态管理
- [X] 锁机制实现
- [X] 并发控制与事务隔离级别设计
## 进行中/下一步
- [ ] 新阶段需求或功能扩展
## 技术债务
1. 存储引擎
- [ ] 添加持久化支持
- [ ] 实现数据页管理
- [ ] 添加缓存机制
## 注意事项
- 每个功能模块完成后需要编写完整的单元测试
- 保持代码文档的及时更新
- 遵循 Go 语言最佳实践
- 注重代码质量和性能优化