Interface ValueVector

All Known Subinterfaces:
MutableValueVector
All Known Implementing Classes:
Decimal, EpochDateTime, EpochDateTimeOffset, SelectedValueVector, UTF8String, ValueVector.LiteralValueVector

public interface ValueVector
Definition of a value vector. All values for one column in a TupleVector batch.
  • Field Details

  • Method Details

    • type

      ResolvedType type()
      Return type of vector values
    • size

      int size()
      Return size of vector
    • isNull

      boolean isNull(int row)
      Return if value at provided row is null
    • getString

      default UTF8String getString(int row)
      Get string at provided row.
    • getDateTime

      default EpochDateTime getDateTime(int row)
      Get date time at provided row
    • getDateTimeOffset

      default EpochDateTimeOffset getDateTimeOffset(int row)
      Get date time offset at provided row
    • getBoolean

      default boolean getBoolean(int row)
      Get boolean value for provided row
    • getInt

      default int getInt(int row)
      Get int value for provided row
    • getLong

      default long getLong(int row)
      Get long value for provided row
    • getDecimal

      default Decimal getDecimal(int row)
      Get decimal value for provided row
    • getFloat

      default float getFloat(int row)
      Get float value for provided row
    • getDouble

      default double getDouble(int row)
      Get double value for provided row
    • getAny

      default Object getAny(int row)
      Return value of provided row. NOTE! This method must not be used when checking if value is null. Use isNull(int).
    • getObject

      default ObjectVector getObject(int row)
      Return object for provided row
    • getArray

      default ValueVector getArray(int row)
      Return array for provided row
    • getTable

      default TupleVector getTable(int row)
      Return table for provided row
    • valueAsObject

      default Object valueAsObject(int row)
      Return value as object include null value. Note! This method differs from getAny(int) in that sense that this method converts the actual value to a boxed type and getAny(int) is the real accessor for the vectors actual type.
    • valueAsString

      default String valueAsString(int row)
      Return value as Java string for provided row
    • getPredicateBoolean

      default boolean getPredicateBoolean(int row)
      Get predicate boolean, ie. null is false
    • getCardinality

      default int getCardinality()
      Return the cardinality of this vector. Only applicable for boolean vectors. Used for predicates
    • literalObject

      static ValueVector literalObject(ObjectVector value, int size)
      Create a literal vector of type Column.Type.Object with provided value and size
    • literalObject

      static ValueVector literalObject(ObjectVector value, ResolvedType type, int size)
      Create a literal vector of type Column.Type.Object with provided value, type and size NOTE! This can create an object with a different type as the vector. This is used when having asterisk schemas and one is the planned type and the other is the runtime type.
    • literalArray

      static ValueVector literalArray(ValueVector value, int size)
      Create a literal vector of type Column.Type.Array with provided value and size
    • literalArray

      static ValueVector literalArray(ValueVector value, ResolvedType type, int size)
      Create a literal vector of type Column.Type.Array with provided value, type and size NOTE! This can create an array with a different type as the vector. This is used when having asterisk schemas and one is the planned type and the other is the runtime type.
    • literalTable

      static ValueVector literalTable(TupleVector value, int size)
      Create a literal vector of type Column.Type.Table with provided value and size
    • literalTable

      static ValueVector literalTable(TupleVector value, ResolvedType type, int size)
      Create a literal vector of type Column.Type.Table with provided value, type and size NOTE! This can create a table with a different type as the vector. This is used when having asterisk schemas and one is the planned type and the other is the runtime type.
    • literalTable

      static ValueVector literalTable(TupleVector... values)
      Create a literal vector of type Column.Type.Table with provided values
    • literalDateTime

      static ValueVector literalDateTime(EpochDateTime value, int size)
      Create a literal vector of type Column.Type.DateTime with provided value and size
    • literalDateTimeOffset

      static ValueVector literalDateTimeOffset(EpochDateTimeOffset value, int size)
      Create a literal vector of type Column.Type.DateTimeOffset with provided value and size
    • literalDecimal

      static ValueVector literalDecimal(Decimal value, int size)
      Create a literal vector of type Column.Type.Decimal with provided value and size
    • literalDecimal

      static ValueVector literalDecimal(Decimal... values)
      Create a literal vector of type Column.Type.Decimal with provided values
    • literalAny

      static ValueVector literalAny(int size, Object value)
      Create a literal vector of type Column.Type.Any with provided value and size
    • literalAny

      static ValueVector literalAny(Object... values)
      Create a literal vector of type Column.Type.Any with provided values
    • literalNull

      static ValueVector literalNull(ResolvedType type, int size)
      Create a literal null of provided value and size
    • range

      static ValueVector range(int from, int to)
      Create a range vector of value between from (inclusive) and to (exclusive)
    • literalInt

      static ValueVector literalInt(int value, int size)
      Create a literal int of provided value and size
    • literalLong

      static ValueVector literalLong(long value, int size)
      Create a literal long of provided value and size
    • literalFloat

      static ValueVector literalFloat(float value, int size)
      Create a literal long of provided value and size
    • literalDouble

      static ValueVector literalDouble(double value, int size)
      Create a literal double of provided value and size
    • literalBoolean

      static ValueVector literalBoolean(boolean value, int size)
      Create a literal boolean of provided value and size
    • literalString

      static ValueVector literalString(String value, int size)
      Create a literal string of provided value and size
    • literalString

      static ValueVector literalString(UTF8String... values)
      Create a literal string of provided value and size
    • literalString

      static ValueVector literalString(UTF8String value, int size)
      Create a literal string of provided value and size
    • empty

      static ValueVector empty(ResolvedType type)
      Constructs an empty ValueVector with provided type
    • toBoolean

      static boolean toBoolean(ResolvedType type, Object v)
      Cast provided value to boolean if possible else throws
    • toInt

      static int toInt(ResolvedType type, Object v)
      Cast provided value to int if possible else throws
    • toLong

      static long toLong(ResolvedType type, Object v)
      Cast provided value to long if possible else throws
    • toFloat

      static float toFloat(ResolvedType type, Object v)
      Cast provided value to float if possible else throws
    • toDouble

      static double toDouble(ResolvedType type, Object v)
      Cast provided value to double if possible else throws
    • toCsv

      default String toCsv()
      Return csv (tab separated) of this value vector
    • toCsv

      default String toCsv(int indent)
      Return csv (tab separated) of this value vector