aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedListVector.java3
-rw-r--r--exec/java-exec/src/test/java/org/apache/drill/exec/vector/complex/writer/TestComplexTypeReader.java6
2 files changed, 8 insertions, 1 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedListVector.java b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedListVector.java
index 00716cf0b..f903b0ca4 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedListVector.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedListVector.java
@@ -324,8 +324,9 @@ public class RepeatedListVector extends AbstractContainerVector implements Repea
for(int i = holder.start; i < holder.end; i++, newIndex++){
if(!vectorTransfer.copyValueSafe(i, newIndex)) return false;
}
- if(!this.to.offsets.getMutator().setSafe(to, newIndex)) return false;
+ if(!this.to.offsets.getMutator().setSafe(to + 1, newIndex)) return false;
+ this.to.lastSet++;
return true;
}
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/vector/complex/writer/TestComplexTypeReader.java b/exec/java-exec/src/test/java/org/apache/drill/exec/vector/complex/writer/TestComplexTypeReader.java
index be018a73b..2e6289762 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/vector/complex/writer/TestComplexTypeReader.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/vector/complex/writer/TestComplexTypeReader.java
@@ -123,6 +123,12 @@ public class TestComplexTypeReader extends BaseTestQuery{
}
@Test
+ //repeated list. The repeated list is asked for twice, hence requires copying (evaluation in ProjectRecordBatch)
+ public void testZ4() throws Exception{
+ test("select rl, rl from cp.`jsoninput/input2.json`;");
+ }
+
+ @Test
//repeated map --> Json. It will go beyond the buffer of size 256 allocated in setup.
public void testA0() throws Exception{
test(" select convert_to(types, 'JSON') from cp.`jsoninput/vvtypes.json`;");