Commit 537fc50
fix: Force CollectLeft in physical planner for null-aware joins
Added an additional check in the physical planner to prevent null-aware
anti joins from using PartitionMode::Auto. This ensures they use
PartitionMode::CollectLeft from the start, before any optimizer passes.
The issue: Even with the fix in join_selection.rs, the physical planner
was creating null-aware joins with PartitionMode::Auto when
target_partitions > 1 and repartition_joins is enabled (common in CI).
The fix: Added `&& !*null_aware` condition to the partition mode
decision in the physical planner, forcing null-aware joins to skip
the Auto mode and go directly to CollectLeft.
This provides defense-in-depth:
1. Physical planner: Creates with CollectLeft initially
2. Join selection optimizer: Ensures it stays CollectLeft
3. Stream execution: Has per-partition tracking as backup
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <[email protected]>1 parent cbd1b15 commit 537fc50
1 file changed
+1
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1488 | 1488 | | |
1489 | 1489 | | |
1490 | 1490 | | |
| 1491 | + | |
1491 | 1492 | | |
1492 | 1493 | | |
1493 | 1494 | | |
| |||
0 commit comments