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`
---