Class BinaryRowWriter
java.lang.Object
org.apache.flink.table.data.writer.BinaryRowWriter
- All Implemented Interfaces:
BinaryWriter
Writer for
BinaryRowData.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.flink.table.data.writer.BinaryWriter
BinaryWriter.ValueSetter -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intprotected org.apache.flink.core.memory.DataOutputViewStreamWrapperprotected org.apache.flink.core.memory.MemorySegment -
Constructor Summary
ConstructorsConstructorDescriptionBinaryRowWriter(org.apache.flink.table.data.binary.BinaryRowData row) BinaryRowWriter(org.apache.flink.table.data.binary.BinaryRowData row, int initialSize) -
Method Summary
Modifier and TypeMethodDescriptionvoidAfter grow, need point to new memory.voidcomplete()Finally, complete write to set real size to binary.protected voidensureCapacity(int neededSize) intgetFieldOffset(int pos) Get field offset.org.apache.flink.core.memory.MemorySegmentvoidreset()First, reset.protected static introundNumberOfBytesToNearestWord(int numBytes) voidsetNullAt(int pos) Default not null.voidsetNullBit(int pos) voidsetOffsetAndSize(int pos, int offset, long size) Set offset and size to fix len part.voidwriteArray(int pos, org.apache.flink.table.data.ArrayData input, ArrayDataSerializer serializer) voidwriteBinary(int pos, byte[] bytes) voidwriteBoolean(int pos, boolean value) voidwriteByte(int pos, byte value) voidwriteDecimal(int pos, org.apache.flink.table.data.DecimalData value, int precision) voidwriteDouble(int pos, double value) voidwriteFloat(int pos, float value) voidwriteInt(int pos, int value) voidwriteLong(int pos, long value) voidwriteMap(int pos, org.apache.flink.table.data.MapData input, MapDataSerializer serializer) voidwriteRawValue(int pos, org.apache.flink.table.data.RawValueData<?> input, RawValueDataSerializer<?> serializer) voidwriteRow(int pos, org.apache.flink.table.data.RowData input, RowDataSerializer serializer) voidwriteRowKind(org.apache.flink.types.RowKind kind) voidwriteShort(int pos, short value) voidwriteString(int pos, org.apache.flink.table.data.StringData input) SeeBinarySegmentUtils.readStringData(MemorySegment[], int, int, long).voidwriteTimestamp(int pos, org.apache.flink.table.data.TimestampData value, int precision) protected voidzeroOutPaddingBytes(int numBytes)
-
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:BinaryWriterFinally, 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) SeeBinarySegmentUtils.readStringData(MemorySegment[], int, int, long).- Specified by:
writeStringin interfaceBinaryWriter
-
writeArray
public void writeArray(int pos, org.apache.flink.table.data.ArrayData input, ArrayDataSerializer serializer) - Specified by:
writeArrayin interfaceBinaryWriter
-
writeMap
public void writeMap(int pos, org.apache.flink.table.data.MapData input, MapDataSerializer serializer) - Specified by:
writeMapin interfaceBinaryWriter
-
writeRawValue
public void writeRawValue(int pos, org.apache.flink.table.data.RawValueData<?> input, RawValueDataSerializer<?> serializer) - Specified by:
writeRawValuein interfaceBinaryWriter
-
writeRow
public void writeRow(int pos, org.apache.flink.table.data.RowData input, RowDataSerializer serializer) - Specified by:
writeRowin interfaceBinaryWriter
-
writeBinary
public void writeBinary(int pos, byte[] bytes) - Specified by:
writeBinaryin interfaceBinaryWriter
-
writeDecimal
public void writeDecimal(int pos, org.apache.flink.table.data.DecimalData value, int precision) - Specified by:
writeDecimalin interfaceBinaryWriter
-
writeTimestamp
public void writeTimestamp(int pos, org.apache.flink.table.data.TimestampData value, int precision) - Specified by:
writeTimestampin interfaceBinaryWriter
-
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()
-