You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Chaoyu Tang (JIRA)" <ji...@apache.org> on 2015/04/13 14:12:14 UTC
[jira] [Updated] (HIVE-10313) Literal Decimal ExprNodeConstantDesc
should contain value of HiveDecimal instead of String
[ https://issues.apache.org/jira/browse/HIVE-10313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chaoyu Tang updated HIVE-10313:
-------------------------------
Attachment: HIVE-10313.patch
Patch has also been uploaded to https://reviews.apache.org/r/33128/ and requested for review. Thanks in advanced.
> 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
> Attachments: 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)