final class UnsafeRowWriter extends UnsafeWriter
A helper class to write data into global row buffer using UnsafeRow format.
It will remember the offset of row buffer which it starts to write, and move the cursor of row
buffer while writing. If new data(can be the input record if this is the outermost writer, or
nested struct if this is an inner writer) comes, the starting cursor of row buffer may be
changed, so we need to call UnsafeRowWriter.resetRowWriter before writing, to update the
startingOffset and clear out null bits.
Note that if this is the outermost writer, which means we will always write from the very
beginning of the global row buffer, we don't need to update startingOffset and can just call
zeroOutNullBytes before writing new data.
- Alphabetic
- By Inheritance
- UnsafeRowWriter
- UnsafeWriter
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new UnsafeRowWriter(writer: UnsafeWriter, numFields: Int)
- new UnsafeRowWriter(numFields: Int, initialBufferSize: Int)
- new UnsafeRowWriter(numFields: Int)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def cursor(): Int
- Definition Classes
- UnsafeWriter
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getBuffer(): Array[Byte]
- Definition Classes
- UnsafeWriter
- final def getBufferHolder(): BufferHolder
Accessor methods are delegated from BufferHolder class
Accessor methods are delegated from BufferHolder class
- Definition Classes
- UnsafeWriter
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getFieldOffset(ordinal: Int): Long
- def getRow(): UnsafeRow
Updates total size of the UnsafeRow using the size collected by BufferHolder, and returns the UnsafeRow created at a constructor
- final def grow(neededSize: Int): Unit
- Definition Classes
- UnsafeWriter
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def increaseCursor(val: Int): Unit
- Definition Classes
- UnsafeWriter
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isNullAt(ordinal: Int): Boolean
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def reset(): Unit
- Definition Classes
- UnsafeWriter
- def resetRowWriter(): Unit
Resets the
startingOffsetaccording to the current cursor of row buffer, and clear out null bits.Resets the
startingOffsetaccording to the current cursor of row buffer, and clear out null bits. This should be called before we write a new nested struct to the row buffer. - def setNull1Bytes(ordinal: Int): Unit
- Definition Classes
- UnsafeRowWriter → UnsafeWriter
- Annotations
- @Override()
- def setNull2Bytes(ordinal: Int): Unit
- Definition Classes
- UnsafeRowWriter → UnsafeWriter
- Annotations
- @Override()
- def setNull4Bytes(ordinal: Int): Unit
- Definition Classes
- UnsafeRowWriter → UnsafeWriter
- Annotations
- @Override()
- def setNull8Bytes(ordinal: Int): Unit
- Definition Classes
- UnsafeRowWriter → UnsafeWriter
- Annotations
- @Override()
- def setNullAt(ordinal: Int): Unit
- def setOffsetAndSize(ordinal: Int, currentCursor: Int, size: Int): Unit
- Attributes
- protected[codegen]
- Definition Classes
- UnsafeWriter
- def setOffsetAndSize(ordinal: Int, size: Int): Unit
- Attributes
- protected[codegen]
- Definition Classes
- UnsafeWriter
- final def setOffsetAndSizeFromPreviousCursor(ordinal: Int, previousCursor: Int): Unit
- Definition Classes
- UnsafeWriter
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def totalSize(): Int
- Definition Classes
- UnsafeWriter
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def write(ordinal: Int, input: Decimal, precision: Int, scale: Int): Unit
- Definition Classes
- UnsafeRowWriter → UnsafeWriter
- Annotations
- @Override()
- def write(ordinal: Int, value: Double): Unit
- Definition Classes
- UnsafeRowWriter → UnsafeWriter
- Annotations
- @Override()
- def write(ordinal: Int, value: Float): Unit
- Definition Classes
- UnsafeRowWriter → UnsafeWriter
- Annotations
- @Override()
- def write(ordinal: Int, value: Long): Unit
- Definition Classes
- UnsafeRowWriter → UnsafeWriter
- Annotations
- @Override()
- def write(ordinal: Int, value: Int): Unit
- Definition Classes
- UnsafeRowWriter → UnsafeWriter
- Annotations
- @Override()
- def write(ordinal: Int, value: Short): Unit
- Definition Classes
- UnsafeRowWriter → UnsafeWriter
- Annotations
- @Override()
- def write(ordinal: Int, value: Byte): Unit
- Definition Classes
- UnsafeRowWriter → UnsafeWriter
- Annotations
- @Override()
- def write(ordinal: Int, value: Boolean): Unit
- Definition Classes
- UnsafeRowWriter → UnsafeWriter
- Annotations
- @Override()
- final def write(array: UnsafeArrayData): Unit
- Definition Classes
- UnsafeWriter
- final def write(ordinal: Int, map: UnsafeMapData): Unit
- Definition Classes
- UnsafeWriter
- final def write(ordinal: Int, row: UnsafeRow): Unit
- Definition Classes
- UnsafeWriter
- final def write(ordinal: Int, input: CalendarInterval): Unit
- Definition Classes
- UnsafeWriter
- final def write(ordinal: Int, input: Array[Byte], offset: Int, numBytes: Int): Unit
- Definition Classes
- UnsafeWriter
- final def write(ordinal: Int, input: Array[Byte]): Unit
- Definition Classes
- UnsafeWriter
- final def write(ordinal: Int, input: UTF8String): Unit
- Definition Classes
- UnsafeWriter
- final def writeBoolean(offset: Long, value: Boolean): Unit
- Attributes
- protected[codegen]
- Definition Classes
- UnsafeWriter
- final def writeByte(offset: Long, value: Byte): Unit
- Attributes
- protected[codegen]
- Definition Classes
- UnsafeWriter
- final def writeDouble(offset: Long, value: Double): Unit
- Attributes
- protected[codegen]
- Definition Classes
- UnsafeWriter
- final def writeFloat(offset: Long, value: Float): Unit
- Attributes
- protected[codegen]
- Definition Classes
- UnsafeWriter
- final def writeInt(offset: Long, value: Int): Unit
- Attributes
- protected[codegen]
- Definition Classes
- UnsafeWriter
- final def writeLong(offset: Long, value: Long): Unit
- Attributes
- protected[codegen]
- Definition Classes
- UnsafeWriter
- final def writeShort(offset: Long, value: Short): Unit
- Attributes
- protected[codegen]
- Definition Classes
- UnsafeWriter
- def zeroOutNullBytes(): Unit
Clears out null bits.
Clears out null bits. This should be called before we write a new row to row buffer.
- final def zeroOutPaddingBytes(numBytes: Int): Unit
- Attributes
- protected[codegen]
- Definition Classes
- UnsafeWriter