Class BinaryRowWriter

  • All Implemented Interfaces:
    BinaryWriter

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

      • segment

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

        protected int cursor
      • outputView

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

      • 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 Detail

      • 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
      • writeVariant

        public void writeVariant​(int pos,
                                 org.apache.flink.types.variant.Variant variant)
        Specified by:
        writeVariant 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()