SQL Converter for Apache Doris
SQL Converter for Apache Doris 1.0.x
SQL Converter for Apache Doris 1.0.7
发布日期:2025 年 01 月 08 日
系统优化
- 使用 gunicorn 服务器替代默认的 Flask 服务器, 优化服务的性能
- 支持在 apiserver/config/config.conf 中配置 workers 的个数来提供更优的转换性能,默认 workers 为 1
Presto/Trino->Doris 相关改进
- 支持 Presto CTE 表别名不敏感
- 支持 presto CROSS JOIN UNNEST() 语法转换
- 支持 Presto 带表属性的 CTAS 语法转换
- 支持 presto GROUP BY ROLLUP 语法的转换
- 支持 Presto 的子查询中带 JOIN 结构语法的改写
- 例如: select * from ((select 1 as c1) as a left join (select 2 as c2) as b on a.c1=b.c2) as t;
- 支持 presto UNNEST 表函数转换
- 修复 ORDER BY NULLS FIRST 语法转换
- 由于 Doris 默认为 NULLS FIRST,而 Presto 默认为 NULLS LAST,自动处理该行为差异
- 修复 OFFSET LIMIT 解析报错
- 修复 Presto SEQUENCE 转换为 Doris array_range 的问题
- 新增 get_json_object 转换支持
- 修复 LEAD 和 LAG 函数转换问题
- 修复 date_add 函数不支持季度粒度的问题
- 修复 IF 表达式转换
- 修复 TRIM 函数转换,doris 中新增 TRIM_IN 函数兼容 presto 的 TRIM 函数行为
- 修复时间类型转换
- 修复包含 Unicode 编码的日期字符串转换
- 修复 presto MD5 函数转换
StarRocks->Doris 相关改进
- 新增 StarRocks 聚合函数转换支持
- 新增 StarRocks 数组函数转换支持
- 新增 StarRocks 数学函数转换支持
- 新增 StarRocks multi_distinct_count 函数转换支持
多 SQL 批量转换优化
- 完善多 SQL 语句的转换状态处理机制:
- 全部转换成功:返回所有已转换的 SQL 语句
- 部分转换成功:返回已转换的SQL语句和未能转换的原始 SQL 语句
- 全部转换失败:返回原始 SQL 语句,并自动降级使用原始 SQL 执行
- 优化转换状态返回码:
- 成功(code=0):完全转换或部分转换成功
- 失败(code=1):转换失败,系统将使用原始 SQL 执行
其他功能修复
- 修复 ORDER BY、LIMIT 和 OFFSET 表达式作用范围
- 修复 Unicode 编码转换问题
- 将 switch catalog 解析为 Command
- 修复 ZEROFILL 和 DOUBLE/FLOAT UNSIGNED 数据类型转换
- 修复了表名大小写变换失败的问题
SQL Converter for Apache Doris 1.0.6
发布日期:2024 年 08 月 23 日
系统优化
- 工具更名为 SQL Converter for Apache Doris(简称 SQL Converter)
- 新增可视化界面服务,无需依赖 docker 环境部署前端服务
- 工具目录分为 apiserver 和 webserver 两部分
- 具体部署操作请参考官网手册
- 优化 Actions 单元测试
- 新增反引号标识符解析支持
Presto/Trino->Doris 相关改进
- 修复子查询别名大小写不敏感问题
- 新增多个 Presto 函数支持, eg: zip,repeat,bitwise_or_agg,bitwise_and_agg
- 新增 Presto ipprefix 数据类型转换
- 修复 Presto json_extract 函数行为不一致问题
- 修复 Presto url_extract_parameter 函数参数转换问题
- 修复 Presto codepoint 函数转换问题
- 修复 Presto regexp_extract 转换问题
DDL 转换改进
- 新增 Teradata DDL 转换支持
- 新增 Trino DDL 转换支持
- 新增 Teradata CTAS DDL 转换支持
- 优化主键的非空属性约束
- 优化 MySQL DDL 自增列类型转换为 Doris 时为 BIGINT NOT NULL
- 修复 ClickHouse 建表语句转换中的若干问题
其他功能修复
- 修复相同层级下有同一个键过滤条件的解析错误,eg:select * from tbl where id = a where id = b