Package com.illumon.iris.db.v2.select
Interface SelectColumn
- All Known Subinterfaces:
FormulaColumn
- All Known Implementing Classes:
AbstractFormulaColumn
,DhFormulaColumn
,FunctionalColumn
,MultiSourceFunctionalColumn
,NullSelectColumn
,NumbaFormulaColumn
,ReinterpretedColumn
,SourceColumn
,SwitchColumn
public interface SelectColumn
The interface for a query table to perform retrieve values from a column for select like operations.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final SelectColumn[]
Convenient static final instance of a zero length Array of SelectColumns for use in toArray calls. -
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
Should we ignore modified column sets, and always re-evaluate this column (if appropriate)?default SelectColumn
Create a copy of this SelectColumn that always re-evaluates (if appropriate).copy()
Create a copy of this SelectColumn.boolean
Should we disallow use of this column for refreshing tables? Some formulas can not be reliably computed with a refreshing table, therefore we will refuse to compute those values.Get a list of the names of column arrays used in this SelectColumn.Get a list of the names of columns used in this SelectColumn.default ColumnSource<Attributes.Values>
Returns a SingleValueSource for this column.Get aColumnSource
that can be used to access the data on demand.Returns a lazily computed view of this column.Get a MatchPair for this column, if applicable.getName()
Get the name of the resultant column.Get the data type stored in the resultant column.Initialize any internal column definitions from the provided initial.initInputs
(Table table) Initialize the SelectColumn using the input table and return a list of underlying columns that this SelectColumn is dependent upon.initInputs
(Index index, Map<String, ? extends ColumnSource> columnsOfInterest) Initialize the column from the provided set of underlying columns and index.boolean
isRetain()
newDestInstance
(long size) Create a newWritableSource
with sufficient capacity for the rows in the index.
-
Field Details
-
ZERO_LENGTH_SELECT_COLUMN_ARRAY
Convenient static final instance of a zero length Array of SelectColumns for use in toArray calls.
-
-
Method Details
-
initInputs
Initialize the SelectColumn using the input table and return a list of underlying columns that this SelectColumn is dependent upon.- Parameters:
table
- the table to initialize internals from- Returns:
- a list containing all columns from 'table' that the result depends on
-
initInputs
Initialize the column from the provided set of underlying columns and index.- Parameters:
index
- the base indexcolumnsOfInterest
- the input columns- Returns:
- a list of columns on which the result of this is dependent
-
initDef
Initialize any internal column definitions from the provided initial.- Parameters:
columnDefinitionMap
- the starting set of column definitions- Returns:
- a list of columns on which the result of this is dependent
-
getReturnedType
Class getReturnedType()Get the data type stored in the resultant column.- Returns:
- the type
-
getColumns
Get a list of the names of columns used in this SelectColumn. Behavior is undefined if none of the init* methods have been called yet.- Returns:
- the columns used in this SelectColumn
-
getColumnArrays
Get a list of the names of column arrays used in this SelectColumn. Behavior is undefined if none of the init* methods have been called yet.- Returns:
- the list of column arrays used
-
getDataView
Get aColumnSource
that can be used to access the data on demand.- Returns:
- a
ColumnSource
-
getLazyView
Returns a lazily computed view of this column.- Returns:
- a lazily computed column source
-
getConstantValueView
Returns a SingleValueSource for this column.- Returns:
- a SingleValueColumnSource
-
getName
String getName()Get the name of the resultant column.- Returns:
- the name of the column
-
getMatchPair
MatchPair getMatchPair()Get a MatchPair for this column, if applicable.- Returns:
-
newDestInstance
Create a newWritableSource
with sufficient capacity for the rows in the index.- Parameters:
size
- The number of rows to allocate- Returns:
- a new
WritableSource
with sufficient capacity for 'dataSubset'
-
isRetain
boolean isRetain()- Returns:
-
disallowRefresh
boolean disallowRefresh()Should we disallow use of this column for refreshing tables? Some formulas can not be reliably computed with a refreshing table, therefore we will refuse to compute those values. -
alwaysEvaluate
default boolean alwaysEvaluate()Should we ignore modified column sets, and always re-evaluate this column (if appropriate)? -
alwaysEvaluateCopy
Create a copy of this SelectColumn that always re-evaluates (if appropriate). -
copy
SelectColumn copy()Create a copy of this SelectColumn.- Returns:
- an independent copy of this SelectColumn.
-