Skip to content

ColumnarToRowTransition Unary Physical Operators

ColumnarToRowTransition is a marker extension of the UnaryExecNode abstraction for unary physical operators that can transition from columns to rows (when executed).

Found in the source code

This allows plugins to replace the current ColumnarToRowExec with an optimized version.

ColumnarToRowTransition type is explicitly checked while ApplyColumnarRulesAndInsertTransitions physical optimization is executed (to skip insertTransitions).

ColumnarToRowTransition is used for InMemoryRelation to convertToColumnarIfPossible (when CachedBatchSerializer supports columnar input).


Whole-Stage Code Generation

ColumnarToRowTransition and ApplyColumnarRulesAndInsertTransitions physical optimization look similar to how Whole-Stage Code Generation works (with WholeStageCodegen and InputAdapter physical operators).