Class BinaryArrayWriter
java.lang.Object
org.apache.flink.table.data.writer.BinaryArrayWriter
- All Implemented Interfaces:
BinaryWriter
Writer for binary array. See
BinaryArrayData.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceAccessor for setting the elements of an array writer tonullduring runtime.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
ConstructorsConstructorDescriptionBinaryArrayWriter(org.apache.flink.table.data.binary.BinaryArrayData array, int numElements, int elementSize) -
Method Summary
Modifier and TypeMethodDescriptionvoidAfter grow, need point to new memory.voidcomplete()Finally, complete write to set real size to row.static BinaryArrayWriter.NullSettercreateNullSetter(org.apache.flink.table.types.logical.LogicalType elementType) Creates an for accessor setting the elements of an array writer tonullduring runtime.protected voidensureCapacity(int neededSize) intgetFieldOffset(int pos) Get field offset.intorg.apache.flink.core.memory.MemorySegmentvoidreset()First, reset.protected static introundNumberOfBytesToNearestWord(int numBytes) voidsetNullAt(int ordinal) Set null to this field.voidsetNullAt(int pos, org.apache.flink.table.types.logical.LogicalType type) Deprecated.voidsetNullBit(int ordinal) voidsetNullBoolean(int ordinal) voidsetNullByte(int ordinal) voidsetNullDouble(int ordinal) voidsetNullFloat(int ordinal) voidsetNullInt(int ordinal) voidsetNullLong(int ordinal) voidsetNullShort(int ordinal) 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) 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
-
BinaryArrayWriter
public BinaryArrayWriter(org.apache.flink.table.data.binary.BinaryArrayData array, int numElements, int elementSize)
-
-
Method Details
-
reset
public void reset()First, reset. -
setNullBit
public void setNullBit(int ordinal) -
setNullBoolean
public void setNullBoolean(int ordinal) -
setNullByte
public void setNullByte(int ordinal) -
setNullShort
public void setNullShort(int ordinal) -
setNullInt
public void setNullInt(int ordinal) -
setNullLong
public void setNullLong(int ordinal) -
setNullFloat
public void setNullFloat(int ordinal) -
setNullDouble
public void setNullDouble(int ordinal) -
setNullAt
public void setNullAt(int ordinal) Description copied from interface:BinaryWriterSet null to this field. -
setNullAt
Deprecated.UsecreateNullSetter(LogicalType)for avoiding logical types during runtime. -
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. -
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) -
afterGrow
public void afterGrow()After grow, need point to new memory. -
complete
public void complete()Finally, complete write to set real size to row. -
getNumElements
public int getNumElements() -
createNullSetter
public static BinaryArrayWriter.NullSetter createNullSetter(org.apache.flink.table.types.logical.LogicalType elementType) Creates an for accessor setting the elements of an array writer tonullduring runtime.- Parameters:
elementType- the element type of the array
-
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()
-
createNullSetter(LogicalType)for avoiding logical types during runtime.