Github user vvysotskyi commented on a diff in the pull request:

    https://github.com/apache/drill/pull/570#discussion_r160958360
  
    --- Diff: exec/vector/src/main/codegen/templates/ComplexWriters.java ---
    @@ -99,7 +99,7 @@ public void write(Nullable${minor.class?cap_first}Holder 
h) {
     
       <#if !(minor.class == "Decimal9" || minor.class == "Decimal18" || 
minor.class == "Decimal28Sparse" || minor.class == "Decimal38Sparse" || 
minor.class == "Decimal28Dense" || minor.class == "Decimal38Dense")>
       public void write${minor.class}(<#list fields as field>${field.type} 
${field.name}<#if field_has_next>, </#if></#list>) {
    -    mutator.addSafe(idx(), <#list fields as field>${field.name}<#if 
field_has_next>, </#if></#list>);
    +    mutator.addSafe(idx(), <#list fields as field><#if field.name == 
"scale"><#break></#if>${field.name}<#if field_has_next && 
fields[field_index+1].name != "scale" >, </#if></#list>);
    --- End diff --
    
    I meant to replace this line by something like this: 
    ```
    <#if minor.class == "VarDecimal">
    mutator.addSafe(idx()<#list fields as field><#if field.include!true>, 
${field.name}</#if></#list>); // or something better
    <#else>
    mutator.addSafe(idx(), <#list fields as field>${field.name}<#if 
field_has_next>, </#if></#list>);
    </#if>
    ```
    Since `field.include` is used only for Decimal types, we can replace all 
this code by this line:
    ```
    mutator.addSafe(idx()<#list fields as field><#if field.include!true>, 
${field.name}</#if></#list>);
    ```
    But do we use this method for VarDecimal somewhere? If not, it would be 
better to add VarDecimal `minor.class` to the if condition with other decimal 
types above.
    
    BTW, please modify similar changes below in this class and in 
`RepeatedValueVectors.java`


---

Reply via email to