直接上代码,能100%复现bug。 首先是正常的代码,从某个表中拉一个属性,where从句做一个筛选,筛选前面写一句注释。 SELECT ORDER_ID FROM CCIC_CK.DWD_TBL_ORDER_INFO WHERE 1 --数据合法性 AND ORDER_ID IS NOT NULL数据拉出来没毛病,预览好好的。 下面复现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 --数据合法性此时预览界面,原本预期的属性名丢失了,变成查询结果的字段值。 该顶替为属性名的字段值,不是仅仅在finebi的前端界面上的显示错误,是真的被当做属性名了。例如,当如果查询2个属性可能存在相同的字段值,而正好遇上这个bug相同的字段值被当做属性名时,预览会报错 com.finebi.common.exception.conf.table.FineSqlErrorException: 错误代码:62400001duplicate field names found:xxxxx而如果没有出现“duplicate field names”,则可以正常保存SQL数据集。但是在回到上一个界面更新数据时,还是会报错,不能正常更新。 以上。 |