haizhou-zhao opened a new pull request, #2841:
URL: https://github.com/apache/sedona/pull/2841

   ## Summary
   - Adds `RangeLeftOuterJoinExec`, a new physical plan node for non-broadcast 
LEFT OUTER spatial joins using range predicates (ST_Intersects, ST_Contains, 
etc.)
   - Reuses the existing partitioned inner spatial join infrastructure, then 
finds unmatched left rows via `subtractByKey` on unique row IDs and appends 
them with null-padded right columns
   - Updates `JoinQueryDetector` to route LeftOuter joins to the new node and 
auto-broadcast the right side when eligible
   - Previously, LEFT OUTER spatial joins without broadcast hints fell back to 
`BroadcastNestedLoopJoinExec` (cartesian product)
   
   ## Test plan
   - [ ] All 9 spatial predicates tested with both left and right dominant 
partitioning
   - [ ] Extra condition filtering (e.g., `ST_Intersects(...) AND df1.id > 
df2.id`)
   - [ ] Edge case: no matches (all right columns null)
   - [ ] Inner join result comparison (matched rows of left outer == inner join)
   - [ ] Swapped predicate arguments
   - [ ] SELECT * and SELECT COUNT(*) verification
   - [ ] Plan verification (`RangeLeftOuterJoinExec` appears in executed plan)
   - [ ] Existing `SpatialJoinSuite` tests pass (no regressions)


-- 
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]

Reply via email to