发布通告
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
,自动处理该行为差异
- 由于 Doris 默认为
- 修复
OFFSET LIMIT
解析报错 - 修复 Presto
SEQUENCE
转换为 Dorisarray_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