Class SelectColumnWithDeclaredBarriers
java.lang.Object
io.deephaven.engine.table.impl.select.SelectColumnWithDeclaredBarriers
- All Implemented Interfaces:
ConcurrencyControl<Selectable>,Selectable,SelectColumn
A SelectColumn that declares the given barriers.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.select.SelectColumn
SelectColumn.ExpressionAdapter -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final SelectColumnThe select column that is being wrapped.Fields inherited from interface io.deephaven.engine.table.impl.select.SelectColumn
ZERO_LENGTH_SELECT_COLUMN_ARRAY -
Method Summary
Modifier and TypeMethodDescriptionstatic SelectColumnaddDeclaredBarriers(SelectColumn toWrap, Object... declaredBarriers) Add the given declared barriers to a SelectColumn.copy()Create a copy of this SelectColumn.Object[]The expression.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.@NotNull ColumnSource<?>Get aColumnSourcethat can be used to access the data on demand.@NotNull ColumnSource<?>Returns a lazily computed view of this column.Get a MatchPair for this column, if applicable.getName()Get the name of the resultant column.Class<?>Get the data component type stored in the resultant column.Class<?>Get the data type stored in the resultant column.booleanbooleanbooleanReturns true if this column uses row virtual offset columns ofi,iiork.initDef(@NotNull Map<String, ColumnDefinition<?>> columnDefinitionMap) Initialize any internal column definitions from the provided initial.initDef(@NotNull Map<String, ColumnDefinition<?>> columnDefinitionMap, @NotNull QueryCompilerRequestProcessor compilationRequestProcessor) Initialize any internal column definitions from the provided initial.initInputs(@NotNull TrackingRowSet rowSet, @NotNull Map<String, ? extends ColumnSource<?>> columnsOfInterest) Initialize the column from the provided set of underlying columns and row set.booleanisRetain()booleanReturns true if this column is stateless (i.e.The new column name, to be added to the new table.newDestInstance(long size) Create a newWritableColumnSource.newFlatDestInstance(long size) Create a newimmutableWritableColumnSource.booleanShould we ignore modified column sets, and always re-evaluate this column when the row changes?Object[]voidvalidateSafeForRefresh(@NotNull BaseTable<?> sourceTable) Validate that thisSelectColumnis safe to use in the context of the provided sourceTable.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.deephaven.api.Selectable
isSerialMethods inherited from interface io.deephaven.engine.table.impl.select.SelectColumn
withDeclaredBarriers, withRecomputeOnModifiedRow, withRespectedBarriers, withSerial
-
Field Details
-
inner
The select column that is being wrapped.
-
-
Method Details
-
addDeclaredBarriers
Add the given declared barriers to a SelectColumn.- Parameters:
toWrap- the SelectColumn to wrap with additional barriersdeclaredBarriers- the barriers to declare on the result- Returns:
- a new SelectColumn that respects the given barriers.
-
copy
Description copied from interface:SelectColumnCreate a copy of this SelectColumn.- Returns:
- an independent copy of this SelectColumn.
-
declaredBarriers
- Specified by:
declaredBarriersin interfaceSelectable- Returns:
- the barriers this selectable declares
-
initInputs
public List<String> initInputs(@NotNull @NotNull TrackingRowSet rowSet, @NotNull @NotNull Map<String, ? extends ColumnSource<?>> columnsOfInterest) Description copied from interface:SelectColumnInitialize the column from the provided set of underlying columns and row set.- Specified by:
initInputsin interfaceSelectColumn- Parameters:
rowSet- the base row setcolumnsOfInterest- the input columns- Returns:
- a list of columns on which the result of this is dependent
-
initDef
Description copied from interface:SelectColumnInitialize any internal column definitions from the provided initial. Any formulae will be compiled immediately using theQueryCompilerin the currentExecutionContext.- Specified by:
initDefin interfaceSelectColumn- Parameters:
columnDefinitionMap- the starting set of column definitions; valid for this call only- Returns:
- a list of columns on which the result of this is dependent
-
initDef
public List<String> initDef(@NotNull @NotNull Map<String, ColumnDefinition<?>> columnDefinitionMap, @NotNull @NotNull QueryCompilerRequestProcessor compilationRequestProcessor) Description copied from interface:SelectColumnInitialize any internal column definitions from the provided initial. A compilation request consumer is provided to allow for deferred compilation of expressions that belong to the same query.Compilations must be resolved before using this
SelectColumn.- Specified by:
initDefin interfaceSelectColumn- Parameters:
columnDefinitionMap- the starting set of column definitions; valid for this call onlycompilationRequestProcessor- a consumer to submit compilation requests; valid for this call only- Returns:
- a list of columns on which the result of this is dependent
-
getReturnedType
Description copied from interface:SelectColumnGet the data type stored in the resultant column.- Specified by:
getReturnedTypein interfaceSelectColumn- Returns:
- the type
-
getReturnedComponentType
Description copied from interface:SelectColumnGet the data component type stored in the resultant column.- Specified by:
getReturnedComponentTypein interfaceSelectColumn- Returns:
- the component type
-
getColumns
Description copied from interface:SelectColumnGet a list of the names of columns used in this SelectColumn. Behavior is undefined if none of the init* methods have been called yet.- Specified by:
getColumnsin interfaceSelectColumn- Returns:
- the columns used in this SelectColumn
-
getColumnArrays
Description copied from interface:SelectColumnGet 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.- Specified by:
getColumnArraysin interfaceSelectColumn- Returns:
- the list of column arrays used
-
getDataView
Description copied from interface:SelectColumnGet aColumnSourcethat can be used to access the data on demand.- Specified by:
getDataViewin interfaceSelectColumn- Returns:
- a
ColumnSource
-
getLazyView
Description copied from interface:SelectColumnReturns a lazily computed view of this column.- Specified by:
getLazyViewin interfaceSelectColumn- Returns:
- a lazily computed column source
-
getName
Description copied from interface:SelectColumnGet the name of the resultant column.- Specified by:
getNamein interfaceSelectColumn- Returns:
- the name of the column
-
getMatchPair
Description copied from interface:SelectColumnGet a MatchPair for this column, if applicable.- Specified by:
getMatchPairin interfaceSelectColumn- Returns:
- the MatchPair for this column, if applicable.
-
newDestInstance
Description copied from interface:SelectColumnCreate a newWritableColumnSource. The returned column source must be capable of handling updates.- Specified by:
newDestInstancein interfaceSelectColumn- Parameters:
size- A hint as to the number of rows that will be used- Returns:
- a new
WritableColumnSource
-
newFlatDestInstance
Description copied from interface:SelectColumnCreate a newimmutableWritableColumnSource. The returned column source should be flat, and need not handle updates.- Specified by:
newFlatDestInstancein interfaceSelectColumn- Parameters:
size- A hint as to the number of rows that will be used- Returns:
- a new
WritableColumnSource
-
isRetain
public boolean isRetain()- Specified by:
isRetainin interfaceSelectColumn- Returns:
-
validateSafeForRefresh
Description copied from interface:SelectColumnValidate that thisSelectColumnis safe to use in the context of the provided sourceTable.- Specified by:
validateSafeForRefreshin interfaceSelectColumn- Parameters:
sourceTable- the source table
-
isStateless
public boolean isStateless()Description copied from interface:SelectColumnReturns true if this column is stateless (i.e. one row does not depend on the order of evaluation for another row).- Specified by:
isStatelessin interfaceSelectColumn
-
hasVirtualRowVariables
public boolean hasVirtualRowVariables()Description copied from interface:SelectColumnReturns true if this column uses row virtual offset columns ofi,iiork.- Specified by:
hasVirtualRowVariablesin interfaceSelectColumn
-
recomputeOnModifiedRow
public boolean recomputeOnModifiedRow()Description copied from interface:SelectColumnShould we ignore modified column sets, and always re-evaluate this column when the row changes?- Specified by:
recomputeOnModifiedRowin interfaceSelectColumn- Returns:
- true if this column should be evaluated on every row modification
-
newColumn
Description copied from interface:SelectableThe new column name, to be added to the new table.- Specified by:
newColumnin interfaceSelectable- Specified by:
newColumnin interfaceSelectColumn- Returns:
- the new column name
-
expression
Description copied from interface:SelectableThe expression.- Specified by:
expressionin interfaceSelectable- Specified by:
expressionin interfaceSelectColumn- Returns:
- the expression
-
hasConstantArrayAccess
public boolean hasConstantArrayAccess()- Specified by:
hasConstantArrayAccessin interfaceSelectColumn
-
hasConstantValue
public boolean hasConstantValue()- Specified by:
hasConstantValuein interfaceSelectColumn
-
maybeGetSourceColumn
- Specified by:
maybeGetSourceColumnin interfaceSelectColumn
-
maybeGetFormulaColumn
- Specified by:
maybeGetFormulaColumnin interfaceSelectColumn
-
respectedBarriers
- Specified by:
respectedBarriersin interfaceSelectable- Returns:
- the barriers this selectable respects
-