adriangb commented on code in PR #16589: URL: https://github.com/apache/datafusion/pull/16589#discussion_r2178261730
########## datafusion/physical-expr-adapter/src/schema_rewriter.rs: ########## @@ -97,13 +101,111 @@ impl<'a> PhysicalExprSchemaRewriter<'a> { &self, expr: Arc<dyn PhysicalExpr>, ) -> Result<Transformed<Arc<dyn PhysicalExpr>>> { + if let Some(transformed) = self.try_rewrite_struct_field_access(&expr)? { + return Ok(Transformed::yes(transformed)); + } + if let Some(column) = expr.as_any().downcast_ref::<Column>() { return self.rewrite_column(Arc::clone(&expr), column); } Ok(Transformed::no(expr)) } + fn try_rewrite_struct_field_access( Review Comment: That's expected: the point is that we need to implement struct casting as part of the cast operator in general, not as part of this PR. That's the point @alamb made in https://github.com/apache/datafusion/pull/16589#discussion_r2176012085. Is there any reason why we haven't done that since you've basically implemented it for `SchemaAdapter`? I'd think it's the same code. -- 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: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org