[
https://issues.apache.org/jira/browse/HIVE-10313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14500057#comment-14500057
]
Xuefu Zhang commented on HIVE-10313:
------------------------------------
Thanks for fixing this. Just curious, what problems had this bug caused? I'm
wondering why it didn't surface until now.
> Literal Decimal ExprNodeConstantDesc should contain value of HiveDecimal
> instead of String
> ------------------------------------------------------------------------------------------
>
> Key: HIVE-10313
> URL: https://issues.apache.org/jira/browse/HIVE-10313
> Project: Hive
> Issue Type: Bug
> Components: Query Processor
> Affects Versions: 1.0.0
> Reporter: Chaoyu Tang
> Assignee: Chaoyu Tang
> Fix For: 1.2.0
>
> Attachments: HIVE-10313.1.patch, HIVE-10313.patch
>
>
> In TyepCheckProcFactory.NumExprProcessor, the ExprNodeConstantDesc is created
> from strVal:
> {code}
> else if (expr.getText().endsWith("BD")) {
> // Literal decimal
> String strVal = expr.getText().substring(0, expr.getText().length()
> - 2);
> HiveDecimal hd = HiveDecimal.create(strVal);
> int prec = 1;
> int scale = 0;
> if (hd != null) {
> prec = hd.precision();
> scale = hd.scale();
> }
> DecimalTypeInfo typeInfo = TypeInfoFactory.getDecimalTypeInfo(prec,
> scale);
> return new ExprNodeConstantDesc(typeInfo, strVal);
> }
> {code}
> It should use HiveDecmal:
> return new ExprNodeConstantDesc(typeInfo, hd);
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)