zhangfengcdt opened a new pull request, #2864:
URL: https://github.com/apache/sedona/pull/2864

   ## Did you read the Contributor Guide?
   
   - Yes, I have read the [Contributor 
Rules](https://sedona.apache.org/latest/community/rule/) and [Contributor 
Development Guide](https://sedona.apache.org/latest/community/develop/)
   
   ## Is this PR related to a ticket?
   
   - Yes, and the PR name follows the format `[GH-XXX] my subject`. Closes 
#<issue_number>
   
   ## What changes were proposed in this PR?
   
   Adds broadcast spatial-join support for the Geography type with ST_Contains. 
JoinQueryDetector now plans BroadcastIndexJoinExec for ST_Contains(geog, geog) 
with a broadcast() hint (previously fell back to a row-by-row 
BroadcastNestedLoopJoin). The build side is indexed by each Geography's lat/lng 
bounding rect (full-longitude fallback at the antimeridian) and refined with 
the existing S2 Functions.contains. Non-broadcast Geography joins still fall 
through to row-by-row.
   
   Also fixes a Geography ST_Contains correctness bug uncovered during testing.
   
   Out of scope: range/partition joins, distance/KNN joins, and true 
split-at-±180 indexing for antimeridian polygons.
   
   EXPLAIN on SELECT … JOIN /*+ BROADCAST(b) */ b ON ST_Contains(a.geog, 
b.geog) now shows BroadcastIndexJoinExec.
   
   
   ## How was this patch tested?
   
   New tests:
     - common/.../WkbContainsRoundtripTest — 4/4
     - spark/common/.../BroadcastIndexJoinGeographySuite — 5/5 (both broadcast 
sides, antimeridian polygon, plan-choice + correctness)
   
   Regression (Spark 3.4 / Scala 2.12), 363/363 total:
     - S2Geography.*Test 83/83, Geography.*Test 33/33
     - BroadcastIndexJoinSuite 65/65, SpatialJoinSuite 160/160, 
GeographyFunctionTest 17/17
   
   
   ## Did this PR include necessary documentation updates?
   
   - No, this PR does not affect any public API so no need to change the 
documentation.
   


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