Skip to content

Commit ac2e359

Browse files
committed
fix: Set value and row count
1 parent f317d33 commit ac2e359

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

lib/src/main/java/io/cloudquery/helper/ArrowHelper.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ public class ArrowHelper {
5757

5858
private static void setVectorData(FieldVector vector, Object data) {
5959
vector.allocateNew();
60-
vector.setValueCount(1);
6160
if (vector instanceof BigIntVector) {
6261
((BigIntVector) vector).set(0, (long) data);
6362
return;
@@ -238,13 +237,17 @@ public static ByteString encode(Resource resource) throws IOException {
238237
try (BufferAllocator bufferAllocator = new RootAllocator()) {
239238
Table table = resource.getTable();
240239
Schema schema = toArrowSchema(table);
241-
try (VectorSchemaRoot schemaRoot = VectorSchemaRoot.create(schema, bufferAllocator)) {
240+
try (VectorSchemaRoot vectorRoot = VectorSchemaRoot.create(schema, bufferAllocator)) {
242241
for (int i = 0; i < table.getColumns().size(); i++) {
243-
setVectorData(schemaRoot.getVector(i), resource.getData().get(i).get());
242+
FieldVector vector = vectorRoot.getVector(i);
243+
Object data = resource.getData().get(i).get();
244+
setVectorData(vector, data);
244245
}
246+
// TODO: Support encoding multiple resources
247+
vectorRoot.setRowCount(1);
245248
try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
246249
try (ArrowStreamWriter writer =
247-
new ArrowStreamWriter(schemaRoot, null, Channels.newChannel(out))) {
250+
new ArrowStreamWriter(vectorRoot, null, Channels.newChannel(out))) {
248251
writer.start();
249252
writer.writeBatch();
250253
writer.end();

0 commit comments

Comments
 (0)