You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@kylin.apache.org by Na Zhai <na...@kyligence.io> on 2019/03/13 15:22:49 UTC

答复: 维度类型为boolean时相关bug, 希望能fix

Hi, S*ST非烟飞雾

Is the type of ‘IS_SUC_CONSUME’ boolean? Does that you mean the query result is wrong with boolean? Can you try this on Kylin v2.6.1?

发送自 Windows 10 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>应用

________________________________
发件人: S*ST非烟飞雾 <85...@qq.com>
发送时间: Wednesday, March 6, 2019 10:33:32 PM
收件人: user
主题: 维度类型为boolean时相关bug, 希望能fix

kylin 2.3




 SELECT
     count(*)
 FROM
     (select *
     ,VW_FACT_ALLMERGE.PART_SETTLE_DT
     ,VW_FACT_ALLMERGE.IS_SUC_CONSUME
     from INTG.VW_FACT_ALLMERGE as VW_FACT_ALLMERGE )t
 where TRUE
 AND IS_SUC_CONSUME = true
 AND PART_SETTLE_DT='2019-03-01'

嵌套+ boolean+其他条件, 结果是0没有值

 SELECT
     count(*)
 FROM
     (select *
     ,VW_FACT_ALLMERGE.PART_SETTLE_DT
     ,VW_FACT_ALLMERGE.IS_SUC_CONSUME
     from INTG.VW_FACT_ALLMERGE as VW_FACT_ALLMERGE )t
 where TRUE
 AND IS_SUC_CONSUME = false
 AND PART_SETTLE_DT='2019-03-01'

=false, 有结果: 118448819

 SELECT
     count(*)
 FROM
     (select *
     ,VW_FACT_ALLMERGE.PART_SETTLE_DT
     ,VW_FACT_ALLMERGE.IS_SUC_CONSUME
     from INTG.VW_FACT_ALLMERGE as VW_FACT_ALLMERGE )t
 where TRUE
 AND IS_SUC_CONSUME <> false
 AND PART_SETTLE_DT='2019-03-01'

<>false, 有结果: 161496637

 SELECT
     count(*)
 FROM
     (select *
     ,VW_FACT_ALLMERGE.PART_SETTLE_DT
     ,VW_FACT_ALLMERGE.IS_SUC_CONSUME
     from INTG.VW_FACT_ALLMERGE as VW_FACT_ALLMERGE )t
 where TRUE
 AND ORG_TBL = 1
 AND PART_SETTLE_DT='2019-03-01'
 ​

嵌套+无boolean条件, 有结果261896325

 SELECT
     count(*)
 FROM
     (select *
     ,VW_FACT_ALLMERGE.PART_SETTLE_DT
     ,VW_FACT_ALLMERGE.IS_SUC_CONSUME
     from INTG.VW_FACT_ALLMERGE as VW_FACT_ALLMERGE )t
 where TRUE
 AND IS_SUC_CONSUME = true
 --只要是单条件, 比如PART_SETTLE_DT='2019-03-01' 也会有值

嵌套+单boolean, 有结果464169675

 SELECT
     count(*)
 FROM
     (select *
     from INTG.VW_FACT_ALLMERGE as VW_FACT_ALLMERGE )t
 where TRUE
 AND IS_SUC_CONSUME = true
 AND PART_SETTLE_DT='2019-03-01'

嵌套无字段+where True, java.lang.String cannot be cast to org.apache.kylin.common.util.ByteArray while executing SQL: "SELECT count(*) FROM (select * from INTG.VW_FACT_ALLMERGE as VW_FACT_ALLMERGE )t where TRUE AND IS_SUC_CONSUME = true AND PART_SETTLE_DT='2019-03-01' LIMIT 50000"

 SELECT
     count(*)
 FROM
     INTG.VW_FACT_ALLMERGE
 where IS_SUC_CONSUME = true
 AND VW_FACT_ALLMERGE.PART_SETTLE_DT='2019-03-01'

无嵌套+无where true + boolean +其他条件, 有结果161496637

 SELECT
     count(*)
 FROM
     INTG.VW_FACT_ALLMERGE
 where True
 AND IS_SUC_CONSUME = true
 AND VW_FACT_ALLMERGE.PART_SETTLE_DT='2019-03-01'

无嵌套+where true, java.lang.String cannot be cast to org.apache.kylin.common.util.ByteArray while executing SQL: "SELECT count(*) FROM (select * from INTG.VW_FACT_ALLMERGE as VW_FACT_ALLMERGE )t where TRUE AND IS_SUC_CONSUME = true AND PART_SETTLE_DT='2019-03-01' LIMIT 50000"