You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by sm...@apache.org on 2016/08/22 20:11:52 UTC
arrow git commit: ARROW-269: Include typeVector buffers
UnionVector.getBuffers()
Repository: arrow
Updated Branches:
refs/heads/master 8960a2ed4 -> ec51d5667
ARROW-269: Include typeVector buffers UnionVector.getBuffers()
Project: http://git-wip-us.apache.org/repos/asf/arrow/repo
Commit: http://git-wip-us.apache.org/repos/asf/arrow/commit/ec51d566
Tree: http://git-wip-us.apache.org/repos/asf/arrow/tree/ec51d566
Diff: http://git-wip-us.apache.org/repos/asf/arrow/diff/ec51d566
Branch: refs/heads/master
Commit: ec51d566708f5d6ea0a94a6d53152dc8cc98d6aa
Parents: 8960a2e
Author: Steven Phillips <st...@dremio.com>
Authored: Mon Aug 22 13:10:06 2016 -0700
Committer: Steven Phillips <st...@dremio.com>
Committed: Mon Aug 22 13:10:58 2016 -0700
----------------------------------------------------------------------
.../src/main/codegen/templates/UnionVector.java | 24 +++++++++-----------
1 file changed, 11 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/arrow/blob/ec51d566/java/vector/src/main/codegen/templates/UnionVector.java
----------------------------------------------------------------------
diff --git a/java/vector/src/main/codegen/templates/UnionVector.java b/java/vector/src/main/codegen/templates/UnionVector.java
index e2f19f4..1fef490 100644
--- a/java/vector/src/main/codegen/templates/UnionVector.java
+++ b/java/vector/src/main/codegen/templates/UnionVector.java
@@ -16,7 +16,9 @@
* limitations under the License.
*/
+import com.google.common.collect.ImmutableList;
import com.google.flatbuffers.FlatBufferBuilder;
+import io.netty.buffer.ArrowBuf;
import org.apache.arrow.flatbuf.Field;
import org.apache.arrow.flatbuf.Type;
import org.apache.arrow.flatbuf.Union;
@@ -35,6 +37,7 @@ import java.util.List;
package org.apache.arrow.vector.complex;
<#include "/@includes/vv_imports.ftl" />
+import com.google.common.collect.ImmutableList;
import java.util.ArrayList;
import java.util.Iterator;
import org.apache.arrow.vector.complex.impl.ComplexCopier;
@@ -219,6 +222,7 @@ public class UnionVector implements ValueVector {
}
public void transferTo(org.apache.arrow.vector.complex.UnionVector target) {
+ typeVector.makeTransferPair(target.typeVector).transfer();
internalMap.makeTransferPair(target.internalMap).transfer();
target.valueCount = valueCount;
}
@@ -307,20 +311,9 @@ public class UnionVector implements ValueVector {
return mutator.writer;
}
-// @Override
-// public UserBitShared.SerializedField getMetadata() {
-// SerializedField.Builder b = getField() //
-// .getAsBuilder() //
-// .setBufferLength(getBufferSize()) //
-// .setValueCount(valueCount);
-//
-// b.addChild(internalMap.getMetadata());
-// return b.build();
-// }
-
@Override
public int getBufferSize() {
- return internalMap.getBufferSize();
+ return typeVector.getBufferSize() + internalMap.getBufferSize();
}
@Override
@@ -339,7 +332,11 @@ public class UnionVector implements ValueVector {
@Override
public ArrowBuf[] getBuffers(boolean clear) {
- return internalMap.getBuffers(clear);
+ ImmutableList.Builder<ArrowBuf> builder = ImmutableList.builder();
+ builder.add(typeVector.getBuffers(clear));
+ builder.add(internalMap.getBuffers(clear));
+ List<ArrowBuf> list = builder.build();
+ return list.toArray(new ArrowBuf[list.size()]);
}
@Override
@@ -411,6 +408,7 @@ public class UnionVector implements ValueVector {
@Override
public void setValueCount(int valueCount) {
UnionVector.this.valueCount = valueCount;
+ typeVector.getMutator().setValueCount(valueCount);
internalMap.getMutator().setValueCount(valueCount);
}