Class ColumnarRowData

java.lang.Object
org.apache.flink.table.data.columnar.ColumnarRowData
All Implemented Interfaces:
TypedSetters, RowData

@Internal public final class ColumnarRowData extends Object implements RowData, TypedSetters
Columnar row to support access to vector column data. It is a row view in VectorizedColumnBatch.
  • Constructor Details

    • ColumnarRowData

      public ColumnarRowData()
    • ColumnarRowData

      public ColumnarRowData(VectorizedColumnBatch vectorizedColumnBatch)
    • ColumnarRowData

      public ColumnarRowData(VectorizedColumnBatch vectorizedColumnBatch, int rowId)
  • Method Details

    • setVectorizedColumnBatch

      public void setVectorizedColumnBatch(VectorizedColumnBatch vectorizedColumnBatch)
    • setRowId

      public void setRowId(int rowId)
    • getRowKind

      public org.apache.flink.types.RowKind getRowKind()
      Description copied from interface: RowData
      Returns the kind of change that this row describes in a changelog.
      Specified by:
      getRowKind in interface RowData
      See Also:
      • RowKind
    • setRowKind

      public void setRowKind(org.apache.flink.types.RowKind kind)
      Description copied from interface: RowData
      Sets the kind of change that this row describes in a changelog.
      Specified by:
      setRowKind in interface RowData
      See Also:
      • RowKind
    • getArity

      public int getArity()
      Description copied from interface: RowData
      Returns the number of fields in this row.

      The number does not include RowKind. It is kept separately.

      Specified by:
      getArity in interface RowData
    • isNullAt

      public boolean isNullAt(int pos)
      Description copied from interface: RowData
      Returns true if the field is null at the given position.
      Specified by:
      isNullAt in interface RowData
    • getBoolean

      public boolean getBoolean(int pos)
      Description copied from interface: RowData
      Returns the boolean value at the given position.
      Specified by:
      getBoolean in interface RowData
    • getByte

      public byte getByte(int pos)
      Description copied from interface: RowData
      Returns the byte value at the given position.
      Specified by:
      getByte in interface RowData
    • getShort

      public short getShort(int pos)
      Description copied from interface: RowData
      Returns the short value at the given position.
      Specified by:
      getShort in interface RowData
    • getInt

      public int getInt(int pos)
      Description copied from interface: RowData
      Returns the integer value at the given position.
      Specified by:
      getInt in interface RowData
    • getLong

      public long getLong(int pos)
      Description copied from interface: RowData
      Returns the long value at the given position.
      Specified by:
      getLong in interface RowData
    • getFloat

      public float getFloat(int pos)
      Description copied from interface: RowData
      Returns the float value at the given position.
      Specified by:
      getFloat in interface RowData
    • getDouble

      public double getDouble(int pos)
      Description copied from interface: RowData
      Returns the double value at the given position.
      Specified by:
      getDouble in interface RowData
    • getString

      public StringData getString(int pos)
      Description copied from interface: RowData
      Returns the string value at the given position.
      Specified by:
      getString in interface RowData
    • getDecimal

      public DecimalData getDecimal(int pos, int precision, int scale)
      Description copied from interface: RowData
      Returns the decimal value at the given position.

      The precision and scale are required to determine whether the decimal value was stored in a compact representation (see DecimalData).

      Specified by:
      getDecimal in interface RowData
    • getTimestamp

      public TimestampData getTimestamp(int pos, int precision)
      Description copied from interface: RowData
      Returns the timestamp value at the given position.

      The precision is required to determine whether the timestamp value was stored in a compact representation (see TimestampData).

      Specified by:
      getTimestamp in interface RowData
    • getRawValue

      public <T> RawValueData<T> getRawValue(int pos)
      Description copied from interface: RowData
      Returns the raw value at the given position.
      Specified by:
      getRawValue in interface RowData
    • getBinary

      public byte[] getBinary(int pos)
      Description copied from interface: RowData
      Returns the binary value at the given position.
      Specified by:
      getBinary in interface RowData
    • getRow

      public RowData getRow(int pos, int numFields)
      Description copied from interface: RowData
      Returns the row value at the given position.

      The number of fields is required to correctly extract the row.

      Specified by:
      getRow in interface RowData
    • getArray

      public ArrayData getArray(int pos)
      Description copied from interface: RowData
      Returns the array value at the given position.
      Specified by:
      getArray in interface RowData
    • getMap

      public MapData getMap(int pos)
      Description copied from interface: RowData
      Returns the map value at the given position.
      Specified by:
      getMap in interface RowData
    • setNullAt

      public void setNullAt(int pos)
      Specified by:
      setNullAt in interface TypedSetters
    • setBoolean

      public void setBoolean(int pos, boolean value)
      Specified by:
      setBoolean in interface TypedSetters
    • setByte

      public void setByte(int pos, byte value)
      Specified by:
      setByte in interface TypedSetters
    • setShort

      public void setShort(int pos, short value)
      Specified by:
      setShort in interface TypedSetters
    • setInt

      public void setInt(int pos, int value)
      Specified by:
      setInt in interface TypedSetters
    • setLong

      public void setLong(int pos, long value)
      Specified by:
      setLong in interface TypedSetters
    • setFloat

      public void setFloat(int pos, float value)
      Specified by:
      setFloat in interface TypedSetters
    • setDouble

      public void setDouble(int pos, double value)
      Specified by:
      setDouble in interface TypedSetters
    • setDecimal

      public void setDecimal(int pos, DecimalData value, int precision)
      Description copied from interface: TypedSetters
      Set the decimal column value.

      Note: 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.

      Specified by:
      setDecimal in interface TypedSetters
    • setTimestamp

      public void setTimestamp(int pos, TimestampData value, int precision)
      Description copied from interface: TypedSetters
      Set Timestamp value.

      Note: 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.

      Specified by:
      setTimestamp in interface TypedSetters
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object