Class BinaryRowWriter

java.lang.Object
org.apache.flink.table.data.writer.BinaryRowWriter
All Implemented Interfaces:
BinaryWriter

@Internal public final class BinaryRowWriter extends Object
Writer for BinaryRowData.
  • Field Details

    • segment

      protected org.apache.flink.core.memory.MemorySegment segment
    • cursor

      protected int cursor
    • outputView

      protected org.apache.flink.core.memory.DataOutputViewStreamWrapper outputView
  • Constructor Details

    • BinaryRowWriter

      public BinaryRowWriter(org.apache.flink.table.data.binary.BinaryRowData row)
    • BinaryRowWriter

      public BinaryRowWriter(org.apache.flink.table.data.binary.BinaryRowData row, int initialSize)
  • Method Details

    • reset

      public void reset()
      First, reset.
    • setNullAt

      public void setNullAt(int pos)
      Default not null.
    • setNullBit

      public void setNullBit(int pos)
    • writeRowKind

      public void writeRowKind(org.apache.flink.types.RowKind kind)
    • writeBoolean

      public void writeBoolean(int pos, boolean value)
    • writeByte

      public void writeByte(int pos, byte value)
    • writeShort

      public void writeShort(int pos, short value)
    • writeInt

      public void writeInt(int pos, int value)
    • writeLong

      public void writeLong(int pos, long value)
    • writeFloat

      public void writeFloat(int pos, float value)
    • writeDouble

      public void writeDouble(int pos, double value)
    • complete

      public void complete()
      Description copied from interface: BinaryWriter
      Finally, complete write to set real size to binary.
    • getFieldOffset

      public int getFieldOffset(int pos)
      Get field offset.
    • setOffsetAndSize

      public void setOffsetAndSize(int pos, int offset, long size)
      Set offset and size to fix len part.
    • afterGrow

      public void afterGrow()
      After grow, need point to new memory.
    • writeString

      public void writeString(int pos, org.apache.flink.table.data.StringData input)
      See BinarySegmentUtils.readStringData(MemorySegment[], int, int, long).
      Specified by:
      writeString in interface BinaryWriter
    • writeArray

      public void writeArray(int pos, org.apache.flink.table.data.ArrayData input, ArrayDataSerializer serializer)
      Specified by:
      writeArray in interface BinaryWriter
    • writeMap

      public void writeMap(int pos, org.apache.flink.table.data.MapData input, MapDataSerializer serializer)
      Specified by:
      writeMap in interface BinaryWriter
    • writeRawValue

      public void writeRawValue(int pos, org.apache.flink.table.data.RawValueData<?> input, RawValueDataSerializer<?> serializer)
      Specified by:
      writeRawValue in interface BinaryWriter
    • writeRow

      public void writeRow(int pos, org.apache.flink.table.data.RowData input, RowDataSerializer serializer)
      Specified by:
      writeRow in interface BinaryWriter
    • writeBinary

      public void writeBinary(int pos, byte[] bytes)
      Specified by:
      writeBinary in interface BinaryWriter
    • writeDecimal

      public void writeDecimal(int pos, org.apache.flink.table.data.DecimalData value, int precision)
      Specified by:
      writeDecimal in interface BinaryWriter
    • writeTimestamp

      public void writeTimestamp(int pos, org.apache.flink.table.data.TimestampData value, int precision)
      Specified by:
      writeTimestamp in interface BinaryWriter
    • zeroOutPaddingBytes

      protected void zeroOutPaddingBytes(int numBytes)
    • ensureCapacity

      protected void ensureCapacity(int neededSize)
    • roundNumberOfBytesToNearestWord

      protected static int roundNumberOfBytesToNearestWord(int numBytes)
    • getSegments

      @Internal public org.apache.flink.core.memory.MemorySegment getSegments()