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).