Skip to content

hldgaoshuo/database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

255 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

架构图

架构说明

程序入口在 GuaSQL 中

VM 通过 GuaSQL 获取 SQL 语句,利用 compiler 解析出 statement,再将 statement 传入 Interpreter。Interpreter 通过访问 statement 各部分(clause、expression 等)判断要使用的 Database 与 Table,并获取或更改 Table 中的数据

Tablel 对外暴露了 insert、select、delete 和 update 等接口

Tree 对外暴露了 insert、select、delete 和 update 等接口

Pager 负责数据落盘与加载,还有落盘数据的维护(分页等)

common 包含被多个模块使用到的类与枚举

test 包含所有模块的测试

config 中指定了需要配置的参数

utils 包含 log 等辅助函数

backend 中各部分之间的包含关系

使用

:WSL下,记得更改 GuaSQL 的换行符为 LF

支持功能

compiler

lexer 目前状态

lexer 下一步

  • lexer 支持 back token

parser 目前状态

parser 下一步

  • 部分字段的初始化值有问题,比如数组的初始化值为 None,导致后面的检查很奇怪,需要改(子句的初始化值应该为 None,对应类属性不应该用复数形式)
  • 对 between and 的支持

backend

tree 目前状态

tree 下一步

  • 对 in 和 between and 的支持

pager 目前状态

pager 下一步

  • cache 的 LRU
  • 删除页使用

core

evaluator 目前状态

evaluator 下一步

About

GuaSQL

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages