Skip to content

Nondeterministic Expressions

Nondeterministic is an extension of the Expression abstraction for non-deterministic, non-foldable expressions.

Nondeterministic expressions should be initialized (with the partition ID) before evaluation.

Contract

Internal Interpreted Expression Evaluation

evalInternal(
  input: InternalRow): Any

See:

Used when:

  • Nondeterministic expression is requested to evaluate

Internal Initialize

initializeInternal(
  partitionIndex: Int): Unit

See:

Used when:

Implementations

Deterministic

Expression
deterministic: Boolean

deterministic is part of the Expression abstraction.

Final Method

deterministic is a Scala final method and may not be overridden in subclasses.

Learn more in the Scala Language Specification.

deterministic is always false.

Foldable

Expression
foldable: Boolean

foldable is part of the Expression abstraction.

Final Method

foldable is a Scala final method and may not be overridden in subclasses.

Learn more in the Scala Language Specification.

foldable is always false.

Initialize

initialize(
  partitionIndex: Int): Unit

initialize initializeInternal and sets the initialized internal flag to true.


initialize is used when:

  • ExpressionsEvaluator is requested to initializeExprs
  • GenerateExec physical operator is requested to doExecute