@Internal public final class NestedRowData extends BinarySection implements RowData, TypedSetters
BinaryRowData. The only different
is that, as NestedRowData is used to store row value in the variable-length part of
BinaryRowData, every field (including both fixed-length part and variable-length part) of
NestedRowData has a possibility to cross the boundary of a segment, while the
fixed-length part of BinaryRowData must fit into its first memory segment.RowData.FieldGetteroffset, segments, sizeInBytesHIGHEST_FIRST_BIT, HIGHEST_SECOND_TO_EIGHTH_BIT, MAX_FIX_PART_DATA_SIZE| 构造器和说明 |
|---|
NestedRowData(int arity) |
| 限定符和类型 | 方法和说明 |
|---|---|
NestedRowData |
copy() |
NestedRowData |
copy(RowData reuse) |
boolean |
equals(Object o) |
int |
getArity()
Returns the number of fields in this row.
|
ArrayData |
getArray(int pos)
Returns the array value at the given position.
|
byte[] |
getBinary(int pos)
Returns the binary value at the given position.
|
boolean |
getBoolean(int pos)
Returns the boolean value at the given position.
|
byte |
getByte(int pos)
Returns the byte value at the given position.
|
DecimalData |
getDecimal(int pos,
int precision,
int scale)
Returns the decimal value at the given position.
|
double |
getDouble(int pos)
Returns the double value at the given position.
|
float |
getFloat(int pos)
Returns the float value at the given position.
|
int |
getInt(int pos)
Returns the integer value at the given position.
|
long |
getLong(int pos)
Returns the long value at the given position.
|
MapData |
getMap(int pos)
Returns the map value at the given position.
|
<T> RawValueData<T> |
getRawValue(int pos)
Returns the raw value at the given position.
|
RowData |
getRow(int pos,
int numFields)
Returns the row value at the given position.
|
org.apache.flink.types.RowKind |
getRowKind()
Returns the kind of change that this row describes in a changelog.
|
short |
getShort(int pos)
Returns the short value at the given position.
|
StringData |
getString(int pos)
Returns the string value at the given position.
|
TimestampData |
getTimestamp(int pos,
int precision)
Returns the timestamp value at the given position.
|
int |
hashCode() |
boolean |
isNullAt(int pos)
Returns true if the field is null at the given position.
|
void |
setBoolean(int pos,
boolean value) |
void |
setByte(int pos,
byte value) |
void |
setDecimal(int pos,
DecimalData value,
int precision)
Set the decimal column value.
|
void |
setDouble(int pos,
double value) |
void |
setFloat(int pos,
float value) |
void |
setInt(int pos,
int value) |
void |
setLong(int pos,
long value) |
void |
setNullAt(int i)
|
void |
setRowKind(org.apache.flink.types.RowKind kind)
Sets the kind of change that this row describes in a changelog.
|
void |
setShort(int pos,
short value) |
void |
setTimestamp(int pos,
TimestampData value,
int precision)
Set Timestamp value.
|
getOffset, getSegments, getSizeInBytes, pointTo, pointTocreateFieldGetterpublic int getArity()
RowDataThe number does not include RowKind. It is kept separately.
public org.apache.flink.types.RowKind getRowKind()
RowDatagetRowKind 在接口中 RowDataRowKindpublic void setRowKind(org.apache.flink.types.RowKind kind)
RowDatasetRowKind 在接口中 RowDataRowKindpublic void setNullAt(int i)
setNullAt 在接口中 TypedSetterspublic void setInt(int pos,
int value)
setInt 在接口中 TypedSetterspublic void setLong(int pos,
long value)
setLong 在接口中 TypedSetterspublic void setDouble(int pos,
double value)
setDouble 在接口中 TypedSetterspublic void setDecimal(int pos,
DecimalData value,
int precision)
TypedSettersNote: Precision is compact: can call TypedSetters.setNullAt(int) when decimal is null. Precision is
not compact: can not call TypedSetters.setNullAt(int) when decimal is null, must call setDecimal(pos, null, precision) because we need update var-length-part.
setDecimal 在接口中 TypedSetterspublic void setTimestamp(int pos,
TimestampData value,
int precision)
TypedSettersNote: If precision is compact: can call TypedSetters.setNullAt(int) when TimestampData value is
null. Otherwise: can not call TypedSetters.setNullAt(int) when TimestampData value is null, must call
setTimestamp(pos, null, precision) because we need to update var-length-part.
setTimestamp 在接口中 TypedSetterspublic void setBoolean(int pos,
boolean value)
setBoolean 在接口中 TypedSetterspublic void setShort(int pos,
short value)
setShort 在接口中 TypedSetterspublic void setByte(int pos,
byte value)
setByte 在接口中 TypedSetterspublic void setFloat(int pos,
float value)
setFloat 在接口中 TypedSetterspublic boolean isNullAt(int pos)
RowDatapublic boolean getBoolean(int pos)
RowDatagetBoolean 在接口中 RowDatapublic byte getByte(int pos)
RowDatapublic short getShort(int pos)
RowDatapublic int getInt(int pos)
RowDatapublic long getLong(int pos)
RowDatapublic float getFloat(int pos)
RowDatapublic double getDouble(int pos)
RowDatapublic StringData getString(int pos)
RowDatapublic DecimalData getDecimal(int pos, int precision, int scale)
RowDataThe precision and scale are required to determine whether the decimal value was stored in
a compact representation (see DecimalData).
getDecimal 在接口中 RowDatapublic TimestampData getTimestamp(int pos, int precision)
RowDataThe precision is required to determine whether the timestamp value was stored in a compact
representation (see TimestampData).
getTimestamp 在接口中 RowDatapublic <T> RawValueData<T> getRawValue(int pos)
RowDatagetRawValue 在接口中 RowDatapublic byte[] getBinary(int pos)
RowDatapublic RowData getRow(int pos, int numFields)
RowDataThe number of fields is required to correctly extract the row.
public ArrayData getArray(int pos)
RowDatapublic MapData getMap(int pos)
RowDatapublic NestedRowData copy()
public NestedRowData copy(RowData reuse)
public boolean equals(Object o)
equals 在类中 BinarySectionpublic int hashCode()
hashCode 在类中 BinarySectionCopyright © 2014–2021 The Apache Software Foundation. All rights reserved.