【bug】如果SQL数据集最后一行为--开头的注释,则属性名丢失,并在预览和数据更新触发其他报错

直接上代码,能100%复现bug。

首先是正常的代码,从某个表中拉一个属性,where从句做一个筛选,筛选前面写一句注释。

SELECT  ORDER_ID  FROM CCIC_CK.DWD_TBL_ORDER_INFO  WHERE 1 --数据合法性     AND ORDER_ID IS NOT NULL

数据拉出来没毛病,预览好好的。

111.png

下面复现bug,把最后一行的条件删掉,让--开头的注释作为最后一行。

SELECT  ORDER_ID  FROM CCIC_CK.DWD_TBL_ORDER_INFO  WHERE 1 --数据合法性

或者,把注释位置从单独倒数第二行,调整到最后一行语句的最后。

SELECT  ORDER_ID  FROM CCIC_CK.DWD_TBL_ORDER_INFO  WHERE 1 AND ORDER_ID IS NOT NULL  --数据合法性

此时预览界面,原本预期的属性名丢失了,变成查询结果的字段值。

222.png

该顶替为属性名的字段值,不是仅仅在finebi的前端界面上的显示错误,是真的被当做属性名了。例如,当如果查询2个属性可能存在相同的字段值,而正好遇上这个bug相同的字段值被当做属性名时,预览会报错

com.finebi.common.exception.conf.table.FineSqlErrorException: 错误代码:62400001duplicate field names found:xxxxx

333.png

而如果没有出现“duplicate field names”,则可以正常保存SQL数据集。但是在回到上一个界面更新数据时,还是会报错,不能正常更新。

以上。

FineBI Anttrush 发布于 2023-8-16 15:35
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
free_zzLv6中级互助
发布于2023-8-16 15:38

-- 后面加个空格

  • Anttrush Anttrush(提问者) 谢谢,但似乎不行。 尝试了--+空格+注释内容,--+注释内容+空格,--+空格+注释内容+空格,--+空格+注释内容+空格+换行,都不行,只要注释在最后一行,还是复现上述bug。
    2023-08-16 15:58 
  • free_zz free_zz 回复 Anttrush(提问者) 可以找下帆软的技术支持
    2023-08-16 16:05 
  • Anttrush Anttrush(提问者) 回复 free_zz 好,谢谢。
    2023-08-17 09:15 
  • 2关注人数
  • 246浏览人数
  • 最后回答于:2023-8-16 15:38
    请选择关闭问题的原因
    确定 取消
    返回顶部