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

public class FormulaColumnPython extends AbstractFormulaColumn implements FormulaKernelFactory
A formula column for python native code.
  • Method Details

    • create

      public static FormulaColumnPython create(String columnName, DeephavenCompatibleFunction dcf)
    • initDef

      public final List<String> initDef(@NotNull @NotNull Map<String,ColumnDefinition<?>> columnDefinitionMap)
      Description copied from interface: SelectColumn
      Initialize any internal column definitions from the provided initial. Any formulae will be compiled immediately using the QueryCompiler in the current ExecutionContext.
      Specified by:
      initDef in interface SelectColumn
      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: SelectColumn
      Returns true if this column is stateless (i.e. one row does not depend on the order of evaluation for another row).
      Specified by:
      isStateless in interface SelectColumn
    • isParallelizable

      public boolean isParallelizable()
      Description copied from interface: SelectColumn
      Returns 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 a StatelessSelectColumn. 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:
      isParallelizable in interface SelectColumn
      Returns:
      true if this column may be parallelized
    • getSourceDescriptor

      protected final FormulaSourceDescriptor getSourceDescriptor()
      Specified by:
      getSourceDescriptor in class AbstractFormulaColumn
    • copy

      public final SelectColumn copy()
      Description copied from interface: SelectColumn
      Create a copy of this SelectColumn.
      Specified by:
      copy in interface SelectColumn
      Returns:
      an independent copy of this SelectColumn.
    • createInstance

      public final FormulaKernel createInstance(Vector<?>[] arrays, QueryScopeParam<?>[] params)
      Specified by:
      createInstance in interface FormulaKernelFactory