adriangb commented on code in PR #17371:
URL: https://github.com/apache/datafusion/pull/17371#discussion_r2323320054
##########
datafusion/physical-plan/src/joins/hash_join/exec.rs:
##########
@@ -837,7 +842,6 @@ impl ExecutionPlan for HashJoinExec {
)?,
// Keep the dynamic filter, bounds accumulator will be reset
dynamic_filter: self.dynamic_filter.clone(),
Review Comment:
> Since it's possible that subsequent optimization rules can break reference
integrity, does it make sense to preserve this unconditionally?
FWIW this should never cause incorrect results, just disable the
optimization (the filter never gets updated).
For `HashJoinExec` the dynamic filter and bounds accumulator go hand in
hand: it makes sense to copy them together.
> I wonder if in any case we can reset the bounds accumulator to
OnceLock::new() since it's lazily initialized during execute()
We could, but I'm not sure that's a case we'll ever hit. When would
`with_new_children` be called _after_ execution has started?
--
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]