foxtail463 opened a new pull request, #65250: URL: https://github.com/apache/doris/pull/65250
Problem Summary: Outer join elimination uses fold-based null-reject inference to decide whether nullable-side rows from the current outer join can be filtered away. This check only needs slots from that join's nullable-side outputs, but the previous flow could also test unrelated predicate inputs. When a filter predicate references a mark slot produced by another join, folding that slot is useless for eliminating the current outer join and can be costly when the fixed-point rewrite batch revisits the same predicate multiple times. Solution: Add an API to infer null-rejecting slots only for a given target slot set, and use the current join's nullable-side outputs as that target in EliminateOuterJoin. Skip mark-join slots as inference targets, preserve the existing expression complexity limits, and avoid rewriting when the join type does not change. -- 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]
