You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2017/06/11 15:13:57 UTC
[09/12] arrow git commit: ARROW-1101: Implement write(TypeHolder)
methods in UnionListWriter
ARROW-1101: Implement write(TypeHolder) methods in UnionListWriter
Author: vkorukanti <ve...@dremio.com>
Closes #740 from vkorukanti/ARROW-1101 and squashes the following commits:
e2d097d [vkorukanti] ARROW-1101: Implement write(TypeHolder) methods in UnionListWriter
Project: http://git-wip-us.apache.org/repos/asf/arrow/repo
Commit: http://git-wip-us.apache.org/repos/asf/arrow/commit/a3820346
Tree: http://git-wip-us.apache.org/repos/asf/arrow/tree/a3820346
Diff: http://git-wip-us.apache.org/repos/asf/arrow/diff/a3820346
Branch: refs/heads/master
Commit: a38203469530fb0ce56be71d94a6848085ab2c1c
Parents: 7a7b0c2
Author: vkorukanti <ve...@dremio.com>
Authored: Wed Jun 7 17:01:30 2017 -0700
Committer: Wes McKinney <we...@twosigma.com>
Committed: Sun Jun 11 11:13:25 2017 -0400
----------------------------------------------------------------------
java/vector/src/main/codegen/templates/UnionListWriter.java | 5 +++++
.../arrow/vector/complex/writer/TestComplexWriter.java | 9 ++++++++-
2 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/arrow/blob/a3820346/java/vector/src/main/codegen/templates/UnionListWriter.java
----------------------------------------------------------------------
diff --git a/java/vector/src/main/codegen/templates/UnionListWriter.java b/java/vector/src/main/codegen/templates/UnionListWriter.java
index d6e2f9f..9fe41d0 100644
--- a/java/vector/src/main/codegen/templates/UnionListWriter.java
+++ b/java/vector/src/main/codegen/templates/UnionListWriter.java
@@ -166,6 +166,11 @@ public class UnionListWriter extends AbstractFieldWriter {
writer.setPosition(writer.idx()+1);
}
+ public void write(${name}Holder holder) {
+ writer.write${name}(<#list fields as field>holder.${field.name}<#if field_has_next>, </#if></#list>);
+ writer.setPosition(writer.idx()+1);
+ }
+
</#if>
</#list>
</#list>
http://git-wip-us.apache.org/repos/asf/arrow/blob/a3820346/java/vector/src/test/java/org/apache/arrow/vector/complex/writer/TestComplexWriter.java
----------------------------------------------------------------------
diff --git a/java/vector/src/test/java/org/apache/arrow/vector/complex/writer/TestComplexWriter.java b/java/vector/src/test/java/org/apache/arrow/vector/complex/writer/TestComplexWriter.java
index ede8d65..5a9c80d 100644
--- a/java/vector/src/test/java/org/apache/arrow/vector/complex/writer/TestComplexWriter.java
+++ b/java/vector/src/test/java/org/apache/arrow/vector/complex/writer/TestComplexWriter.java
@@ -42,6 +42,7 @@ import org.apache.arrow.vector.complex.reader.FieldReader;
import org.apache.arrow.vector.complex.writer.BaseWriter.ComplexWriter;
import org.apache.arrow.vector.complex.writer.BaseWriter.ListWriter;
import org.apache.arrow.vector.complex.writer.BaseWriter.MapWriter;
+import org.apache.arrow.vector.holders.IntHolder;
import org.apache.arrow.vector.holders.NullableTimeStampNanoTZHolder;
import org.apache.arrow.vector.types.pojo.ArrowType;
import org.apache.arrow.vector.types.pojo.ArrowType.ArrowTypeID;
@@ -216,7 +217,13 @@ public class TestComplexWriter {
for (int i = 0; i < COUNT; i++) {
listWriter.startList();
for (int j = 0; j < i % 7; j++) {
- listWriter.writeInt(j);
+ if (j%2 == 0) {
+ listWriter.writeInt(j);
+ } else {
+ IntHolder holder = new IntHolder();
+ holder.value = j;
+ listWriter.write(holder);
+ }
}
listWriter.endList();
}