Class FormulaColumnPython
java.lang.Object
io.deephaven.engine.table.impl.select.AbstractFormulaColumn
io.deephaven.engine.table.impl.select.python.FormulaColumnPython
- All Implemented Interfaces:
ConcurrencyControl<Selectable>,Selectable,FormulaKernelFactory,FormulaColumn,SelectColumn
A formula column for python native code.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.select.SelectColumn
SelectColumn.ExpressionAdapter -
Field Summary
Fields inherited from class io.deephaven.engine.table.impl.select.AbstractFormulaColumn
ALLOW_UNSAFE_REFRESHING_FORMULAS, COLUMN_SUFFIX, columnDefinitions, columnName, columnSources, formulaFactoryFuture, formulaString, originalFormulaString, params, returnedType, usedColumnArrays, usedColumns, usesI, usesII, usesKFields inherited from interface io.deephaven.engine.table.impl.select.SelectColumn
ZERO_LENGTH_SELECT_COLUMN_ARRAY -
Method Summary
Modifier and TypeMethodDescriptionfinal SelectColumncopy()Create a copy of this SelectColumn.static FormulaColumnPythoncreate(String columnName, DeephavenCompatibleFunction dcf) final FormulaKernelcreateInstance(Vector<?>[] arrays, QueryScopeParam<?>[] params) protected final FormulaSourceDescriptorinitDef(@NotNull Map<String, ColumnDefinition<?>> columnDefinitionMap) Initialize any internal column definitions from the provided initial.booleanReturns true if this column may be parallelized.booleanReturns true if this column is stateless (i.e.Methods inherited from class io.deephaven.engine.table.impl.select.AbstractFormulaColumn
applyUsedVariables, createKernelFormulaFactory, getColumnArrays, getColumns, getDataView, getLazyView, getMatchPair, getName, getReturnedComponentType, getReturnedType, hasVirtualRowVariables, initInputs, isRetain, newDestInstance, newFlatDestInstance, onCopy, toString, validateColumnDefinition, validateSafeForRefreshMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.deephaven.engine.table.impl.select.FormulaColumn
getFormulaShiftedColumnDefinitions, getShiftedFormulaString, hasConstantArrayAccess, hasConstantValue, maybeGetFormulaColumnMethods inherited from interface io.deephaven.api.Selectable
declaredBarriers, isSerial, respectedBarriersMethods inherited from interface io.deephaven.engine.table.impl.select.SelectColumn
expression, initDef, maybeGetSourceColumn, newColumn, recomputeOnModifiedRow, withDeclaredBarriers, withRecomputeOnModifiedRow, withRespectedBarriers, withSerial
-
Method Details
-
create
-
initDef
public final List<String> initDef(@NotNull @NotNull Map<String, ColumnDefinition<?>> columnDefinitionMap) 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
-
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
-
isParallelizable
public boolean isParallelizable()Description copied from interface:SelectColumnReturns true if this column may be parallelized.Even if this method returns true, if the column is not
stateless, the engine does not parallelize evaluation. This situation can occur, for example if a Python formula is werapped by aStatelessSelectColumn. Therefore, this method should report true if the column can be parallelized independent of statelessness.Even if a column is not parallelizable, the engine may choose to evaluate it out-of-order and may not evaluate all rows individually.
- Specified by:
isParallelizablein interfaceSelectColumn- Returns:
- true if this column may be parallelized
-
getSourceDescriptor
- Specified by:
getSourceDescriptorin classAbstractFormulaColumn
-
copy
Description copied from interface:SelectColumnCreate a copy of this SelectColumn.- Specified by:
copyin interfaceSelectColumn- Returns:
- an independent copy of this SelectColumn.
-
createInstance
- Specified by:
createInstancein interfaceFormulaKernelFactory
-