Skip to content

Commit 59700ff

Browse files
Producer fixes for fixed size list
1 parent c3b05da commit 59700ff

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

adapter/avro/src/main/java/org/apache/arrow/adapter/avro/producers/AvroFixedSizeListProducer.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,12 @@ public void produce(Encoder encoder) throws IOException {
5151
currentIndex++;
5252
}
5353

54-
// Do not override skipNull(), the delegate delegate vector will not hold data
54+
@Override
55+
public void skipNull() {
56+
// Keep fixed sized child in sync
57+
delegate.skipNull();
58+
super.skipNull();
59+
}
5560

5661
@Override
5762
public void setPosition(int index) {

adapter/avro/src/main/java/org/apache/arrow/adapter/avro/producers/AvroListProducer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public void produce(Encoder encoder) throws IOException {
5353
currentIndex++;
5454
}
5555

56-
// Do not override skipNull(), the delegate delegate vector will not hold data
56+
// Do not override skipNull(), delegate will not have an entry if the list is null
5757

5858
@Override
5959
public void setPosition(int index) {

adapter/avro/src/main/java/org/apache/arrow/adapter/avro/producers/AvroNullableProducer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ public void produce(Encoder encoder) throws IOException {
5151

5252
@Override
5353
public void skipNull() {
54-
// Should never be called on nullable producer
55-
// Calling produce() will skipNull() on the delegate
56-
throw new UnsupportedOperationException();
54+
// Can be called by containers of nullable types
55+
delegate.skipNull();
56+
currentIndex++;
5757
}
5858

5959
@Override

0 commit comments

Comments
 (0)