aboutsummaryrefslogtreecommitdiff
path: root/exec/vector
diff options
context:
space:
mode:
authorParth Chandra <parthc@apache.org>2018-07-06 16:23:51 -0700
committerSorabh Hamirwasia <sorabh@apache.org>2018-07-12 18:37:38 -0700
commitc396ae71f36c3ac409d48b8977aac12d28f25077 (patch)
treee79f136667f15081f2f08846e52bba9bac219409 /exec/vector
parenta97cce34e9f7ae9d522bf0542a984160d95a787c (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.java22
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>