[ 
https://issues.apache.org/jira/browse/DRILL-6094?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16450091#comment-16450091
 ] 

ASF GitHub Bot commented on DRILL-6094:
---------------------------------------

Github user arina-ielchiieva commented on a diff in the pull request:

    https://github.com/apache/drill/pull/1232#discussion_r183762287
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/output/DecimalReturnTypeInference.java
 ---
    @@ -281,20 +295,45 @@
         @Override
         public TypeProtos.MajorType getType(List<LogicalExpression> 
logicalExpressions, FunctionAttributes attributes) {
           int scale = 0;
    -      int precision = 0;
     
           // Get the max scale and precision from the inputs
           for (LogicalExpression e : logicalExpressions) {
             scale = Math.max(scale, e.getMajorType().getScale());
    -        precision = Math.max(precision, e.getMajorType().getPrecision());
           }
     
    -      return (TypeProtos.MajorType.newBuilder()
    -          
.setMinorType(attributes.getReturnValue().getType().getMinorType())
    +      return TypeProtos.MajorType.newBuilder()
    +          .setMinorType(TypeProtos.MinorType.VARDECIMAL)
               .setScale(scale)
    -          .setPrecision(38)
    -          .setMode(TypeProtos.DataMode.REQUIRED)
    -          .build());
    +          .setPrecision(DRILL_REL_DATATYPE_SYSTEM.getMaxNumericPrecision())
    +          .setMode(TypeProtos.DataMode.OPTIONAL)
    +          .build();
    +    }
    +  }
    +
    +  /**
    +   * Return type calculation implementation for functions with return type 
set as
    +   * {@link 
org.apache.drill.exec.expr.annotations.FunctionTemplate.ReturnType#DECIMAL_AVG_AGGREGATE}.
    +   */
    +  public static class DecimalAvgAggReturnTypeInference implements 
ReturnTypeInference {
    --- End diff --
    
    Please add information how precision and scale are calculated.


> Decimal data type enhancements
> ------------------------------
>
>                 Key: DRILL-6094
>                 URL: https://issues.apache.org/jira/browse/DRILL-6094
>             Project: Apache Drill
>          Issue Type: Improvement
>    Affects Versions: 1.12.0
>            Reporter: Volodymyr Vysotskyi
>            Assignee: Volodymyr Vysotskyi
>            Priority: Major
>              Labels: doc-impacting
>             Fix For: 1.14.0
>
>
> Currently, Decimal types are disabled by default since existing Decimal 
> implementation has a lot of flaws and performance problems. The goal of thisĀ 
> Jira to describe majority of them and possible ways of improving existing 
> implementation to be able to enable Decimal data types by default.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to