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
Fields Modifier and Type Field Description static SelectColumn[]
ZERO_LENGTH_SELECT_COLUMN_ARRAY
Convenient static final instance of a zero length Array of SelectColumns for use in toArray calls. -
Method Summary
Modifier and Type Method Description default boolean
alwaysEvaluate()
Should we ignore modified column sets, and always re-evaluate this column (if appropriate)?default SelectColumn
alwaysEvaluateCopy()
Create a copy of this SelectColumn that always re-evaluates (if appropriate).SelectColumn
copy()
Create a copy of this SelectColumn.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.List<String>
getColumnArrays()
Get a list of the names of column arrays used in this SelectColumn.List<String>
getColumns()
Get a list of the names of columns used in this SelectColumn.default ColumnSource<Attributes.Values>
getConstantValueView()
Returns a SingleValueSource for this column.ColumnSource
getDataView()
Get aColumnSource
that can be used to access the data on demand.ColumnSource
getLazyView()
Returns a lazily computed view of this column.MatchPair
getMatchPair()
Get a MatchPair for this column, if applicable.String
getName()
Get the name of the resultant column.Class
getReturnedType()
Get the data type stored in the resultant column.List<String>
initDef(Map<String,com.illumon.dataobjects.ColumnDefinition> columnDefinitionMap)
Initialize any internal column definitions from the provided initial.List<String>
initInputs(Table table)
Initialize the SelectColumn using the input table and return a list of underlying columns that this SelectColumn is dependent upon.List<String>
initInputs(Index index, Map<String,? extends ColumnSource> columnsOfInterest)
Initialize the column from the provided set of underlying columns and index.boolean
isRetain()
WritableSource
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.
-