aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedMapVector.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedMapVector.java b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedMapVector.java
index d73aa7f54..99b94530f 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedMapVector.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedMapVector.java
@@ -360,6 +360,7 @@ public class RepeatedMapVector extends AbstractContainerVector implements Repeat
public boolean copyValueSafe(int srcIndex, int destIndex) {
RepeatedMapHolder holder = new RepeatedMapHolder();
accessor.get(srcIndex, holder);
+ to.populateEmpties(destIndex+1);
int newIndex = to.offsets.getAccessor().get(destIndex);
//todo: make these bulk copies
for (int i = holder.start; i < holder.end; i++, newIndex++) {
@@ -372,7 +373,6 @@ public class RepeatedMapVector extends AbstractContainerVector implements Repeat
if (!to.offsets.getMutator().setSafe(destIndex+1, newIndex)) {
return false;
}
- to.lastPopulatedValueIndex = destIndex;
return true;
}
@@ -609,6 +609,7 @@ public class RepeatedMapVector extends AbstractContainerVector implements Repeat
@Override
public void clear() {
getMutator().reset();
+
offsets.clear();
for(ValueVector v : vectors.values()) {
v.clear();;