Skip to content

Commit dd5c681

Browse files
committed
Move some methods from UnsafeHelper to SqlTypesUnsafeHelper
* UnsafeHelper now only handles binary things
1 parent 9f299c4 commit dd5c681

File tree

4 files changed

+23
-23
lines changed

4 files changed

+23
-23
lines changed

common/unsafe/src/main/java/org/apache/spark/unsafe/UnsafeHelper.java

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@
1717

1818
package org.apache.spark.unsafe;
1919

20-
import org.apache.spark.unsafe.types.CalendarInterval;
21-
import org.apache.spark.unsafe.types.UTF8String;
22-
2320
import java.nio.ByteBuffer;
2421

2522
public final class UnsafeHelper {
@@ -33,22 +30,6 @@ public static byte[] getBinary(long offsetAndSize, Object baseObject, long baseO
3330
return bytes;
3431
}
3532

36-
public static UTF8String getUTF8String(long offsetAndSize, Object baseObject, long baseOffset) {
37-
final int offset = getOffsetFromOffsetAndSize(offsetAndSize);
38-
final int size = getSizeFromOffsetAndSize(offsetAndSize);
39-
return UTF8String.fromAddress(baseObject, baseOffset + offset, size);
40-
}
41-
42-
public static CalendarInterval getInterval(
43-
long offsetAndSize,
44-
Object baseObject,
45-
long baseOffset) {
46-
final int offset = getOffsetFromOffsetAndSize(offsetAndSize);
47-
final int months = (int) Platform.getLong(baseObject, baseOffset + offset);
48-
final long microseconds = Platform.getLong(baseObject, baseOffset + offset + 8);
49-
return new CalendarInterval(months, microseconds);
50-
}
51-
5233
public static void writeTo(
5334
ByteBuffer buffer,
5435
Object baseObject,

sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/expressions/SqlTypesUnsafeHelper.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,33 @@
1818
package org.apache.spark.sql.catalyst.expressions;
1919

2020
import org.apache.spark.sql.types.Decimal;
21+
import org.apache.spark.unsafe.Platform;
2122
import org.apache.spark.unsafe.UnsafeHelper;
23+
import org.apache.spark.unsafe.types.CalendarInterval;
24+
import org.apache.spark.unsafe.types.UTF8String;
2225

2326
import java.math.BigDecimal;
2427
import java.math.BigInteger;
2528

2629
public final class SqlTypesUnsafeHelper {
2730
private SqlTypesUnsafeHelper() {}
2831

32+
public static UTF8String getUTF8String(long offsetAndSize, Object baseObject, long baseOffset) {
33+
final int offset = UnsafeHelper.getOffsetFromOffsetAndSize(offsetAndSize);
34+
final int size = UnsafeHelper.getSizeFromOffsetAndSize(offsetAndSize);
35+
return UTF8String.fromAddress(baseObject, baseOffset + offset, size);
36+
}
37+
38+
public static CalendarInterval getInterval(
39+
long offsetAndSize,
40+
Object baseObject,
41+
long baseOffset) {
42+
final int offset = UnsafeHelper.getOffsetFromOffsetAndSize(offsetAndSize);
43+
final int months = (int) Platform.getLong(baseObject, baseOffset + offset);
44+
final long microseconds = Platform.getLong(baseObject, baseOffset + offset + 8);
45+
return new CalendarInterval(months, microseconds);
46+
}
47+
2948
public static Decimal getDecimalExceedingLong(
3049
byte[] bytes,
3150
int precision,

sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/expressions/UnsafeArrayData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ public Decimal getDecimal(int ordinal, int precision, int scale) {
234234
@Override
235235
public UTF8String getUTF8String(int ordinal) {
236236
if (isNullAt(ordinal)) return null;
237-
return UnsafeHelper.getUTF8String(getLong(ordinal), baseObject, baseOffset);
237+
return SqlTypesUnsafeHelper.getUTF8String(getLong(ordinal), baseObject, baseOffset);
238238
}
239239

240240
@Override
@@ -246,7 +246,7 @@ public byte[] getBinary(int ordinal) {
246246
@Override
247247
public CalendarInterval getInterval(int ordinal) {
248248
if (isNullAt(ordinal)) return null;
249-
return UnsafeHelper.getInterval(getLong(ordinal), baseObject, baseOffset);
249+
return SqlTypesUnsafeHelper.getInterval(getLong(ordinal), baseObject, baseOffset);
250250
}
251251

252252
@Override

sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/expressions/UnsafeRow.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ public Decimal getDecimal(int ordinal, int precision, int scale) {
405405
@Override
406406
public UTF8String getUTF8String(int ordinal) {
407407
if (isNullAt(ordinal)) return null;
408-
return UnsafeHelper.getUTF8String(getLong(ordinal), baseObject, baseOffset);
408+
return SqlTypesUnsafeHelper.getUTF8String(getLong(ordinal), baseObject, baseOffset);
409409
}
410410

411411
@Override
@@ -422,7 +422,7 @@ public CalendarInterval getInterval(int ordinal) {
422422
if (isNullAt(ordinal)) {
423423
return null;
424424
} else {
425-
return UnsafeHelper.getInterval(getLong(ordinal), baseObject, baseOffset);
425+
return SqlTypesUnsafeHelper.getInterval(getLong(ordinal), baseObject, baseOffset);
426426
}
427427
}
428428

0 commit comments

Comments
 (0)