You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by so...@apache.org on 2018/07/13 03:44:58 UTC

[drill] 06/13: DRILL-6596: Fix fillEmpties and set methods for Nullable variable length vectors to not use emptyByteArray

This is an automated email from the ASF dual-hosted git repository.

sorabh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/drill.git

commit c396ae71f36c3ac409d48b8977aac12d28f25077
Author: Parth Chandra <pa...@apache.org>
AuthorDate: Fri Jul 6 16:23:51 2018 -0700

    DRILL-6596: Fix fillEmpties and set methods for Nullable variable length
    vectors to not use emptyByteArray
    
    closes #1377
---
 .../codegen/templates/NullableValueVectors.java    | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)

diff --git a/exec/vector/src/main/codegen/templates/NullableValueVectors.java b/exec/vector/src/main/codegen/templates/NullableValueVectors.java
index f30cfae..ff066fb 100644
--- a/exec/vector/src/main/codegen/templates/NullableValueVectors.java
+++ b/exec/vector/src/main/codegen/templates/NullableValueVectors.java
@@ -579,9 +579,7 @@ public final class ${className} extends BaseDataValueVector implements <#if type
       final ${valuesName}.Mutator valuesMutator = values.getMutator();
       final UInt1Vector.Mutator bitsMutator = bits.getMutator();
       <#if type.major == "VarLen">
-      for (int i = lastSet + 1; i < index; i++) {
-        valuesMutator.set(i, emptyByteArray);
-      }
+      valuesMutator.fillEmpties(lastSet, index);
       </#if>
       bitsMutator.set(index, 1);
       valuesMutator.set(index, value);
@@ -591,9 +589,7 @@ public final class ${className} extends BaseDataValueVector implements <#if type
     <#if type.major == "VarLen">
     private void fillEmpties(int index) {
       final ${valuesName}.Mutator valuesMutator = values.getMutator();
-      for (int i = lastSet; i < index; i++) {
-        valuesMutator.setSafe(i + 1, emptyByteArray);
-      }
+      valuesMutator.fillEmpties(lastSet, index+1);
       while(index > bits.getValueCapacity()) {
         bits.reAlloc();
       }
@@ -644,9 +640,7 @@ public final class ${className} extends BaseDataValueVector implements <#if type
     public void set(int index, Nullable${minor.class}Holder holder) {
       final ${valuesName}.Mutator valuesMutator = values.getMutator();
       <#if type.major == "VarLen">
-      for (int i = lastSet + 1; i < index; i++) {
-        valuesMutator.set(i, emptyByteArray);
-      }
+      valuesMutator.fillEmpties(lastSet, index);
       </#if>
       bits.getMutator().set(index, holder.isSet);
       valuesMutator.set(index, holder);
@@ -656,9 +650,7 @@ public final class ${className} extends BaseDataValueVector implements <#if type
     public void set(int index, ${minor.class}Holder holder) {
       final ${valuesName}.Mutator valuesMutator = values.getMutator();
       <#if type.major == "VarLen">
-      for (int i = lastSet + 1; i < index; i++) {
-        valuesMutator.set(i, emptyByteArray);
-      }
+      valuesMutator.fillEmpties(lastSet, index);
       </#if>
       bits.getMutator().set(index, 1);
       valuesMutator.set(index, holder);
@@ -673,9 +665,7 @@ public final class ${className} extends BaseDataValueVector implements <#if type
     public void set(int index, int isSet<#list fields as field><#if field.include!true >, ${field.type} ${field.name}Field</#if></#list> ) {
       final ${valuesName}.Mutator valuesMutator = values.getMutator();
       <#if type.major == "VarLen">
-      for (int i = lastSet + 1; i < index; i++) {
-        valuesMutator.set(i, emptyByteArray);
-      }
+      valuesMutator.fillEmpties(lastSet, index);
       </#if>
       bits.getMutator().set(index, isSet);
       valuesMutator.set(index<#list fields as field><#if field.include!true >, ${field.name}Field</#if></#list>);
@@ -887,4 +877,4 @@ public final class ${className} extends BaseDataValueVector implements <#if type
   }
 }
 </#list>
-</#list>
\ No newline at end of file
+</#list>