You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Chaoyu Tang (JIRA)" <ji...@apache.org> on 2015/04/13 14:02:12 UTC

[jira] [Created] (HIVE-10313) Literal Decimal ExprNodeConstantDesc should contain value of HiveDecimal instead of String

Chaoyu Tang created HIVE-10313:
----------------------------------

             Summary: 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


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)