Skip to content

ExecutedCommandExec Physical Operator

ExecutedCommandExec is a leaf physical operator for executing runnable logical commands.

Creating Instance

ExecutedCommandExec takes the following to be created:

ExecutedCommandExec is created when BasicOperators execution planning strategy is executed (for RunnableCommand logical operators).

Node Name

nodeName: String

nodeName is the following (using the node name of the RunnableCommand):

Execute [nodeName]

nodeName is part of the TreeNode abstraction.

Executing Command

As a physical operator, ExecutedCommandExec use the sideEffectResult for execution:

Side Effect of Executing Command

sideEffectResult: Seq[InternalRow]

sideEffectResult creates a Catalyst converter for the schema.

sideEffectResult requests the RunnableCommand to execute and maps over the result using the Catalyst converter.

Lazy Value

sideEffectResult is a Scala lazy value to guarantee that the code to initialize it is executed once only (when accessed for the first time) and cached afterwards.

sideEffectResult is used for executeCollect, executeToIterator, executeTake, executeTail, and doExecute.