goutamadwant commented on code in PR #25009:
URL: https://github.com/apache/datafusion/pull/25009#discussion_r4060126866
##########
datafusion/physical-plan/src/projection.rs:
##########
@@ -673,20 +673,34 @@ impl ExecutionPlan for ProjectionExec {
metrics: _,
// Derived plan properties, recomputed on decode.
cache: _,
- // Derived metadata comparison, recomputed with the projector.
- overrides_metadata: _,
+ overrides_metadata,
} = self;
let projection_exprs = projector.projection().as_ref();
let input = ctx.encode_child(input)?;
let expr = ctx.encode_expressions(projection_exprs.iter().map(|p|
&p.expr))?;
let expr_name = projection_exprs.iter().map(|p|
p.alias.clone()).collect();
+ let output_schema = projector.output_schema();
+ // Keep inherited metadata self-contained, and retain empty overrides
Review Comment:
@gene-bordegaray “Self-contained” refers to restoring output field/schema
metadata even when the child does not preserve it. The child and expressions
still determine names, types, and nullability. I've clarified this boundary in
the description. let me know. 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]