为了更快的定位您的问题,请提供以下信息,谢谢
【详述】正式环境之前用的2.1.8版本,想升级到3.2+版本,之前搭了3.2.3版本的集群试用,发现有部分语法不兼容。但我们正式环境有很多脚本,改造起来很麻烦,而且还不知道有没有其他不兼容的语法,风险比较大。能否提供语法差异检测工具呢?
还想咨询下各位大佬有没有好的解决办法
【业务影响】所有正式环境的脚本
【是否存算分离】
【StarRocks版本】例如:2.1.8
【集群规模】例如:3fe(1 follower+2observer)+5be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【联系方式】为了在解决问题过程中能及时联系到您获取一些日志信息,请补充下您的联系方式,例如:社区群10-Touché
– StarrocksV2+语法在StarrocksV3+不适配的示例
– 1、StarrocksV3+只支持字段类型显式转换,不支持隐式转换
不支持示例
case when acctnt_month=‘13’ then ‘预算’ else concat(acctnt_month*1,‘月’) end
支持示例
case when acctnt_month=‘13’ then ‘预算’ else concat(cast(acctnt_month as int),‘月’) end
– 2、多表混合关联必须通过join on(关联方式混合)
不支持示例
select
t.sector_name,max(t.framework_sort) AS sorts,t2.hw,t2.px
from db_name.table_namea t ,
(select ‘湖南’ as hw,1 as px union select ‘湖北’ as hw,2 as px union select ‘小计’ as hw,3 as px) t2
LEFT JOIN db_name.table_nameb m ON t.prd_ln_cd = m.org_id
where 1=1 AND t.prd_ln_cd not in(‘JTDX’,‘JTTZ’,‘JTHB’)
group by t.sector_name,t2.hw,t2.px
支持示例
select
t.sector_name,max(t.framework_sort) AS sorts,t2.hw,t2.px
from db_name.table_namea t left join
(select ‘湖南’ as hw,1 as px union select ‘湖北’ as hw,2 as px union select ‘小计’ as hw,3 as px) t2
on 1=1
LEFT JOIN db_name.table_nameb m ON t.prd_ln_cd = m.org_id
where 1=1 AND t.prd_ln_cd not in(‘JTDX’,‘JTTZ’,‘JTHB’)
group by t.sector_name,t2.hw,t2.px
– 3、StarrocksV3+中"! =“之间不能有空格
不支持示例
zhilei_txt ! = ‘服务’
支持示例
zhilei_txt != ‘服务’
– 4、StarrocksV3+中多个union查询,建议各段查询语句用括号”()"括起来,有时查询会报错