public final class NestedRow extends BinarySection implements InternalRow, DataSetters
BinaryRow. The only different is
that, as NestedRow is used to store row value in the variable-length part of BinaryRow, every field (including both fixed-length part and variable-length part) of NestedRow has a possibility to cross the boundary of a segment, while the fixed-length part of
BinaryRow must fit into its first memory segment.InternalRow.FieldGetterHIGHEST_FIRST_BIT, HIGHEST_SECOND_TO_EIGHTH_BIT, MAX_FIX_PART_DATA_SIZE, offset, segments, sizeInBytes| 构造器和说明 |
|---|
NestedRow(int arity) |
| 限定符和类型 | 方法和说明 |
|---|---|
NestedRow |
copy() |
NestedRow |
copy(InternalRow reuse) |
boolean |
equals(Object o) |
InternalArray |
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.
|
Decimal |
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.
|
int |
getFieldCount()
Returns the number of fields in this row.
|
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.
|
InternalMap |
getMap(int pos)
Returns the map value at the given position.
|
InternalRow |
getRow(int pos,
int numFields)
Returns the row value at the given position.
|
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.
|
BinaryString |
getString(int pos)
Returns the string value at the given position.
|
Timestamp |
getTimestamp(int pos,
int precision)
Returns the timestamp value at the given position.
|
int |
hashCode() |
boolean |
isNullAt(int pos)
Returns true if the element is null at the given position.
|
void |
setBoolean(int pos,
boolean value) |
void |
setByte(int pos,
byte value) |
void |
setDecimal(int pos,
Decimal 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(RowKind kind)
Sets the kind of change that this row describes in a changelog.
|
void |
setShort(int pos,
short value) |
void |
setTimestamp(int pos,
Timestamp value,
int precision)
Set Timestamp value.
|
getOffset, getSegments, getSizeInBytes, pointTo, pointTo, toBytescreateFieldGetter, getDataClasspublic int getFieldCount()
InternalRowThe number does not include RowKind. It is kept separately.
getFieldCount 在接口中 InternalRowpublic RowKind getRowKind()
InternalRowgetRowKind 在接口中 InternalRowRowKindpublic void setRowKind(RowKind kind)
InternalRowsetRowKind 在接口中 InternalRowRowKindpublic void setNullAt(int i)
setNullAt 在接口中 DataSetterspublic void setInt(int pos,
int value)
setInt 在接口中 DataSetterspublic void setLong(int pos,
long value)
setLong 在接口中 DataSetterspublic void setDouble(int pos,
double value)
setDouble 在接口中 DataSetterspublic void setDecimal(int pos,
Decimal value,
int precision)
DataSettersNote: Precision is compact: can call DataSetters.setNullAt(int) when decimal is null. Precision is
not compact: can not call DataSetters.setNullAt(int) when decimal is null, must call setDecimal(pos, null, precision) because we need update var-length-part.
setDecimal 在接口中 DataSetterspublic void setTimestamp(int pos,
Timestamp value,
int precision)
DataSettersNote: If precision is compact: can call DataSetters.setNullAt(int) when TimestampData value is
null. Otherwise: can not call DataSetters.setNullAt(int) when TimestampData value is null, must call
setTimestamp(pos, null, precision) because we need to update var-length-part.
setTimestamp 在接口中 DataSetterspublic void setBoolean(int pos,
boolean value)
setBoolean 在接口中 DataSetterspublic void setShort(int pos,
short value)
setShort 在接口中 DataSetterspublic void setByte(int pos,
byte value)
setByte 在接口中 DataSetterspublic void setFloat(int pos,
float value)
setFloat 在接口中 DataSetterspublic boolean isNullAt(int pos)
DataGettersisNullAt 在接口中 DataGetterspublic boolean getBoolean(int pos)
DataGettersgetBoolean 在接口中 DataGetterspublic byte getByte(int pos)
DataGettersgetByte 在接口中 DataGetterspublic short getShort(int pos)
DataGettersgetShort 在接口中 DataGetterspublic int getInt(int pos)
DataGettersgetInt 在接口中 DataGetterspublic long getLong(int pos)
DataGettersgetLong 在接口中 DataGetterspublic float getFloat(int pos)
DataGettersgetFloat 在接口中 DataGetterspublic double getDouble(int pos)
DataGettersgetDouble 在接口中 DataGetterspublic BinaryString getString(int pos)
DataGettersgetString 在接口中 DataGetterspublic Decimal getDecimal(int pos, int precision, int scale)
DataGettersThe precision and scale are required to determine whether the decimal value was stored in
a compact representation (see Decimal).
getDecimal 在接口中 DataGetterspublic Timestamp getTimestamp(int pos, int precision)
DataGettersThe precision is required to determine whether the timestamp value was stored in a compact
representation (see Timestamp).
getTimestamp 在接口中 DataGetterspublic byte[] getBinary(int pos)
DataGettersgetBinary 在接口中 DataGetterspublic InternalRow getRow(int pos, int numFields)
DataGettersThe number of fields is required to correctly extract the row.
getRow 在接口中 DataGetterspublic InternalArray getArray(int pos)
DataGettersgetArray 在接口中 DataGetterspublic InternalMap getMap(int pos)
DataGettersgetMap 在接口中 DataGetterspublic NestedRow copy()
public NestedRow copy(InternalRow reuse)
public boolean equals(Object o)
equals 在类中 BinarySectionpublic int hashCode()
hashCode 在类中 BinarySectionCopyright © 2023 The Apache Software Foundation. All rights reserved.