Interface IncrementalIndexRowSelector

All Superinterfaces:
ColumnInspector, Expr.InputBindingInspector
All Known Implementing Classes:
IncrementalIndex, OnHeapAggregateProjection, OnheapIncrementalIndex

public interface IncrementalIndexRowSelector extends ColumnInspector
Interface that abstracts selecting data from a FactsHolder
  • Method Details

    • getDimensions

      Returns list of IncrementalIndex.DimensionDesc for the row selector
    • getDimensionNames

      List<String> getDimensionNames(boolean includeTime)
      Returns list of dimension names for the row selector, optionally including the time column. If time is included, the order columns appear in this list will match getOrdering()
    • getMetricNames

      List<String> getMetricNames()
      Returns list of all metric column names for the row selector
    • getDimension

      @Nullable IncrementalIndex.DimensionDesc getDimension(String columnName)
      get IncrementalIndex.DimensionDesc for the specified column, if available, which provides access to things like DimensionIndexer and DimensionHandler as well as column capabilities and position within the row
    • getMetric

      @Nullable IncrementalIndex.MetricDesc getMetric(String s)
      Get IncrementalIndex.MetricDesc which provides column capabilities and position in the aggregators section of the row
    • getColumnFormat

      @Nullable ColumnFormat getColumnFormat(String columnName)
      Get ColumnFormat for a dimension, metrics, or time column, or null if the column does not exist
    • getOrdering

      List<OrderBy> getOrdering()
      Ordering for the data in the facts table
    • getTimePosition

      int getTimePosition()
      Position of the time column in getOrdering()
    • isEmpty

      boolean isEmpty()
      Are there any IncrementalIndexRow stored in the FactsHolder?
    • numRows

      int numRows()
      Number of rows in FactsHolder
    • getFacts

      FactsHolder getFacts()
      Get the FactsHolder containing all of the IncrementalIndexRow backing this selector
    • getLastRowIndex

      int getLastRowIndex()
      Highest value IncrementalIndexRow.getRowIndex() available in this selector. Note that these values do not reflect the position of the row in the FactsHolder, rather just the order in which they were processed
    • getMetricFloatValue

      float getMetricFloatValue(int rowOffset, int aggOffset)
      Parameters:
      rowOffset - row to get float aggregator value
      aggOffset - position of the aggregator in the aggregators array of the data schema
      Returns:
      float value of the metric
    • getMetricLongValue

      long getMetricLongValue(int rowOffset, int aggOffset)
      Parameters:
      rowOffset - row to get long aggregator value
      aggOffset - position of the aggregator in the aggregators array of the data schema
      Returns:
      long value of the aggregator for this row
    • getMetricDoubleValue

      double getMetricDoubleValue(int rowOffset, int aggOffset)
      Parameters:
      rowOffset - row to get double aggregator value
      aggOffset - position of the aggregator in the aggregators array of the data schema
      Returns:
      double value of the aggregator for this row
    • getMetricObjectValue

      @Nullable Object getMetricObjectValue(int rowOffset, int aggOffset)
      Parameters:
      rowOffset - row to get long aggregator value
      aggOffset - position of the aggregator in the aggregators array of the data schema
      Returns:
      long value of the aggregator for this row
    • isNull

      boolean isNull(int rowOffset, int aggOffset)
      Parameters:
      rowOffset - row to check for a aggregator value
      aggOffset - position of the aggregator in the aggregators array of the data schema
      Returns:
      is the value null for this row?