Skip to content

Conversation

@Kontinuation
Copy link
Member

Closes #282

Emit SpatialJoinExec directly from logical plan instead of performing the error-prone physical -> physical plan translation (NestedLoopJoinExec/HashJoinExec -> SpatialJoinExec). We follow the standard practice of doing this in DataFusion, see https://github.com/apache/datafusion/blob/52.1.0/datafusion/core/tests/user_defined/user_defined_plan.rs

We have also revised the plan properties of SpatialJoinExec. The plan properties were all wrong for KNN join, this patch fixed that and make sure that we won't break the data distribution enforcement.

A working version

At least, it is working

Reworked compute_properties to faithfully reflect the actual properties of join outputs

docs(rust/sedona-spatial-join): annotate forked join_utils changes

Add tests for plan properties computation utilities

Reorganized planner code

More refactoring, now it is in a good state

docs(rust/sedona-spatial-join): document planner modules

Don't fallback to the default planner to generate nested loop join. Implement our own logical join filter -> physical join filter transformation

Skeleton for implementing projection pushdown and input swapping
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Revise compute_properties of SpatialJoinExec

1 participant