pub fn execute_mutation_stream(
input: Arc<dyn ExecutionPlan>,
output_schema: SchemaRef,
mutation_ctx: Arc<MutationContext>,
mutation_kind: MutationKind,
partition: usize,
task_ctx: Arc<TaskContext>,
) -> Result<SendableRecordBatchStream>Expand description
Execute a mutation stream: collect all input batches, apply mutations, yield output.
This is the core logic shared by all mutation operators. It implements the “eager barrier” pattern:
- Pull ALL input batches to completion
- Convert to rows
- Acquire writer lock once for the entire clause
- Apply mutations per row
- Convert back to batches
- Yield output