Skip to main content

execute_mutation_stream

Function execute_mutation_stream 

Source
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:

  1. Pull ALL input batches to completion
  2. Convert to rows
  3. Acquire writer lock once for the entire clause
  4. Apply mutations per row
  5. Convert back to batches
  6. Yield output