aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/core/src/test/scala/org/apache/spark/sql/UnsafeRowSuite.scala9
-rw-r--r--unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java6
2 files changed, 6 insertions, 9 deletions
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/UnsafeRowSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/UnsafeRowSuite.scala
index 219435dff5..2476b10e3c 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/UnsafeRowSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/UnsafeRowSuite.scala
@@ -43,12 +43,12 @@ class UnsafeRowSuite extends SparkFunSuite {
val arrayBackedUnsafeRow: UnsafeRow =
UnsafeProjection.create(Array[DataType](StringType, StringType, IntegerType)).apply(row)
assert(arrayBackedUnsafeRow.getBaseObject.isInstanceOf[Array[Byte]])
- val bytesFromArrayBackedRow: Array[Byte] = {
+ val (bytesFromArrayBackedRow, field0StringFromArrayBackedRow): (Array[Byte], String) = {
val baos = new ByteArrayOutputStream()
arrayBackedUnsafeRow.writeToStream(baos, null)
- baos.toByteArray
+ (baos.toByteArray, arrayBackedUnsafeRow.getString(0))
}
- val bytesFromOffheapRow: Array[Byte] = {
+ val (bytesFromOffheapRow, field0StringFromOffheapRow): (Array[Byte], String) = {
val offheapRowPage = MemoryAllocator.UNSAFE.allocate(arrayBackedUnsafeRow.getSizeInBytes)
try {
Platform.copyMemory(
@@ -69,13 +69,14 @@ class UnsafeRowSuite extends SparkFunSuite {
val baos = new ByteArrayOutputStream()
val writeBuffer = new Array[Byte](1024)
offheapUnsafeRow.writeToStream(baos, writeBuffer)
- baos.toByteArray
+ (baos.toByteArray, offheapUnsafeRow.getString(0))
} finally {
MemoryAllocator.UNSAFE.free(offheapRowPage)
}
}
assert(bytesFromArrayBackedRow === bytesFromOffheapRow)
+ assert(field0StringFromArrayBackedRow === field0StringFromOffheapRow)
}
test("calling getDouble() and getFloat() on null columns") {
diff --git a/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java b/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java
index cbcab958c0..216aeea60d 100644
--- a/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java
+++ b/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java
@@ -90,11 +90,7 @@ public final class UTF8String implements Comparable<UTF8String>, Externalizable
* Creates an UTF8String from given address (base and offset) and length.
*/
public static UTF8String fromAddress(Object base, long offset, int numBytes) {
- if (base != null) {
- return new UTF8String(base, offset, numBytes);
- } else {
- return null;
- }
+ return new UTF8String(base, offset, numBytes);
}
/**