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)