gstvg commented on code in PR #21193:
URL: https://github.com/apache/datafusion/pull/21193#discussion_r3212664563


##########
datafusion/substrait/src/logical_plan/consumer/substrait_consumer.rs:
##########
@@ -594,6 +662,124 @@ impl SubstraitConsumer for DefaultSubstraitConsumer<'_> {
         let plan = plan.with_exprs_and_inputs(plan.expressions(), inputs)?;
         Ok(LogicalPlan::Extension(Extension { node: plan }))
     }
+
+    fn with_lambda_parameters(
+        &self,
+        lambda_parameters: &[Type],
+        input_schema: &DFSchema,
+    ) -> datafusion::common::Result<(Vec<String>, Self)> {
+        let (names, lambda_consumer) = 
self.lambda_consumer.with_lambda_parameters(
+            self,
+            lambda_parameters,
+            input_schema,
+        )?;
+
+        Ok((
+            names,
+            Self {
+                extensions: self.extensions,
+                state: self.state,
+                outer_schemas: 
RwLock::new(self.outer_schemas.read().unwrap().clone()),
+                lambda_consumer,
+            },
+        ))
+    }
+
+    fn lambda_variable(
+        &self,
+        steps_out: usize,
+        field_idx: usize,
+    ) -> datafusion::common::Result<Expr> {
+        self.lambda_consumer.lambda_variable(steps_out, field_idx)
+    }
+}
+
+/// Default implementation of lambda related methods of the 
[SubstraitConsumer] trait
+///
+/// Can be embedded into a custom [SubstraitConsumer] to implement them
+pub struct DefaultSubstraitLambdaConsumer {

Review Comment:
   Ah, I agree, they definetively should have a default impl returning an error 
to avoid a breaking change, thank you 
https://github.com/apache/datafusion/pull/21193/changes/2c234394f52d44a0f5b0011773f0ecd720a19625
   But even then, I still believe a public `DefaultSubstraitLambdaConsumer` is 
convenient, but yes, let's leave that for that maintainers, thanks



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to