fn with_new_children()

in src/stage.rs [144:160]


    fn with_new_children(
        self: std::sync::Arc<Self>,
        children: Vec<std::sync::Arc<dyn ExecutionPlan>>,
    ) -> datafusion::error::Result<std::sync::Arc<dyn ExecutionPlan>> {
        // TODO: handle more general case
        assert_eq!(children.len(), 1);
        let child = children[0].clone();

        // as the plan tree is rearranged we want to remember the original partitioning that we
        // had, even if we get new inputs.   This is because RayStageReaderExecs, when created by
        // the RayDataFrame will need to know the original partitioning
        Ok(Arc::new(DFRayStageExec::new_with_properties(
            child,
            self.stage_id,
            self.properties.clone(),
        )))
    }