JDBC使用prepare场景的两个问题

为了更快的定位您的问题,请提供以下信息,谢谢
【问题描述】
问题1:prepare语句中出现’having count(*) = ?'条件语句时,会报错:"? must appear in the GROUP BY clause or be used in an aggregate function"

问题2:用prepare查询时,使用’where a = ?’, a是decimal(10, 2)类型,在JDBC中使用setBigDecimal对该参数赋值时,会报错:unknown mysql type code 246

【解决方案】
看了下源码的实现,简单做了修改就可以正常查询,但不知道有没有风险,帮忙评估一下。
问题1:AggregationAnalyzer中对Parameter类型的表达式不进行校验。
相关PR: analyzing error in prepare stmt with “HAVING COUNT(*) = ?” · Issue #50584 · StarRocks/starrocks (github.com)

问题2:mysql type为246对应MYSQL_TYPE_NEWDECIMAL,parseLiteral中没有考虑这个场景,映射到DECIMAL128类型后可以正常按条件查询。
issue已提: ‘unknown mysql type’ err when using setBigDecimal for prepare stmt in JDBC · Issue #50839 · StarRocks/starrocks (github.com)