Skip to content

Latest commit

 

History

History
135 lines (100 loc) · 4.81 KB

版本更新记录.md

File metadata and controls

135 lines (100 loc) · 4.81 KB

0.6.0

新增功能:

Bugfix:

0.5.0

新增:

  • DROP TABLE 语句的解析逻辑
  • ANALYZE TABLE 语句的解析逻辑
  • ALTER TABLE 语句的解析逻辑
  • CREATE TABLE ... AS ... 语句的解析逻辑
  • MSCK REPAIR TABLE 语句的解析逻辑
  • USE 语句的解析逻辑
  • 新增 Hive 的 SORT BY 子句、DISTRIBUTE BY 子句和 CLUSTER BY 子句节点
  • 海豚调度元数据 Demo
  • 新增单元测试覆盖率统计工具

优化:

  • 优化抽象语法树节点和解析逻辑的继承关系、文件结构
  • 新增函数名节点、CASE 元素节点、GROUP BY 元素节点、ASTWithClause 节点、ASTConfigStringExpression 节点
  • 兼容 INSERT IGNORE INTO 语法
  • CreateTableStatementGetter 增加本地缓存功能
  • 在解析器中增加了 SQLType 参数以支持特异化解析
  • 将表达式节点拆分为单项式、多项式、布尔值表达式、条件表达式 4 个层级
  • 兼容解析多条语句时语句末尾没有 ; 的情况
  • 兼容 SET 语句的配置名和配置值中包含 . 符号
  • 兼容 LATERAL VIEW 子句中使用数据结构包含多个字段的语法
  • 兼容窗口函数中使用多个字段的语法
  • 兼容窗口函数 ORDER BY 使用 DESC 的语法
  • 兼容 COUNT 窗口函数语法
  • 兼容 == 运算符和 ! 运算符
  • 兼容 REGEXP 关键字
  • 兼容类似 a = b = c 的情况
  • 兼容在子查询中使用包含 WITH 子句的 SELECT 语句
  • 兼容在 LATERAL VIEW 子句中使用 OUTER
  • 兼容一元表达式
  • 兼容 PARTITION 语句中使用不等式的语法
  • 修复在子查询外额外嵌套多层括号时解析报错的 Bug
  • 兼容 <=> 符号
  • 兼容 PARTITION 表达式的动态分区和非动态分区
  • 兼容 [] 之间为一个表达式的语法
  • 兼容 LIMIT 子句只有数量没有偏移量
  • 兼容 CASE 语句的 THEN 中使用布尔值表达式的情况
  • 临时兼容布尔值表达式后包含更多比较运算符的情况(待后续改为根据运算优先级生成嵌套的二元表达式)
  • 兼容 LEFT SEMI JOINRIGHT SEMI JOIN 语法
  • 兼容 GROUP BY 子句中既有字段,又有 GROUPING SETS 的语法
  • 兼容 & 符号
  • 支持 ALTER TABLEDROP IF EXISTS PARTITION 语法
  • 兼容在 map 结构后使用下标的语法

修复:

  • 部分场景下 -1 解析报错的 Bug
  • 修复解析 <> 符号失败的 Bug
  • 修复 b.x. 解析报错的 Bug
  • 修复解析 GROUPING SETS 缺失字段的 Bug

0.4.0

新增:

  • 分析器框架 & 基本分析器 & 数据血缘分析器
  • 插件框架 & MyBatis 插件

优化:

  • 优化词法分析节点,优化模块名,将节点改为不可变
  • 兼容建表语句的索引包含 COMMENTKEY_BLOCK_SIZE 的语法
  • 兼容建表语句的外键中包含 ON DELETE CASCADE 的语法
  • 兼容 CREATE TABLE 语句中索引定义表达式中 USING 子句语法
  • 兼容 Hive 建表语句语法
  • 统一标识符引号的相关逻辑
  • 兼容 INSERT INTO 语句中未指定列的语法

修复:

  • 部分场景下解析后的 SQL 与原始 SQL 不一致的 Bug

0.3.0

新增:

  • SET 语句的解析逻辑
  • LATERAL VIEW 子句的解析逻辑
  • WITH 子句的解析逻辑

优化:

  • 重构词法解析和语法解析以支持插件开发
  • 将抽象语法树节点重构为 dataclasses 类型,并将 get_used_column_list 方法和 get_used_table_list 方法改为抽象方法
  • 修改抽象语法树解析方法,以兼容字符串类型和 TokenScanner 类型
  • 增加 TokenScanner 未解析完成检查机制
  • 兼容窗口函数的 ROWS 子句
  • 兼容 DB2 的 CURRENT DATECURRENT TIMECURRENT TIMESTAMP 语法
  • 整理单元测试逻辑

0.2.0

新增:

  • INSERT 语句解析逻辑
  • 一次性解析多条 SQL 语句功能

优化:

  • 统一 CREATE TABLE 解析逻辑和 SELECT 解析逻辑
  • 整理词法分析器的方法,清理多余对象,优化引用路径
  • 统一 TokenScanner 的使用方法

修复:

  • WITH 语句解析报错的 Bug 修复
  • Hive 建表语句的类型包含参数时报错的 Bug 修复

0.1.0

新增:

  • SELECT 语句解析逻辑
  • CREATE TABLE 语句解析逻辑

优化:

  • 移除在 Hive 建表语句末尾的分号