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 <[email protected]> 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>
