Skip to content

Commit a297cc6

Browse files
committed
rebase on Add ExtensionTypeWriterFactory to TransferPair
1 parent 4867c1f commit a297cc6

File tree

5 files changed

+31
-72
lines changed

5 files changed

+31
-72
lines changed

vector/src/main/java/org/apache/arrow/vector/complex/impl/VariantWriterFactory.java

Lines changed: 0 additions & 45 deletions
This file was deleted.

vector/src/main/java/org/apache/arrow/vector/extension/VariantType.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818

1919
import org.apache.arrow.memory.BufferAllocator;
2020
import org.apache.arrow.vector.FieldVector;
21+
import org.apache.arrow.vector.ValueVector;
22+
import org.apache.arrow.vector.complex.impl.VariantWriterImpl;
23+
import org.apache.arrow.vector.complex.writer.FieldWriter;
2124
import org.apache.arrow.vector.types.pojo.ArrowType;
2225
import org.apache.arrow.vector.types.pojo.ArrowType.ExtensionType;
2326
import org.apache.arrow.vector.types.pojo.ExtensionTypeRegistry;
@@ -77,4 +80,9 @@ public boolean isComplex() {
7780
// and value)
7881
return false;
7982
}
83+
84+
@Override
85+
public FieldWriter getNewFieldWriter(ValueVector vector) {
86+
return new VariantWriterImpl((VariantVector) vector);
87+
}
8088
}

vector/src/main/java/org/apache/arrow/vector/holders/NullableVariantHolder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
package org.apache.arrow.vector.holders;
1818

1919
import org.apache.arrow.memory.ArrowBuf;
20+
import org.apache.arrow.vector.extension.VariantType;
21+
import org.apache.arrow.vector.types.pojo.ArrowType;
2022

2123
@SuppressWarnings("checkstyle:VisibilityModifier")
2224
public final class NullableVariantHolder extends ExtensionHolder {
@@ -45,4 +47,9 @@ public int hashCode() {
4547
public String toString() {
4648
throw new UnsupportedOperationException();
4749
}
50+
51+
@Override
52+
public ArrowType type() {
53+
return VariantType.INSTANCE;
54+
}
4855
}

vector/src/main/java/org/apache/arrow/vector/holders/VariantHolder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
package org.apache.arrow.vector.holders;
1818

1919
import org.apache.arrow.memory.ArrowBuf;
20+
import org.apache.arrow.vector.extension.VariantType;
21+
import org.apache.arrow.vector.types.pojo.ArrowType;
2022

2123
@SuppressWarnings("checkstyle:VisibilityModifier")
2224
public final class VariantHolder extends ExtensionHolder {
@@ -45,4 +47,9 @@ public int hashCode() {
4547
public String toString() {
4648
throw new UnsupportedOperationException();
4749
}
50+
51+
@Override
52+
public ArrowType type() {
53+
return VariantType.INSTANCE;
54+
}
4855
}

vector/src/test/java/org/apache/arrow/vector/TestVariantVector.java

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@
2828
import org.apache.arrow.memory.BufferAllocator;
2929
import org.apache.arrow.memory.RootAllocator;
3030
import org.apache.arrow.vector.complex.impl.VariantReaderImpl;
31-
import org.apache.arrow.vector.complex.impl.VariantWriterFactory;
3231
import org.apache.arrow.vector.complex.impl.VariantWriterImpl;
33-
import org.apache.arrow.vector.complex.writer.FieldWriter;
32+
import org.apache.arrow.vector.extension.VariantType;
3433
import org.apache.arrow.vector.extension.VariantVector;
3534
import org.apache.arrow.vector.holders.ExtensionHolder;
3635
import org.apache.arrow.vector.holders.NullableVariantHolder;
3736
import org.apache.arrow.vector.holders.VariantHolder;
37+
import org.apache.arrow.vector.types.pojo.ArrowType;
3838
import org.junit.jupiter.api.AfterEach;
3939
import org.junit.jupiter.api.BeforeEach;
4040
import org.junit.jupiter.api.Test;
@@ -305,7 +305,13 @@ void testWriteWithUnsupportedHolder() {
305305
try (VariantVector vector = new VariantVector("test", allocator);
306306
VariantWriterImpl writer = new VariantWriterImpl(vector)) {
307307

308-
ExtensionHolder unsupportedHolder = new ExtensionHolder() {};
308+
ExtensionHolder unsupportedHolder =
309+
new ExtensionHolder() {
310+
@Override
311+
public ArrowType type() {
312+
return VariantType.INSTANCE;
313+
}
314+
};
309315

310316
writer.setPosition(0);
311317

@@ -440,30 +446,6 @@ void testReaderReadWithNonNullableVariantHolder() {
440446
}
441447
}
442448

443-
// ========== Factory Tests ==========
444-
445-
@Test
446-
void testVariantWriterFactory() {
447-
VariantWriterFactory factory = new VariantWriterFactory();
448-
449-
try (VariantVector vector = new VariantVector("test", allocator)) {
450-
FieldWriter writer = factory.getWriterImpl(vector);
451-
assertNotNull(writer);
452-
assertTrue(writer instanceof VariantWriterImpl);
453-
}
454-
}
455-
456-
@Test
457-
void testVariantWriterFactoryWithNonVariantVector() {
458-
VariantWriterFactory factory = new VariantWriterFactory();
459-
460-
// Use UuidVector as a different extension type
461-
try (UuidVector uuidVector = new UuidVector("uuid", allocator)) {
462-
FieldWriter writer = factory.getWriterImpl(uuidVector);
463-
assertNull(writer);
464-
}
465-
}
466-
467449
// ========== Transfer Pair Tests ==========
468450

469451
@Test

0 commit comments

Comments
 (0)