[ https://issues.apache.org/jira/browse/HIVE-20913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zoltan Haindrich updated HIVE-20913: ------------------------------------ Description: CALCITE-1413 have added a logic to narrow an expression's type from nullable to non-nullable - this causes some issues for Hive side sanity checks. can be reproduced with a calcite 1.18.0-SNAPSHOT ; and {{-Dtest=TestCliDriver#*[semijoin5]}} {code} java.lang.AssertionError: Cannot add expression of different type to set: set type is RecordType(INTEGER int_col, INTEGER int_col_1, BIGINT float_col, BIGINT int_col_2) NOT NULL expression type is RecordType(INTEGER NOT NULL int_col, INTEGER int_col_1, BIGINT float_col, BIGINT int_col_2) NOT NULL set is rel#202:HiveProject.HIVE.[](input=HepRelVertex#201,int_col=CASE(IS NOT NULL(498), 498, IS NOT NULL($116), $116, 524),int_col_1=+($99, CAST($49):INTEGER),float_col=FLOOR($15),int_col_2=CASE(IS NOT NULL($117), $117, 704)) expression is HiveProject#289 at org.apache.calcite.plan.RelOptUtil.verifyTypeEquivalence(RelOptUtil.java:381) at org.apache.calcite.plan.hep.HepRuleCall.transformTo(HepRuleCall.java:57) at org.apache.calcite.plan.RelOptRuleCall.transformTo(RelOptRuleCall.java:234) at org.apache.calcite.rel.rules.ReduceExpressionsRule$ProjectReduceExpressionsRule.onMatch(ReduceExpressionsRule.java:291) at org.apache.calcite.plan.AbstractRelOptPlanner.fireRule(AbstractRelOptPlanner.java:319) at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:559) {code} was:CALCITE-1413 have added a logic to narrow an expression's type from nullable to non-nullable - this causes some issues for Hive side sanity checks. > Narrowing nullability may cause typecheck failures > -------------------------------------------------- > > Key: HIVE-20913 > URL: https://issues.apache.org/jira/browse/HIVE-20913 > Project: Hive > Issue Type: Bug > Reporter: Zoltan Haindrich > Assignee: Zoltan Haindrich > Priority: Major > > CALCITE-1413 have added a logic to narrow an expression's type from nullable > to non-nullable - this causes some issues for Hive side sanity checks. > can be reproduced with a calcite 1.18.0-SNAPSHOT ; and > {{-Dtest=TestCliDriver#*[semijoin5]}} > {code} > java.lang.AssertionError: > Cannot add expression of different type to set: > set type is RecordType(INTEGER int_col, INTEGER int_col_1, BIGINT float_col, > BIGINT int_col_2) NOT NULL > expression type is RecordType(INTEGER NOT NULL int_col, INTEGER int_col_1, > BIGINT float_col, BIGINT int_col_2) NOT NULL > set is rel#202:HiveProject.HIVE.[](input=HepRelVertex#201,int_col=CASE(IS NOT > NULL(498), 498, IS NOT NULL($116), $116, 524),int_col_1=+($99, > CAST($49):INTEGER),float_col=FLOOR($15),int_col_2=CASE(IS NOT NULL($117), > $117, 704)) > expression is HiveProject#289 > at > org.apache.calcite.plan.RelOptUtil.verifyTypeEquivalence(RelOptUtil.java:381) > at > org.apache.calcite.plan.hep.HepRuleCall.transformTo(HepRuleCall.java:57) > at > org.apache.calcite.plan.RelOptRuleCall.transformTo(RelOptRuleCall.java:234) > at > org.apache.calcite.rel.rules.ReduceExpressionsRule$ProjectReduceExpressionsRule.onMatch(ReduceExpressionsRule.java:291) > at > org.apache.calcite.plan.AbstractRelOptPlanner.fireRule(AbstractRelOptPlanner.java:319) > at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:559) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)