这是一篇关于rgSQL
的文章,作者是 Chris Zetter,发布于 2025 - 06 - 16。
关于 rgSQL:是一个帮助学习 SQL 和数据库的测试套件,通过构建自己的数据库服务器来学习。
- 原因:作为软件工程师,作者深知对数据库理解的不足,从类似项目中获得灵感,决定创建自己的数据库引擎以深入理解。
- 测试驱动数据库开发:从无到有运行查询是一个挑战,作者通过编写测试用例,从简单到复杂逐步实现,选择 Python 作为测试运行器语言以方便使用。测试用例有自己的语法,如先测试选择整数,后引入表并测试从表中选择列等,rgSQL 有 200 多个测试用例,分为 13 组,分别关注 SQL 的不同方面。
- 处理错误:测试检查语句解析错误、验证错误、引用解析错误和运行时除法错误等,所有测试都模拟 PostgreSQL 的行为。
- 自由实验:利用测试实现自己的数据库,高层测试给予实验自由,SQL 适合行为测试,rgSQL 与测试套件通过 TCP 通信,使用人类可读的 JSON 方便使用,有类似测试项目但目的不同。
- 分享所学:添加新功能导致对计算机科学和数据库研究的新探索,如编写解析器、研究连接算法等,作者还写了一本书指导他人完成相同项目,可在 GitHub 上获取仓库并参考 README.md。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。