Class BinaryArrayWriter
- java.lang.Object
-
- org.apache.flink.cdc.runtime.serializer.data.writer.BinaryArrayWriter
-
- All Implemented Interfaces:
BinaryWriter
@Internal public final class BinaryArrayWriter extends Object
Writer for binary array. SeeBinaryArrayData.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceBinaryArrayWriter.NullSetterAccessor for setting the elements of an array writer tonullduring runtime.
-
Field Summary
Fields Modifier and Type Field Description protected intcursorprotected org.apache.flink.core.memory.DataOutputViewStreamWrapperoutputViewprotected org.apache.flink.core.memory.MemorySegmentsegment
-
Constructor Summary
Constructors Constructor Description BinaryArrayWriter(BinaryArrayData array, int numElements, int elementSize)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidafterGrow()After grow, need point to new memory.voidcomplete()Finally, complete write to set real size to row.static BinaryArrayWriter.NullSettercreateNullSetter(DataType elementType)Creates an for accessor setting the elements of an array writer tonullduring runtime.protected voidensureCapacity(int neededSize)intgetFieldOffset(int pos)Get field offset.intgetNumElements()org.apache.flink.core.memory.MemorySegmentgetSegments()voidreset()First, reset.protected static introundNumberOfBytesToNearestWord(int numBytes)voidsetNullAt(int ordinal)Set null to this field.voidsetNullAt(int pos, DataType type)Deprecated.UsecreateNullSetter(DataType)for avoiding logical types during runtime.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, ArrayData input, ArrayDataSerializer serializer)voidwriteBinary(int pos, byte[] bytes)voidwriteBoolean(int pos, boolean value)voidwriteByte(int pos, byte value)voidwriteDate(int pos, DateData value)voidwriteDecimal(int pos, DecimalData value, int precision)voidwriteDouble(int pos, double value)voidwriteFloat(int pos, float value)voidwriteInt(int pos, int value)voidwriteLocalZonedTimestamp(int pos, LocalZonedTimestampData value, int precision)voidwriteLong(int pos, long value)voidwriteMap(int pos, MapData input, MapDataSerializer serializer)voidwriteRecord(int pos, RecordData input, org.apache.flink.api.common.typeutils.TypeSerializer<RecordData> serializer)voidwriteShort(int pos, short value)voidwriteString(int pos, StringData input)voidwriteTime(int pos, TimeData value, int precision)voidwriteTimestamp(int pos, TimestampData value, int precision)voidwriteVariant(int pos, Variant variant)voidwriteZonedTimestamp(int pos, ZonedTimestampData value, int precision)protected voidzeroOutPaddingBytes(int numBytes)
-
-
-
Constructor Detail
-
BinaryArrayWriter
public BinaryArrayWriter(BinaryArrayData array, int numElements, int elementSize)
-
-
Method Detail
-
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 public void setNullAt(int pos, DataType type)
Deprecated.UsecreateNullSetter(DataType)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(DataType 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, StringData input)- Specified by:
writeStringin interfaceBinaryWriter
-
writeArray
public void writeArray(int pos, ArrayData input, ArrayDataSerializer serializer)- Specified by:
writeArrayin interfaceBinaryWriter
-
writeMap
public void writeMap(int pos, MapData input, MapDataSerializer serializer)- Specified by:
writeMapin interfaceBinaryWriter
-
writeRecord
public void writeRecord(int pos, RecordData input, org.apache.flink.api.common.typeutils.TypeSerializer<RecordData> serializer)- Specified by:
writeRecordin interfaceBinaryWriter
-
writeBinary
public void writeBinary(int pos, byte[] bytes)- Specified by:
writeBinaryin interfaceBinaryWriter
-
writeDecimal
public void writeDecimal(int pos, DecimalData value, int precision)- Specified by:
writeDecimalin interfaceBinaryWriter
-
writeTimestamp
public void writeTimestamp(int pos, TimestampData value, int precision)- Specified by:
writeTimestampin interfaceBinaryWriter
-
writeLocalZonedTimestamp
public void writeLocalZonedTimestamp(int pos, LocalZonedTimestampData value, int precision)- Specified by:
writeLocalZonedTimestampin interfaceBinaryWriter
-
writeZonedTimestamp
public void writeZonedTimestamp(int pos, ZonedTimestampData value, int precision)- Specified by:
writeZonedTimestampin interfaceBinaryWriter
-
writeDate
public void writeDate(int pos, DateData value)- Specified by:
writeDatein interfaceBinaryWriter
-
writeTime
public void writeTime(int pos, TimeData value, int precision)- Specified by:
writeTimein interfaceBinaryWriter
-
writeVariant
public void writeVariant(int pos, Variant variant)- Specified by:
writeVariantin 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()
-
-