Github user cloud-fan commented on a diff in the pull request:
https://github.com/apache/spark/pull/20850#discussion_r178460833
--- Diff:
sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/expressions/codegen/UnsafeRowWriter.java
---
@@ -117,150 +138,81 @@ public long getFieldOffset(int ordinal) {
return startingOffset + nullBitsSize + 8 * ordinal;
}
- public void setOffsetAndSize(int ordinal, int size) {
- setOffsetAndSize(ordinal, holder.cursor, size);
- }
-
- public void setOffsetAndSize(int ordinal, int currentCursor, int size) {
- final long relativeOffset = currentCursor - startingOffset;
- final long fieldOffset = getFieldOffset(ordinal);
- final long offsetAndSize = (relativeOffset << 32) | (long) size;
-
- Platform.putLong(holder.buffer, fieldOffset, offsetAndSize);
- }
-
public void write(int ordinal, boolean value) {
final long offset = getFieldOffset(ordinal);
- Platform.putLong(holder.buffer, offset, 0L);
- Platform.putBoolean(holder.buffer, offset, value);
+ Platform.putLong(buffer(), offset, 0L);
--- End diff --
`writeLong(offset, 0L)`?
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]