java8
源码
sql
parser
描述
1.基于
Java8,利用
Antlr4
实现对
sql
的解析并生成解析树
2.基于解析树生成执行计划
3.基于执行计划,对
Java
内存中数据进行操作,对用户透明,并实现部分
sql
执行
4.Java
内存数据为行式存储,数据均为
String
类型,使用时进行转换
运行环境
1.Java
8
2.Antlr4.9
功能
1.实现
where
=
xxx
的等值单条件筛选查询
2.支持嵌套子查询
3.实现
sum
聚合算子
方案设计
整体流程:
Input(sql)
-->
Parser
-->
Execution
-->
Print
1.Input:即接收
input
的
sql
入参
2.Parser:接收
sql
后,经过
parser
解析生成语法树,并通过解析语法树,将关键的
sql
元素保存进入对象,形成执行计划
plan
;若包含嵌套查询则利用链表将父子
plan
关联
3.Execution:根据执行计划类型,选择不同的执行器
Execution,并对嵌套的父子查询进行拆解,根据
dfs
最底层的子查询需要优先执行,
2021-11-28 20:23:15
172KB
系统开源
1