为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8开发版
【操作系统】:centos8
【CPU】:
【问题描述】*:
如图是通过java jdbc测试tpch Q1:
将?替换为实际值在disql里运行正常
错误的还有Q3,Q4,Q5,Q6,Q10,Q12,Q14,Q20:
共同点是使用setString和setDate去绑定时出错:
setString:
String delta = String.valueOf(rand.number(60, 120));
PreparedStatement stmt = this.getPreparedStatement(conn, query_stmt);
stmt.setString(1, delta);
setDate:
String segment = TPCHUtil.choice(TPCHConstants.SEGMENTS, rand);
int day = rand.number(1, 31);
String date = String.format("1995-03-%02d", day);
PreparedStatement stmt = this.getPreparedStatement(conn, query_stmt);
stmt.setString(1, segment);
stmt.setDate(2, Date.valueOf(date));
stmt.setDate(3, Date.valueOf(date));
在disql中执行将?替换为’80’,'1995-03-21’执行正常
改写条件
where ship_date <= dateadd(DAY, ?, ?))
.setInt(1, -80)
.setString(2, ‘2023-02-01’)