Github user cloud-fan commented on a diff in the pull request: https://github.com/apache/spark/pull/19222#discussion_r147566242 --- Diff: sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/expressions/UnsafeArrayData.java --- @@ -230,7 +233,10 @@ public UTF8String getUTF8String(int ordinal) { final long offsetAndSize = getLong(ordinal); final int offset = (int) (offsetAndSize >> 32); final int size = (int) offsetAndSize; - return UTF8String.fromAddress(baseObject, baseOffset + offset, size); + MemoryBlock mb = (baseObject instanceof byte[]) ? + new ByteArrayMemoryBlock((byte[]) baseObject, baseOffset + offset, size) : + new LongArrayMemoryBlock((long[]) baseObject, baseOffset + offset, size); --- End diff -- shouldn't this logic belong to `UTF8String.fromAddress`?
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org