Skip to content

Commit 84bf650

Browse files
committed
GH-725: updated tests
1 parent 629d9af commit 84bf650

File tree

3 files changed

+34
-4
lines changed

3 files changed

+34
-4
lines changed

vector/src/main/codegen/templates/AbstractPromotableFieldWriter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ public MapWriter map(boolean keysSorted) {
295295
296296
@Override
297297
public ExtensionWriter extension(ArrowType arrowType) {
298-
return getWriter(MinorType.EXTENSIONTYPE).extension(arrowType);
298+
return getWriter(MinorType.LIST).extension(arrowType);
299299
}
300300
301301
@Override
@@ -325,7 +325,7 @@ public MapWriter map(String name, boolean keysSorted) {
325325
326326
@Override
327327
public ExtensionWriter extension(String name, ArrowType arrowType) {
328-
return getWriter(MinorType.EXTENSIONTYPE).extension(name, arrowType);
328+
return getWriter(MinorType.STRUCT).extension(name, arrowType);
329329
}
330330
331331
<#list vv.types as type><#list type.minor as minor>

vector/src/test/java/org/apache/arrow/vector/complex/impl/UuidReaderImpl.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,17 @@ public boolean isSet() {
4848

4949
@Override
5050
public void read(ExtensionHolder holder) {
51-
UuidHolder uuidHolder = (UuidHolder) holder;
52-
vector.get(idx(), uuidHolder);
51+
vector.get(idx(), (UuidHolder) holder);
52+
}
53+
54+
@Override
55+
public void read(int arrayIndex, ExtensionHolder holder) {
56+
vector.get(arrayIndex, (UuidHolder) holder);
57+
}
58+
59+
@Override
60+
public void copyAsValue(AbstractExtensionTypeWriter writer) {
61+
UuidWriterImpl impl = (UuidWriterImpl) writer;
62+
impl.vector.copyFromSafe(idx(), impl.idx(), vector);
5363
}
5464
}

vector/src/test/java/org/apache/arrow/vector/complex/writer/TestSimpleWriter.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.apache.arrow.vector.VarCharVector;
3131
import org.apache.arrow.vector.complex.impl.LargeVarBinaryWriterImpl;
3232
import org.apache.arrow.vector.complex.impl.LargeVarCharWriterImpl;
33+
import org.apache.arrow.vector.complex.impl.UuidReaderImpl;
3334
import org.apache.arrow.vector.complex.impl.UuidWriterImpl;
3435
import org.apache.arrow.vector.complex.impl.VarBinaryWriterImpl;
3536
import org.apache.arrow.vector.complex.impl.VarCharWriterImpl;
@@ -204,4 +205,23 @@ public void testWriteToExtensionVector() throws Exception {
204205
assertEquals(uuid, result);
205206
}
206207
}
208+
209+
@Test
210+
public void testReaderCopyAsValueExtensionVector() throws Exception {
211+
try (UuidVector vector = new UuidVector("test", allocator);
212+
UuidVector vectorForRead = new UuidVector("test2", allocator);
213+
UuidWriterImpl writer = new UuidWriterImpl(vector)) {
214+
UUID uuid = UUID.randomUUID();
215+
vectorForRead.setValueCount(1);
216+
vectorForRead.set(0, uuid);
217+
UuidReaderImpl reader = (UuidReaderImpl) vectorForRead.getReader();
218+
reader.copyAsValue(writer);
219+
UuidReaderImpl reader2 = (UuidReaderImpl) vector.getReader();
220+
UuidHolder holder = new UuidHolder();
221+
reader2.read(0, holder);
222+
final ByteBuffer bb = ByteBuffer.wrap(holder.value);
223+
UUID actualUuid = new UUID(bb.getLong(), bb.getLong());
224+
assertEquals(uuid, actualUuid);
225+
}
226+
}
207227
}

0 commit comments

Comments
 (0)