shardingsphere jdbc exists语法不支持

方便更快捷的说明问题,可以按需填写(可删除)

使用环境:

shardsphere 5.1.2
postgresql

场景、问题:

sql 语句 使用exists语法 proxy正常执行,jdbc异常

问题定位
SELECT EXISTS(SELECT 1
FROM cons_master c
WHERE c.hos_id = 100
AND c.state_dc in (‘dai_jie_zhen’, ‘zi_xun_zhong’, ‘dai_zhi_fu’))
from cons_master

已进行操作:

debug发现
1.expandProjections存放值

2.因为expandProjections有值进入 if (hasSelectExpandProjections()),并放入select 后面的表达式


3.取值异常

现状:

  1. 注释掉 if (hasSelectExpandProjections())方法,能正常查询,注释掉是否会对其他查询有影响
    2.是否有更好的处理方式,或者对关键字进行特殊处理

我没记错的话, 这个issue 应该存在于特定时间节点的master分支, 而且有对应的已解决issue?

谢谢大佬答复,我们尝试在exists的子查询后加入别名 sql可以解析到了 :grinning:

京ICP备2021015875号