请教一下关于 Java 驱动 WS 参数可能未绑定的问题

【TDengine 使用环境】
测试环境

【TDengine 版本】

Docker 运行的 3.3.8.4

taos-jdbcdriver: 3.8.0

MybatisPlus: 3.5.15

【操作系统以及版本】

Windows 11

【部署方式】容器

【集群节点数】

【集群副本数】

【描述业务影响】

同样的脚本,使用 Restful 驱动可以正常运行,但是切换到 WebSocketDriver 后,运行就报错。

脚本如下:

<sql id="TABLE_NAME">
    reading
</sql>
<select id="listDimensionGroupByDevice" resultMap="DeviceDimensionValueResultMap">
    SELECT
    device_id,
    _WSTART as ts,
    first(code_value) AS value_first,
    last(code_value) AS value_last
    FROM
    <include refid="TABLE_NAME"/>
    ${ew.customSqlSegment}
    PARTITION BY device_id
    INTERVAL (#{dimension, jdbcType=VARCHAR})
</select>

【问题复现路径/shan】做过哪些操作出现的问题

【遇到的问题:问题现象及影响】

排查发现,WS 下,只打印了 SQL,==> Preparing: 阶段的脚本,但是没有输出参数,感觉参数绑定有问题。

【资源配置】

【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)

下图是使用 WS 驱动,执行报错。参数没识别到

下图是同一个脚本使用 RS 驱动执行的结果,是正确的。

参考下,官网WS 示例。 参数绑定写入 | TDengine 文档 | 涛思数据

测试发现,3.3.8.4 版本在执行

Stmt2PrepareResp prepareResp = StmtUtils.initStmtWithRetry(transport, sql, param.getRetryTimes());

的时候,就已经报错了。

TDEngine 升级到 3.4.0.2 可以正常运行。

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。