You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Gopal Vijayaraghavan (Jira)" <ji...@apache.org> on 2020/02/04 23:04:00 UTC
[jira] [Created] (HIVE-22828) Decimal64: NVL & CASE statements
implicitly convert decimal64 to 128
Gopal Vijayaraghavan created HIVE-22828:
-------------------------------------------
Summary: Decimal64: NVL & CASE statements implicitly convert decimal64 to 128
Key: HIVE-22828
URL: https://issues.apache.org/jira/browse/HIVE-22828
Project: Hive
Issue Type: Bug
Reporter: Gopal Vijayaraghavan
{code}
select
sum(case when (ss_item_sk=1) then ss_sales_price else null end),
sum(case when (ss_item_sk=2) then ss_sales_price else ss_sales_price+1 end),
sum(case when (ss_item_sk=2) then 1.0BD+ss_sales_price else null end)
from store_sales where ss_sold_date_sk % 1111 = 1;
{code}
{code}
Caused by: java.lang.ClassCastException: org.apache.hadoop.hive.ql.exec.vector.Decimal64ColumnVector cannot be cast to org.apache.hadoop.hive.ql.exec.vector.DecimalColumnVector
at org.apache.hadoop.hive.ql.exec.vector.DecimalColumnVector.setElement(DecimalColumnVector.java:130)
at org.apache.hadoop.hive.ql.exec.vector.expressions.IfExprColumnNull.evaluate(IfExprColumnNull.java:125)
at org.apache.hadoop.hive.ql.exec.vector.expressions.aggregates.VectorUDAFSumDecimal.aggregateInputSelection(VectorUDAFSumDecimal.java:113)
at org.apache.hadoop.hive.ql.exec.vector.VectorGroupByOperator$ProcessingModeBase.processAggregators(VectorGroupByOperator.java:221)
at org.apache.hadoop.hive.ql.exec.vector.VectorGroupByOperator$ProcessingModeHashAggregate.doProcessBatch(VectorGroupByOperator.java:414)
{code}
https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java#L3950
--
This message was sent by Atlassian Jira
(v8.3.4#803005)