Skip to content

Commit 44591a5

Browse files
committed
Bug fix: NullableColumnAccessor.hasNext must take nulls into account
1 parent 052bf41 commit 44591a5

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

sql/core/src/main/scala/org/apache/spark/sql/columnar/NullableColumnAccessor.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,6 @@ private[sql] trait NullableColumnAccessor extends ColumnAccessor {
5454

5555
pos += 1
5656
}
57+
58+
abstract override def hasNext = seenNulls < nullCount || super.hasNext
5759
}

sql/core/src/test/scala/org/apache/spark/sql/columnar/NullableColumnAccessorSuite.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,16 @@ class NullableColumnAccessorSuite extends FunSuite {
6868
val row = new GenericMutableRow(1)
6969

7070
(0 until 4).foreach { _ =>
71+
assert(accessor.hasNext)
7172
accessor.extractTo(row, 0)
7273
assert(row(0) === randomRow(0))
7374

75+
assert(accessor.hasNext)
7476
accessor.extractTo(row, 0)
7577
assert(row.isNullAt(0))
7678
}
79+
80+
assert(!accessor.hasNext)
7781
}
7882
}
7983
}

0 commit comments

Comments
 (0)