diff options
author | Parth Chandra <parthc@apache.org> | 2018-07-06 16:23:51 -0700 |
---|---|---|
committer | Sorabh Hamirwasia <sorabh@apache.org> | 2018-07-12 18:37:38 -0700 |
commit | c396ae71f36c3ac409d48b8977aac12d28f25077 (patch) | |
tree | e79f136667f15081f2f08846e52bba9bac219409 /exec/vector | |
parent | a97cce34e9f7ae9d522bf0542a984160d95a787c (diff) |
DRILL-6596: Fix fillEmpties and set methods for Nullable variable length
vectors to not use emptyByteArray
closes #1377
Diffstat (limited to 'exec/vector')
-rw-r--r-- | exec/vector/src/main/codegen/templates/NullableValueVectors.java | 22 |
1 files 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 f30cfae78..ff066fbc9 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> |